Historie a filozofie¶
Projekt BeeWare začal jednoduchou otázkou: Proč nejsou nástroje které jako vývojáři Pythonu používáme, se nezlepšují stejným tempem jako ostatní nástroje. technologií, které denně používáme?
Python se osvědčil jako velmi schopný jazyk – přístupný pro nováčky, ale výkonný v rukou odborníků. Python se rychle stává významnou součástí oblasti analýzy dat, vědeckých výpočtů a vývoje webových aplikací. Iniciativy jako Django Girls prokázaly, že pomocí Pythonu je možné poskytnout jednodenní školení, které seznamuje lidi bez programátorských zkušeností s Pythonem, a na konci dne účastníci vyvinuli a nasadili dynamický web založený na databázi, který byl nasazen na veřejně přístupném serveru.
Zkušenosti vývojářů, kteří píší v jazyce Python, však někdy více připomínají počátek 90. let než nové tisíciletí. Výchozí vývojové prostředí pro Python je stále konzolové okno o rozměrech 80x25. Pro uživatele, kteří přicházejí z prostředí Windows nebo Apple, kde jsou zvyklí na velmi detailní a dobře navržené grafické rozhraní, může být tento 30letý návrat do minulosti zcela cizí zážitek.
A ano, existují IDE (integrovaná vývojová prostředí), která poskytují nativní prostředí pro psaní kódu. Ale ty vyžadují, abyste ve velkém přijali způsob, jakým IDE nahlíží na program. projektu. Často do vývoje vnášejí tolik bolestí hlavy, kolik je jen možné. než řeší.
A tak tu máme zajímavý rozkol mezi "starou cestou" unixovým vývojem v konzolovém okně a "novým způsobem", kdy je vše v jednom. IDE.
Filozofie Unixu¶
Nemusí to však tak být. Základním principem filozofie Unixu je, že „každý nástroj dělá jednu věc, ale dělá ji dobře“. Jedná se o velmi silnou filozofii, která umožňuje sestavit extrémně výkonné řetězce nástrojů tím, že spojuje sadu extrémně specializovaných, nezávislých nástrojů.
Bohužel, většina nástrojů UNIXu si to vyložila tak, že to znamená také "všechny musí používat konzolové rozhraní". Nicméně v dokumentu není nic, co by UNIXu, že nástroje musí používat konzolové rozhraní. prostě se to tak vyvinulo.
Projekt BeeWare byl zahájen s předpokladem, že můžeme mít to nejlepší z toho. obou světů. Můžeme mít řetězec složitelných nástrojů, z nichž každý dělá jednu věc. dobře. Ale tyto nástroje mohou také vystavit svou funkčnost pomocí bohatého grafického uživatelského rozhraní.
Více než jen kód¶
Nejde však jen o kód. Úspěšný softwarový projekt vyžaduje dokumentaci, návrhářské dovednosti, zpětnou vazbu a hlášení chyb. Na adrese komunita BeeWare uznává, že všechny příspěvky jsou důležité - nejen ty, které přicházejí jako žádosti o stažení na GitHub.
I v tomto případě je snadné uvažovat o projektu ve vakuu, jako o součtu všech jeho částí. všech příspěvků. Ale tak to nikdy není. Projekt open source je o komunitu.
Rozmanitost a inkluze¶
Různorodá komunita je silná komunita. To znamená přijímat lidi všech úrovní zkušeností, ze všech prostředí, všech ras a vyznání, orientací a projevů. Projekt BeeWare se zavazuje rozvíjet a udržovat inkluzivní, rozmanitou a vstřícnou komunitu.
Na podporu toho máme otevřenou nabídku mentorovat kohokoli, kdo se chce zapojit jako přispěvatel, a kodex chování, který je přísně dodržován. Jakékoli zprávy o porušení tohoto kodexu chování – i ze strany zkušených členů komunity – budou brány s respektem a bude na ně odpovídajícím způsobem reagováno.
Zdravé a udržitelné¶
Důležité je také zajistit, aby komunita byla přístupná. udržitelná. To se bohužel stalo přijatelnou součástí Open Source. kultury, že "opravdové" projekty Open Source musí být vyvíjeny výhradně dobrovolníky. To působí jako bariéra vstupu pro mnoho skupin - např. Jediní lidé, kteří mohou trávit svůj volný čas dobrovolnictvím, jsou ti, kteří mají volný čas.
Často také vede k vyhoření a dalším problémům duševního zdraví u přispěvatelů. Skutečnost, že deprese, úzkost a vyhoření jsou v komunitách vývojářů softwaru tak časté, by neměla být považována za čestné vyznamenání nebo důkaz toho, jak oddaný může být vývojový tým. Je to problém, který je třeba řešit přímo a stejným způsobem, jakým by se řešila chyba v softwaru – okamžitými opatřeními a dlouhodobými plány na odstranění systémové příčiny problému.
Přestože si neuvěřitelně ceníme příspěvků dobrovolníků. také víme, že samotné dobrovolnické úsilí není cestou k rozvoji organizace. zdravé a udržitelné komunity. Z tohoto důvodu se finanční je finanční udržitelnost klíčovým faktorem při fungování společenství BeeWare. projektu. Jako komunita nepřehlížíme roli, kterou musí hrát peníze. v poskytování zdrojů, které lidem umožňují začít a pokračovat v rozvoji. přispívat. Jako komunita budeme poskytovat přijatelné mechanismy pro jednotlivcům smysluplně zpeněžit jejich práci, a to všude tam, kde je to možné. možné, odměňovat lidi za jejich práci - aniž by to bylo na úkor ideálů vývoje otevřeného kódu.
Cíl¶
Konečný cíl projektu BeeWare: Být schopen udělat pro mobilní a softwaru pro desktopové uživatele totéž, co Django pro web. softwaru - dát uživatelům do rukou sadu nástrojů a knihoven který jim umožní vyvíjet bohatá nativní uživatelská rozhraní a nasazovat je v prostředí, kde se nachází na svých zařízeních. To zahrnuje:
- Nástroje umožňující spouštění Pythonu na různých zařízeních,
- Nástroje pro zabalení projektu Pythonu tak, aby mohl běžet na těchto zařízeních,
- Knihovny pro přístup k nativním widgetům a funkcím zařízení,
- Nástroje, které pomáhají vyvíjet, ladit a analyzovat tyto projekty.
Cílem je, aby tato sada nástrojů byla dostatečně jednoduchá pro použití pro úplným nováčkům v prostředí podobném Django Girls; ale zároveň výkonný aby mohly být použity k vytvoření příštího Instagramu, Pinterestu nebo Disqus.
A co je nejdůležitější, vše chce realizovat jako komunita s otevřeným zdrojovým kódem. Vývojový proces Open Source se osvědčil jako nejvíce spolehlivý způsob vývoje robustního a spolehlivého softwaru a skutečnost, že se v něm k softwaru může přistupovat kdokoli, znamená, že každý může začít se stejnou sadou vynikajících nástrojů, ať už je to odborník nebo nadšený amatér.
Python všude¶
Moderní počítačový projekt nemůže ignorovat největší vývoj v oblasti výpočetní techniky. posledních 10 let. Python se pyšní tím, že je multiplatformním jazykem. Před 10 lety být multiplatformní znamenalo být dostupný pro Windows, MacOS a Linux. V dnešní době je mobilní výpočetní technika mnohem důležitější. Navzdory tomu neexistuje mnoho dobrých možností pro programování v jazyce Python na mobilních platformách a meziplatformní kódování pro mobilní zařízení. stále uniká.
Společnost BeeWare využívá mobilní a další nové platformy (jako jsou hodinky a hodinky). set-top-boxy) jako prvotřídního občana počítačového ekosystému - protože pokud lidé mají tato zařízení, proč by neměli mít možnost je používat. psát pro ně software v jazyce Python.
Rodilý všude¶
Pomocí motivů lze snadno dosáhnout multiplatformnosti. Je však snadné rozpoznat aplikace, které byly vytvořeny pomocí motivů - jsou to ty, které se nechovají zcela stejně jako ostatní aplikace. Widgety nevypadají úplně správně, nebo je v aplikaci pro OS X na okně lišta s nabídkou. Motivy mohou být docela blízko - ale vždy existují varovné signály.
Kromě toho jsou nativní widgety vždy rychlejší než tematické generické widgety. widget. Koneckonců, využíváte nativní schopnosti systému, které byly vyladěné a optimalizované, nikoliv kreslicí jádro, které bylo navrstveno na vrstvu. generického widgetu.
Motivy také postrádají mnoho výhod přístupnosti nativních platforem. Autoři moderních operačních systémů věnují spoustu času ladění přístupnosti pro lidi s postižením. se zhoršenou pohyblivostí, zrakem nebo schopností poznávání. Pokud používáte nativní widgety, můžete obvykle tyto možnosti získáte zdarma. Pokud widgety reimplementujete pomocí tématem, musíte také znovu implementovat dostupné funkce.
BeeWare používá nativní widgety a nativní funkce, nikoliv použití přístup k vývoji aplikací založený na tématech.
Nativní Python¶
BeeWare je také bezvýhradně „Python first“ framework. Máme rádi Python. Líbí se
nám, jak vypadá a jak funguje. Pokud Python není k dispozici jako prvotřídní
volba na konkrétní platformě, uděláme vše pro to, aby byl Python dostupný jako
vývojový jazyk. A když budeme mít příležitost přijmout idiom Pythonu pro API
nebo design, uděláme právě to. To znamená, že budeme používat generátory,
správce kontextu, asynchronní volání yield from a další, abychom poskytli
nejlepší nativní API Pythonu pro vývoj aplikací napříč platformami.
Díváme se také do budoucnosti - to znamená, že podporujeme Python 3. výhradně.
Rodilá zkušenost¶
Zkušenosti s používáním jakéhokoli nástroje začínají procesem instalace. Součástí filozofie společnosti BeeWare "Native everywhere" je přijímání vhodných řešení. nativních mechanismů pro instalaci. Pokud používáte nástroj v uživatelském prostoru, měl by vám být prezentován jako balíček, který je třeba nainstalovat do stejným způsobem, jakým byste instalovali jakýkoli jiný nástroj - ať už prostřednictvím aplikace Store, instalačním programem nebo prostým spustitelným balíčkem. Koncoví uživatelé by neměli vědět, že jste aplikaci napsali v jazyce Python.