[python] Python na frontendu, Brython

Petr Messner petr.messner na gmail.com
Neděle Duben 24 11:19:30 CEST 2016


Ahoj, tak se taky zapojím do diskuze :)

> existenci transpilerů neberu jako důkaz, že JS je špatný jazyk, spíš naopak.

Situace s JS v prohlížeči je podobná tomu, jako kdyby bylo nutné, aby Python kód fungoval i v Pythonu 1.5. Myslím, že by to dopadlo mnohem hůře, než tohle transpilování Javascriptu :)

> JS můžete použít i pro desktopové appky (http://electron.atom.io)

Btw. jako příklad aplikace vytvořené v Electronu se mi líbí Avocode.

> Rozhodně mi přijde jednodušší použít JS na serveru než Python v browseru, ale to neznamená, že bych přestal používat Python :)

Python v browseru by sám o sobě asi fungoval, ale obával bych se, jak dobře by to šlo integrovat s JS knihovnami. Psát věci od začátku dnes nelze, pokud děláte něco netriviálního. 

> Závěrem: Kolem JS je taková aura, že je to prasečina, hipsteřina a seriózní programátoři nad tím ohrnou nos.

No já nevím, nabídky práce v Javascriptu (a to i skoro bez zkušeností, jen se znalostí knihoven) uvádějí tak o polovinu vyšší částku, než nabídky na C++, Python, Ruby... Seriózní programátor má jazyk jen jako nástroj, studium novinek z Githubu ani návrhové vzory typu Redux mu nedělají problémy a JS se naučí za víkend (dobře, všechny ty věci okolo pak za měsíc). Nebo "seriózní" snad znamená, že si někdo stále jede svůj framework z roku 2005 a mezitím se naučil jQuery? 

Někdo tu psal o tom, že překládat Shakespeara člověk taky může leda tak do mateřštiny a tudíž skuteční polygloti neexistují - a i programovací jazyk může člověk dobře zvládat jen jeden. No, já bych raději spolupracoval s lidmi, co si i za hranicemi zvládnou zařídit, co potřebují, a s někým hodně z východu se domluví aspoň rukama a nohama, než s někým, kdo raději nikam ani nejede. Pokud budu publikovat na github kód v jazyce, kterým nevládnu moc najisto, tak si holt zařídím code review. Ale jinak mám (a chci mít) horší problémy, než něco s nějakým konkrétním jazykem. Stejně, při studiu lepší VŠ těch jazyků taky vystřídáte skoro deset. 

Jinak jak to třeba děláme my - Javascript je fajn na webu, ale přeci jen více věřím Pythonu. Má predikovatelnější sort, hezčí výjimky a tak :) Takže node.js jen dělá server-rendering (React) a správu sessions a všechny business věci vyřizuje přes nějaké API s Python službou. Možná se tomu říká microservices. Má to pro nás obrovské výhody v lepší testovatelnosti, geo-distribuovatelnosti, agilnějším vývoji...

Takže Python je ok, Javascript je ok, a všechno se zesložiťuje, aby to bylo jednodušší :) 

Petr


