Komentáře k článku

Znám jen PHP. Jak napíšu webovou aplikaci v Pythonu?

Jste otrávení z psaní webů v PHP a při posedávání v kavárnách slýcháte od svých kamarádek, že kdybyste se naučili Python, bude váš život krásnější, plnější, barevnější, prostě dokonalý od kořínků ke konečkům? Teď je ta pravá chvíle vykročit z komfortní zóny a zkusit to! Pojďme se podívat na to, jak v Pythonu začít s webem.

Zpět na článek

49 komentářů k článku Znám jen PHP. Jak napíšu webovou aplikaci v Pythonu?:

  1. Ondřej Mirtes

    Otázky
    > Jste otrávení z psaní webů v PHP?

    Ne

    > kdybyste se naučili Python, bude váš život krásnější, plnější, barevnější, prostě dokonalý od kořínků ke konečkům?

    Ne

    1. starenka

      Re: Otázky
      Radsi jezdit trabantem nez BMW? Ano
      Myslis si, ze trabant je nejlepsi auto na svete, protoze s nim jezdi vsichni tvoji kamosi? Ano.

      Aby to nebylo uplne k nicemu jako koment na kterej reaguju:
      python-pip nemusi bejt vzdycky v nejaky rozumny versi, takze sje imo lepsi nainstalovat python-setuptools a pomoci easy_install pip nainstalovat nejnovejsi a lehce upgradovtelnou versi

    2. Patrik Šíma

      Re: Otázky
      +1 ať si nikdo naivně nemyslí, že přechodem na jiný jazyk se nevyhne problémům. vždycky je zatím moře času a úsilí.

    3. viktor.stiskala

      Re: Otázky
      Autor článku to bere s nadhledem a rozhodně to nemá znamenat, že přechodem na jiný jazyk všechno půjde samo. IMHO článek jenom popisuje zkušenost autora o kterou se chtěl podělit.

      Já osobně jsem v PHP pracoval několik let a taky jsem nechápal proč někdo tak vychvaluje jiné jazyky (v té době nejvíce frčelo Ruby) a nadává na PHP. Žil jsem ve vlastním trochu omezeném světě a byl jsem do jisté míry spokojený se svým hlavním programovacím jazykem. K Pythonu jsem se dostal poprvé, když jsem v něm začal psát serverové skripty a přestal mi stačit Bash. O nějakou dobu později jsem se podíval na možnosti webových frameworků a začal se věnovat Pythonu naplno. V současné době je pro mě ale skoro utrpení se vracet ke starým PHP webům a snažit se tam něco upravovat. Chybí mi výrazové možnosti jazyka, 3rd party knihovny, jednotnost. To je ale jenom čistě moje zkušenost.

      Stejně tak když někdo píše články o jiných jazycích (např. http://bit.ly/12rDxyo), tak si z toho snažím vzít to zajímavé. Tím chci jenom říct, že když mi jednou bude nějaký jazyk vyhovovat více, pravděpodobně na něj přejdu, ale nemám důvod pod článkem sdílet komentáře podobného typu.

    4. Honza JavorekAutor příspěvku

      Re: Otázky
      Ten můj úvod byl spíš vtip ;-)

      Ondřeji, tím, že jsi odeskl začátek druhé věty, jsi navíc změnil její význam. Správně bys měl odpovídat na otázku, zda „při posedávání v kavárnách slýcháte od svých kamarádek, že kdybyste se naučili Python, bude váš život krásnější, plnější, barevnější, prostě dokonalý od kořínků ke konečkům“. No a pokud bys odpověděl „Ne“ na tohle, znamenalo by to pouze, že nemáš ty správné kamarádky ;-)

      1. Ondřej Mirtes

        Re: Otázky
        Můj komentář byl taky spíš vtip :) Ale ne úplně. Nevím, proč by se vývojář měl cítit blbě, když používá PHP, vyhovuje mu, zná všechny jeho zákoutí, vyzná se v ekosystému a slouží mu jako dobře nabroušená sekera. Nemám nic proti článku o Pythonu a přečtu si ho raději, než tisící nesmyslný test PHP frameworků, ale nevím, proč je potřeba se vymezovat proti PHP vývojářům.

        Vím, proč používám PHP a za svoji volbou si stojím. Nemám problém vyzkoušet a začít používat jiný jazyk, koncepty jsou všude stejné (jen se jinak jmenují) a řeší ty samé problémy. Bakalářku jsem napsal v Pythonu a JavaScriptu, hraju si s vývojem na iOS v Objective-C, na serveru mi běží jeden skript v Perlu pro synchronizaci kalendářů, který jsem našel na GitHubu a upravil si ho k obrazu svému.

        Ale z dlouhodobého hlediska tíhnu spíš ke staticky typovaným jazykům, protože v nich vidím dlouhodobou udržitelnost kódu. BMW mezi jazyky je pro mě Java :)

        1. Honza JavorekAutor příspěvku

          Re: Otázky
          Chápu, ale myslím, že kromě toho mého úvodu (souhlasím, je to malé popíchnutí) se nikde v článku neobjevuje podobné vymezování se oproti PHP, a to je prosím článek, kde je k tomu milion příležitostí. Proto beru tvou reakci jako „přecitlivělou“.

          Psal jsem to už na Facebook a nevím, jestli je to přístupné zvenčí – tak to sem okopíruji:

          Nikomu neříkám, že má PHP hned vyměnit za Python a už vůbec se o to nepokouším u nějakých hardcore bouchačů, kteří na blogísku rozebírají, jestli DI řeší lépe Nette nebo Symfony. Ten článek je pro všechny ostatní. PHP si můžeš zaměnit za „umím aspoň trochu programovat web, napsal jsem někdy index.php, abych si udělal include ‚menu.php‘ a teď uvažuju, co dál“. Programovací jazyk je jen nástroj a chtěl bych, aby tady byl takový úvod, který promění chuť si Python vyzkoušet v nějaké pěkné odpoledne, kdy si s tím člověk fakt pohraje. V komentářích se objevilo dost ohlasů ve stylu „a jak to rozjedu na svém Apachi vedle svých PHP projektů?“ Už to je pro mě úspěch

          Rád bych, abychom se tady měli rádi, abychom se třeba popichovali, ale abych neměl problém jít na pivo ani s PHPkářem, ani Rubystou. Proto nikdy nepřeložím http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/, v Česku by to skončilo katastrofou a zbytečně bych lidi poštval proti sobě navzájem. Podle mě to jde i jinak.

        2. Martin Kuchař

          Re: Otázky
          Proti PHP se vymazují ti, kteří jej neumí. Ve webových aplikacích je pro mne PHP tím BMW..

          1. Jan Bednařík

            Re: Otázky
            Proti PHP se vymezují ti, kteří zjistili, že věci se dají dělat jinak, pohodlněji a příjemněji. V PHP jsem programoval 10 let a troufám si tvrdit, že jsem ho uměl dobře. Za BMW jsem ho považoval taky, ale jen proto, že mi chyběl rozhled a zkušenosti s jinými jazyky a ekosystémy.

            1. Ondřej Melkes

              Re: Otázky
              Můžu se zeptat, které nástroje jsi při vývoji v PHP používal? A které nástroje používáš nyní? Jazyk, framework, ide, pomocné nástroje?

  2. roman

    grok
    neviem preco ste nespomenuli grok alebo plone (ked uz spominate django). Plone je pre zaciatocnika mozno trochu hard core, ale je dobre vediet ze je tu enterprise ready cms
    R.

    1. Honza JavorekAutor příspěvku

      Re: grok
      V originálu se autor o těchto nezmínil a já měl za to, že Plone je spíše o CMS, než o frameworku. Děkuji za doplnění!

    1. Ondřej Böhm

      Re: Python vedle PHP?
      Jednoduše je relativní pojem, ale jde to třeba pomocí modwsgi. Pokud používáte Apache s worker MPM nemusíte ani restartovat server při změně kódu.

      1. LH

        Re: Python vedle PHP?
        Jde mi o (virtuální) server, kde už běží běžné PHP, klasický LAMP, a kde už tak běží některé PHP aplikace. S celkovým nastavením PHP by se už tak nemělo vůbec hýbat, nechci nic pokazit…

        Ten mod_wsgi by asi měl dělat to, co chci. Nejsou s tím nějaké problémy, o kterých bych měl vědět? :-)

        1. Ondra

          Re: Python vedle PHP?
          V konfiguráku Apache stačí nastavit WSGIPythonPath na adresář s WSGI aplikací v Pythonu; zbytek konfiguráku se může věnovat třeba PHPčku…

  3. rikiless

    Odesíláte komentáře moc rychle po sobě. Zpomalte prosím.
    ja tiez nie, svet je s php frameworkami, composerom a dalsimi toolmi je dnes jednoduchsi. ale styl pisania clanku sa mi paci :) len tak dalej!

  4. diverman

    Cheetah
    Souhlasim s tim, ze python-cheetah je nejvetsi zlo. Vypada to, ze se na tom nekdo ucil python. Zkuste si precist .py soubor, ktery to vygeneruje. Takovej kod by nenapsal ani diletant. Bohuzel na strankach se uvadi, jak je „great and successfull“ a vetsina lidi tomu uveri.

    1. LH

      Re:
      Jako výhoda Pythonu čistě jako jazyka? Popíši, co se líbí mně:

      — Python je více konzistentní a čistý v názvech funkcí a podobných věcech.
      — Python je daleko stručnější, používá significant white spaces.
      — List/set/dictionary comprehensions.
      —V Pythonu se dobře pracuje s generátory, spousta nativních funkcí s nimi umí pracovat nebo je vytvářet.
      — Tam kde PHP používá až tři různé cykly (for, foreach, while), tam v Pythonu většinou stačí jeden for cyklus.
      — Python má tři základní struktur (seznam, množina a slovník), se kterými se dobře pracuje. V PHP se na vše používá array, což může být v některých případech zmatené.
      — Vše je objekt.
      — Já na Python přešel v době, kdy ještě PHP nemělo ani anonymní funkce, ale to už dnes odpadá. Ač nevím, jak moc už jsou v PHP rozšířené.

      1. Martin Kuchař

        Re:
        Tenhle příspěvek se mi moc líbí. Myslím, že ukazuje, že není lepšího a horšího jazyka, nýbrž jen jiných potřeb a pohledů programátora. Já dělám v PHP od verze 2. Prošel jsem kurzem Pythonu u MIT a vrátil se k PHP. Zatímco s body 1 a 2 souhlasím, právě body 3-7 se mi na Pythonu nelíbí a proto MNĚ osobně připadá PHP mnohem přehlednější a přímočařejší.

    2. Honza JavorekAutor příspěvku

      Re:
      Sepsání srovnání PHP s Pythonem, to zavání nikdy nekončící diskusí, která bude všelijaká, jen ne věcná :-) PHP a Python jsou také dvě trochu jiné věci – PHP je jazyk téměř výhradně pro web, Python se používá na desítky různých druhů aplikací (od skripty operačního systému přes desktopové aplikace, servery, weby, mobily, je to skriptovací jazyk Blenderu nebo LibreOffice…). Nemyslím, že se tyto dva jazyky musí nutně vůči sobě vymezovat. Nejlepší je, když si na to každý udělá svůj názor a sám si dokáže práci v obou vyzkoušet a říct si, co to přináší jemu osobně.

      Konfrontačnímu článku bych se tedy určitě vyhnul. Shrnout proč a na co je Python dobrý? Proč ne, díky za tip :-)

    1. Jaroslav Kubíček

      Re: pekne
      Nevím proč by tomu tak mělo být, já normálně pracují s Nette, ale nebrání mi to v tom, abych zkoušel ve volném čase i Python…

  5. Jaroslav Kubíček

    díky za tento článek! Jak je to s Apachem, když to pojedu přes WGSI, jak jednoduše reloadnu aplikaci, když dojde ke změně souboru?

  6. Honza Kral

    Framework pro zacatecniky
    Diky za clanek Honzo!

    Jen bych pridal radu kterou davam lidem kteri chteji zacit s Pythonem pro web: pouzijte Django.

    Ne proto, ze by to byla nutne nejlepsi volba na kazdy webovy projekt, ale proto, ze udela spousta rozhodnuti za vas a ty rozhodnuti budou „dost dobra“ (good enough) pro takrka libovolny webovy projekt. Po prvnim (klidne jen testovacim) projektu s Djangem pak budete mit lepsi predstavu o tom co je pro vas u frameworku dulezite a budete si moci vybrat zda zustat u Djanga nebo se poohlednout po necem flexibilnejsim (flask, bottle, pyramid, …).

    Zkratka vam umozni rychle zacit a neco tvorit – diky tomu ze ma vse potrebne jiz v sobe (orm, forms, http, sessions, auth, …) i diky velkemu mnozstvi materialu pro vsechny vykonostni kategorie.

    Full disclosure: Jsem core vyvojar Djanga a django pouzivam na vsechny sve webove projekty – nejsem nezaujaty.

  7. radek.zilka.3

    Free Hosting
    Když chci s něžím začínat, tak to nejraději využiju na nějaký malý web/aplikaci a hledám do začátku funkční free hosting, kde si můžu svoje věci veřejně vyzkoušet. Jak jsou na tom hostingy pro Python?

    1. Honza JavorekAutor příspěvku

      Re: Free Hosting
      O možnostech nasazení Python aplikace u nás a stručně i ve světě bude celý odstavec v druhé části článku.

  8. J.

    Namornici
    Kormidlujete tu od frameworku ku frameworku. Od jedneho super duper sexy dynamickeho jazyku k druhemu. Naucte sa dobre, .Net. Javu a spravite vsetko . Jaaaaj nie… to nie je nic pre vas, to nie je proste sexy. To je len pre enterprise lamy co si len pockaju na pravidelnu vyplatnu pasku. :-)

    1. Martin Putniorz

      Re: Namornici
      > Naucte sa dobre, .Net. Javu a spravite vsetko
      Na všechny šrouby taky není jeden šroubovák.
      > To je len pre enterprise lamy co si len pockaju na pravidelnu vyplatnu pasku.
      Proč je urážíte? Já takové lidi respektuji – baví je práce, která mě nebaví.

      Každý by si měl najít nástroj, který mu vyhovuje. A aby ho našel, musí si ho vyzkoušet. I pokud ho potom nebude používat, může mu to přinést zkušenosti, jaké by jinde nezískal.

  9. sveta.margetova

    Python
    Bolo zaujimave citat vasu diskusiu. Normalne mi to dalo aj zabrat. No my teraz v praci prechadzame zo Zend Frameworku na Django a ideme prepisat celu aplikaciu, neviete nam poradit ako na to? Ako s prepisom zacat, ci zacat navrhom od znovu a databazou? mne osobne sa python ovela viac paci a ovela viac mi vyhovuje ako PHP . Tesim sa na pokracovanie clanku

    1. Honza JavorekAutor příspěvku

      Re: Werkzeug
      Werkzeug je sada nástrojů okolo WSGI a práce s HTTP, nad kterou je postavený Flask. Oba projekty mají stejného autora (Armin Ronacher).

  10. Kaacz

    .. kdybyste se naučili Python, bude váš život krásnější, plnější, barevnější, prostě dokonalý od kořínků ke konečkům? ..
    Zkusil jsem jednou .. A UŽ NIKDY VÍCE! :)
    LOL, asi bych měl začít hulit… jinak tohle nedám…
    Na větší projekt je Python tragédie.. a na ladění taky .. už chápu, proč MythTV nefunguje pořádně ..
    1) zkuste zakomentovat podmínku => musíte posunout indent o jeden doleva .. po zrušení komentu opět indent vpravo .. VOSER!
    2) bez závorek se hůře hledá co k sobě patří .. a i inteligentní editor je bez závorek dost v loji. V Pythonu mi moc nepomáhá .. protože sám neví která bije .. prostě tregédie. :)
    Resume: všichni víme že hadí jazyk je špatný a Zmijozel je špatná kolej.. :)
    PS: jako jazyk pro výuku – OK, ale tam by měl zůstat zavřen .. :)

  11. Kaacz

    Re:
    Pro ujasnění: neznám PHP. Nedělám WEB podivnosti. Potřebuji skriptovací jazyk, na věci, na které mi nestačí bash/unix možnosti. Zatím jsem se vždy vrátil k Perlu. Jeho HASH pole jsou pro mne BMW. Programuje se to fakt jednoduše, neřeším blbosti jako indexy a hledání. Načtu do (hash arrays) strukturovaného stromu podivné konfigurace (Cisco router-switche, ACE balancery, Juniper firewall) a pak z nich vytvořím HTML přehledné a čitelné pro člověka. Obzvláště ten balancer je lahůdka – výstup v logické struktuře každého virtuálu. :)
    A vo vo vo tom to je… :)

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=8979