Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Write once, run everywhere
Search
Yehor Nazarkin
August 12, 2013
Programming
0
6.3k
Write once, run everywhere
Доклад Игоря Новикова на kharkivpy #8
Yehor Nazarkin
August 12, 2013
Tweet
Share
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Flask, гордость и предубеждения
nimnull
0
330
Python non-mainstream web
nimnull
0
160
Агрегация и обработка статистики
nimnull
0
5.7k
GPU Computing in Python
nimnull
1
5.7k
To Flask or not to Flask
nimnull
5
640
MongoDB Без ORM
nimnull
0
310
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
関数実行の裏側では何が起きているのか?
minop1205
1
440
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
5
1.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
27k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
18k
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
350
AIコーディングエージェント(NotebookLM)
kondai24
0
100
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
130
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
俺流レスポンシブコーディング 2025
tak_dcxi
13
7.5k
Level up your Gemini CLI - D&D Style!
palladius
1
160
React Native New Architecture 移行実践報告
taminif
1
130
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
A designer walks into a library…
pauljervisheath
210
24k
Bash Introduction
62gerente
615
210k
How to Ace a Technical Interview
jacobian
280
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Thoughts on Productivity
jonyablonski
73
5k
Code Review Best Practice
trishagee
73
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Context Engineering - Making Every Token Count
addyosmani
9
450
The Cult of Friendly URLs
andyhume
79
6.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
- почем опиум для народа? (с) Остап Бендер Write once
run anywhere
Основные десктопные системы MacOS X Windows Linux
Виджетсеты платформ Carbon/Cocoa WinAPI Gtk+/Qt
Биндинги к Python PyObjC pywin32 PyGtk
Механизм работы биндингов Platform API Python native extension Python API
Native side Python side
Три независимых проекта, использующих платформенно-специфические биндинги: ! • на Windows
- pywin32 • на MacOS X - PyObjC • на Linux - PyGtk Самый надежный путь, но при этом самый затратный
Казалось бы, что может быть проще? Правильно выбранный тулкит и
мультиплатформенное приложение готово!
• Tkinter • PyQt • PyGtk • wxpython МУЛЬТИПЛАТФОРМЕННЫЕ ТУЛКИТЫ
Tkinter - стандартный тулкит для Python биндинг к Tcl/Tk
None
Внутренняя структура Tkinter Tkinter Native extension _tkinter TCL Tk Basic
platform API
Tkinter
PyQt
PyQt SWIG interfaces Native SWIG interfaces Qt library Basic platform
API Внутренняя структура PyQt
Tkinter PyQt
PyGtk
Native python extension Gtk library Basic platform API Внутренняя структура
PyGtk
None
Tkinter PyQt PyGtk
wxWidgets
wxpython SWIG interfaces Native SWIG interfaces wxWidgets Platform controls Внутренняя
структура wxPython
Tkinter PyQt PyGtk wxpython
"Что делать?" (с) и кто виноват :)
Abstract API PyObjC pywin32 PyGtk Возможный вариант создания полноценного мультиплатформенного
тулкита
None
Спасибо за внимание! И какие есть вопросы?