Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
6.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Write once, run everywhere
Доклад Игоря Новикова на kharkivpy #8
Yehor Nazarkin
August 12, 2013
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Flask, гордость и предубеждения
nimnull
0
350
Python non-mainstream web
nimnull
0
170
Агрегация и обработка статистики
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
330
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
380
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
220
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
570
Go 1.27 における memory allocation の高速化
andpad
0
320
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
490
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.8k
プロポーザルを書いてもらう
pvcresin
0
580
「人を評価する AI」の設計と実装
ryoyanara
0
240
Press start. Python's next generation.
willingc
PRO
3
130
Introducing Stack Pull Request in GitHub
kkamegawa
0
100
Hono + Inertia + React で LP を構築した話
oukayuka
2
170
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
690
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
The Pragmatic Product Professional
lauravandoore
37
7.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
Faster Mobile Websites
deanohume
310
32k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
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
Спасибо за внимание! И какие есть вопросы?