> Tom
> 
>> 23. 4. 2016 v 10:47, Ken Mijime <kenaco666 na gmail.com>:
>> 
>> "Seriozní" ak myslíš korporat tak ten obvykle fičí práve na legacy kode, transpileroch a oldschool kode. Byť trendy je drahé!
>> 
>>> On 23.04.2016 10:34, Jan Bednařík wrote:
>>> Ono to není zas tak růžové, že by všichni přecházeli z CoffeeScriptu, TypeScriptu, apod. na čístý ES2015 + Babel. Lidi jsou zvyklí, že JS už nikdo nepíše. Je to hrozně         old-school a vůbec to není trendy. Seriozní projekty dneska všechny frčí na js2js: https://eleks.github.io/js2js/
>>> 
>>> Honza
>>> 
>>> 2016-04-23 8:59 GMT+02:00 Honza Javorek <mail na honzajavorek.cz>:
>>>> V JS vznikly transpilery hlavně proto, že jazyk zaostával vývoj své vlastní komunity. CoffeeScript, TypeScript, Dart, kdovíco, se pak snažily dohnat chybějíci syntactic sugar a fičury. CS byl asi nejpoužívanější a třeba v Apiary v něm máme podle mě 80 % codebase, byla to děsná móda a hlavně se to lidem jako třeba já, Pythoňák, nebo Rubystům, psalo mnohem snáz. S příchodem specky ECMAScript 6 (přejmenovaného na ES2015, protože chtějí vydávat specku snad každý rok nebo tak něco) ale komunita hromadně z transpileru prchá a migruje na tohle, případně na transpiler z ES2015 (tzn. JavaScriptu budoucnosti) do ES5 (tzn. JavaScriptu přítomnosti), zvaný Babel. Transpilery budoucnost už postrádají, většinu jejich výhod vyzobal samotný JS ve svých nových verzích. Sice je pořád plný chlupatých závorek, z nichž se nám Pythoňákům můžou chlupy ježit, ale díky jiným syntactic sugar srandám to není až taková super pruda to psát a člověku nepřijde, že to je úplně matlácký jazyk. Když to není frotnend ale server, tak máš navíc Node.js kde je aspoň minimální základní knihovna (takže nepotřebuješ isArray nebo left pad nebo co jsou ty největší skandální npm balíčky teď - ty lidi používají kvůli browseru, ne kvůli serveru) a už se to dá aspoň trochu používat.
>>>> 
>>>> Stejně bych raději psal Python, ale jen jsem chtěl napsat, že se to s tím JS lepší a celkem se to dá, na serveru aspoň teda. A jelikož si připadám jako JS insider na Py diskusi, chtěl jsem vám osvětlit ty věci kolem transpilerů (když už se na ně zavedla řeč).
>>>> 
>>>> Čau,
>>>> Honza
>>>> 
>>>> 
>>>> 2016-04-22 19:48 GMT+02:00 Libor Jelínek <ljelinek na virtage.com>:
>>>>> Ahoj pánové!
>>>>> Já bych taky s dovolením přispěl svým názorem: JS je fakt hrozný a proto je pro něj tolik transpilerů asi. Osobně se JS vyhýbám obloukem :-)
>>>>> 
>>>>> V Java světě, odkud pocházím, jsou transpilery do Javy nesmírně populární a potvrzuju, že výborně použitelné. Appky jakoby desktopové plné formulářů, záložek, tiskových sestav, oken ap. by jen v JS snad ani psát nešli.
>>>>> 
>>>>> Pracoval jsem s hodně velkými složitými appkami napsanými ve SmartGWT/Vaadin (vše na GWT) a Eclipse RAP. Četl jsem dost článku jak si třeba Dropbox tým chroctá, když přesali svůj web UI do CoffeScriptu, MS jakýsi web do TypeScriptu ap.
>>>>> 
>>>>> Úžasný mi přijde v tomhle oboru "štítím se JS" přijde Google Dart. Pro GWT existoval Python port Pyjamas, který ale už je asi mrtvý. Na větší webový projekt bych určitě transpiler zvážil. (Toto od Javascripterů asi schytám...)
>>>>> 
>>>>> Hezký víkend!
>>>>> Libor
>>>>> _______________________________________________
>>>>> Python mailing list
>>>>> python na py.cz
>>>>> http://www.py.cz/mailman/listinfo/python
>>>>> 
>>>>> Visit: http://www.py.cz
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Python mailing list
>>>> python na py.cz
>>>> http://www.py.cz/mailman/listinfo/python
>>>> 
>>>> Visit: http://www.py.cz
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>> 
>>> Visit: http://www.py.cz
>> 
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>> 
>> Visit: http://www.py.cz
> 
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> Visit: http://www.py.cz
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20160424/2037e201/attachment.html>


Další informace o konferenci Python