Skynette – projekt fiktivního pivovaru jako tutoriál pro pokročilé
- chemix
- Nette Core | 1310
Ahoj, minulý týden proběhl 5. ročník Nette Camp a tématem poradního kruhu, který se na místě konal, bylo co by mohlo vzniknout ku pomoci rozvoje frameworku a vzdělávání kolem něj.
Výsledkem bylo několik bodů, které se defakto točili kolem sdílení „jak na to“. Výsledkem bylo zaměřit se na rozvoj juniora v mediora. Sdílet jak na složitější aplikace, o kterých v dokumentaci není psáno. Jak pokračovat a co refaktorovat pro průchodu Quick Startem.
Ukázat takové ty best practice z praxe.
Při diskuzi jak něco takového tvořit padla myšlenka více-dílného seriálu, který by na „reálné“ aplikaci ukazoval postupný návrh, refactoring, best practice, nebo i různé přístupy k problému.
Je nám jasné, a i na místě jsme si to ověřili, že co člověk, to názor. Budem se snažit dané téma vždy konzultovat s vícero vývojáři a testovat na dobrovolnících. Proto teď hledáme členy teamu co by se rádi do projektu zapojili.
Výsledkem
chceme aby vznikl několika dílný seriál o tvorbě webové stránky, kterou budem postupně rozšiřovat a budem si na ni ukazovat jak dané zadání od klienta rozeberem, navrhnem a naprogramujem. Proto, abychom nedělali další blog nebo eshop, jsme se dopracovali k myšlence fiktivního pivovaru. Tam začnem s jednoduchou prezentací pivovaru a postupně budem pracovat na dalších modulech pro B2C nebo B2B. Nezapomenem na API, ACL, ORM, DDD, Compiler Extension, Webpack, apd…
nápadů je hodně
Seriál by měl vycházet jednou za 14. dní. Nejprve v češtině a během
týdne by měl vzniknout překlad do angličtiny.
Během 14. dnů vznikne kus kódu, popis v češtině, a proběhne testování
jak textu tak kódu. Vývoj budem řešit na nette foru, slacku, trellu, google
documentech a githubu.
Návod bude součástí dokumentace (git) a představení na blogu.
Každý díl by měl být cca na max. hodinku programování.
Hledáme
aktivní testery, nápady, vývojáře, češtináře, angličtináře, grafiky, ilustrátory, prostě kohokoli, kdo by se rád zapojil.
Byl bych rád, aby toto vlákno bylo inspirací, proto pokud vás napadá co by „komplikovaná“ aplikace z praxe určitě měla obsahovat, napište to sem. Nebo ještě lépe, pojďme to sepisovat primárně v angličtině do anglické verze tohoto postu
Chci pomoci, co dál?
napiš email na hello@honzacerny.com
subject: „Skynette – chci pomoci“
text: napiš s čím bys chtěl pomoci
pokud neodpovím do týdne aspoň „OK“, tak to asi zapadlo do spamu, tak mi zkus napsat nějak jinak (777 148 481)
Nápady na témata
postupně doplňuji
- ORM – Doctrine – Nettrine
- Router – Static Router
- Persistentni parametr
- simple prihlasovani – acl
- rozsirovani sablon
- webpack
- components
- compiler extension
- vrstvy modelu – best practice, DDD
- generator souboru – yeoman?
- testy
- folder structure
- vue, react, svelte ukázka začlenění do projektu
- jazykové mutace
- přihlašování pomocí google/facebook pro veřejnost
Editoval chemix (30. 8. 2019 8:33)
- Michal Hlávka
- Člen | 190
Napad je to dobrej a chapu ze vymyslet neco noveho je vetsi zavaba, ale nejsou v komunite Nette dulezitejsi veci? Dokumentace, clanky ohledne migrace na 3.0 atp? A pak delat serial? Hledat radsi anglictinare co prepisou dokumentaci do anglictiny?
- Felix
- Nette Core | 1196
Michal Hlávka napsal(a):
Napad je to dobrej a chapu ze vymyslet neco noveho je vetsi zavaba, ale nejsou v komunite Nette dulezitejsi veci? Dokumentace, clanky ohledne migrace na 3.0 atp? A pak delat serial? Hledat radsi anglictinare co prepisou dokumentaci do anglictiny?
Dokumentaci se venuji. Mohl by jsi mi napsat alespon 10 veci co te tam trapi, nenasel jsi, jsou spatne nebo stoji za vetsi zdokumentovani? Dekuji.
- chemix
- Nette Core | 1310
@MichalHlávka urcite, ale jak pises je vetsi zabava delat neco noveho, a open source z meho pohledu je hodne o zabave, preci jen tomu davame volnej cas a ten vnimam jako zabavu ;-)
Jen abych nebral ten tvuj post jako flame,
- co ti chybi na dokumentaci? Tento tutorial bude prave v dokumentaci, takze ji budem rozsirovat a pracovat na ni. Budem davat veci vice do souvislosti z pohledu celkove app. Me to prijde jako super rozvoj dokumentace.
- clanky ohledne migrace na 3.0 pripravuje DG a budou vychazet nezavisle na tomto serialu, jen pokud se zeptam s cim jsi pri migraci mel potize? ja zmigroval za den projekt jen pomoci Tracy hlasek. Ano bylo by super pokud by vznikl na strance https://doc.nette.org/…tions/to-3-1 dokument, ktery by sjednotil mnohe forum-posty od DG. Verim, ze se ho brzy dockame. IMHO: Problem prechodu je imho ze spousta balicku jeste na NF3 neni pripravena. Sam jsem behem upgradu musel psat dvoum autorum u release nove verze.
- Hledat anglictinare co prepise dokumentaci? https://doc.nette.org/en/ co v CZ je a v EN neni? Navic jak pisu zde, tak hledam lidi co nam s prekladem radi pomuzou a nikde neni psano, ze se po rozepsani treba vice zapoji i do jineho obsahu nez jen tutorial.
zaroven bych tenhle post nechtel zanaset vecma co pises. Prosim pokud se k tomu chces vyjadrit, zaloz k tomu samostatne posty. „Co mi chybi v dokumentaci“, „Narazil jsem pri upgrade na NF3 na XX problem“, „Chci pomoci s prekladem ceske dokumentace, kde zacit“.
Doufam, ze chapes me duvody.
- chemix
- Nette Core | 1310
Přidávejte i nápady na témata
zajimave, vice krat opakovane a dulezite doplnim do zahlavi
Co jsme se bavili tak mam par z bloku sepsanych
- ORM – Doctrine – Nettrine
- Router – Static Router
- Persistentni parametr
- simple prihlasovani – acl
- rozsirovani sablon
- webpack
- components
- compiler extension
- vrstvy modelu – best practice, DDD
- generator souboru – yeoman?
- testy
- folder structure
Editoval chemix (30. 8. 2019 8:31)
- TheOtherGuy
- Člen | 27
Pridal bych jeste pouziti nejakeho FE frameworku, sice chapu ze Nette ma svoje Latte, ale urcite by bylo fajn videt jak pouzivaji profici v Nette treba Vue nebo React
- Gappa
- Nette Blogger | 208
chemix napsal(a):
@ic proto ten otaznik, nejaky jiny napad? jako ideal by asi byl nejakej plugin do PhpStormu… ale…
Možná hloupý dotaz, ale jaké soubory by se tím měly generovat? :) Nebo je to něco na způsob nějakého init scriptu pro vytvoření všeho potřebného pro aplikaci?
Pokud jsem se trefil, nedalo by se na to použít tenhle balíček (zatím jsem ale nezkoušel)?
Osobně nerad opouštím php ekosystém, když existuje nástroj napsaný v něm, občas ale není zbytí :)
Editoval Gappa (29. 8. 2019 16:49)
- chemix
- Nette Core | 1310
@Gappa imho tohle udela jen to ze pomuze sestavit neon pro config behem instalace balicku.
jde mi o to ze obcas by se hodilo napsat neco jako „magic create component admin/login-form“ a ono by to vytvorilo zakladni soubory namespace, class names apd… pripadne „magicmore create component admin/login-form“ a ono by te to provedlo nejakym step by step pruvodcem tech zakladnich veci na co se muzem ptat a predpripravit … ale tuhle cast vidim jako hodne velkej bonbonek na dorte … v seznamu jsou mnohem dulezitejsi veci…
Editoval chemix (29. 8. 2019 17:06)
- CuchulainMacLugh
- Člen | 18
TheOtherGuy napsal(a):
Pridal bych jeste pouziti nejakeho FE frameworku, sice chapu ze Nette ma svoje Latte, ale urcite by bylo fajn videt jak pouzivaji profici v Nette treba Vue nebo React
Vue se mi líbí, každopádně Honza Tvrdík bude stejně prosazovat Svelte :-)
- TheOtherGuy
- Člen | 27
CuchulainMacLugh napsal(a):
TheOtherGuy napsal(a):
Pridal bych jeste pouziti nejakeho FE frameworku, sice chapu ze Nette ma svoje Latte, ale urcite by bylo fajn videt jak pouzivaji profici v Nette treba Vue nebo React
Vue se mi líbí, každopádně Honza Tvrdík bude stejně prosazovat Svelte :-)
Tak to bysme nikdy snad nezacali s nicim kdybysme porad cekali na novejsi technologie :) Svelte je zajimavy, ale zatim hodne okrajovy a jeho hlavni vyhodu vidim spis v embedded zarizenich nez na klasicky web development.
- ic
- Člen | 430
@chemix tak podle toho podrobnější rozepsání k čemu yeoman už chápu. To jen jsem byl špatně nastaven podle poslední přednášky o použití yeoman-u ke generování statických souborů (které pak můžou web spustit z libovolného hostingu i statických souborů či třeba localhostu) s tím, že všechna logika a funkce se sází skrz APIčka a javascript. No a přesto, že to zní velmi atraktivně přednáška byla o tom kolik je tam překážek a že to není jen tak.
- David Grudl
- Nette Core | 8218
- použití nějakého CSS frameworku pro rychlé prototypování + administraci
- určitě by bylo fajn dávat důraz na dobrou použitelnost a UX, počínaje vhodnýma textama u formulářů, flashMessage() atd
- zmiňovat bezpečnostní rizika
- chemix
- Nette Core | 1310
Cilime i na zahranicni ctenare takze po velkem hlasovani zda doctrine nebo nextras orm tak jsme se dohodli ze primarne doctrine.
Ale imho bych v pokrocilejsich clancich chtel ukazat praci s vice DI kontajnery a muzem tam ukazat i snadne pouziti jinych db vrstev… prave treba nextras
Na nette database je tu Quick start
- F.Vesely
- Člen | 369
Hlavne prosim ty testy. Myslim, ze tim hodne lidem pomuzete.
Vsude jsou totiz testy typu kalkulacka, kde je to vsem jasne, ale pak v praxi jsou v haji. Nevedi jak testovat tridu s pripojenim do databaze, pres api, atd. Jestli a jak testovat presentery. No vsak to znate. :)
- neznamy_uzivatel
- Člen | 115
chemix napsal(a): … Ale imho bych v pokrocilejsich clancich chtel ukazat praci s vice DI kontajnery a muzem tam ukazat i snadne pouziti jinych db vrstev… prave treba nextras
Tohle by bylo fakt super :)
Editoval neznamy_uzivatel (1. 9. 2019 12:23)
- ic
- Člen | 430
Fajn by byl Bootstrap 5 … pokud by už do té doby tedy vyšel :D . Kodér co to sleduje pořád čte o tom co tam bude a co tam nebude oproti verzi 4 a je vypadá to na super změny… jen zatím není ani beta, takže čekáme.
A sice by to byl taky docela experiment, ale AMP first web by nemusel být špatný. Co tak slýchávám, tak největší problém AMP je že lidi už weby mají a museli by dělat další/zcela novou verzi. Ale současně vždy říkají „až budu dělat nový web… začnu s AMP“. Akorát nevím do jaké míry by to byl dobrý příklad když nesmíte použít javascript a tedy žádné validace formulářů u klienta a další věci.
- Pavel Janda
- Člen | 977
Skělej nápad, super!
Přimlouval bych se za psaní pouze anglické verze bez českého překladu. :)
- vojtamares
- Člen | 26
chemix napsal(a):
K tomu css, premyslim zda resit neco jineho nez bootstrap 4?
Par adminu na 4 open/free jsou
Alternativy: purecss, foundation, bootstrap 3 (lte admin) “takove ty utility tridove”
Vrátím se tady k CSSku. Nahoře vysoko nad tímto postem jsou zmiňované frontend frameworky, padlo tam jméno VueJS, což je super. Ale přijde mi že to zavání fullstackem a pokud to má být seriál jak z juniora (PHP) udělat mediora (PHP) tak Vue bych nechal na úplný konec jako třešničku na dort, pokud na něj vůbec dojde.
Osobně bych začal nějakým předem zkompilovaným frameworkem (tj. jen CSS popř. JS bez webpacku apod.) a pak bych pokračoval refactoringem k Webpacku například (ano, jeden díl prostě bude jen o tom jak nastavit webpack :D )
Na druhou stranu když máme Nette, pojďme použít sílu snippetů a zkusit třeba Naju od Jirky Pudila. Osobně jsem její fanda protože nepoužívá jQuery a když už jsme u něj, šel bych do TailwindCSS (https://tailwindcss.com/) které je taky bez jQuery, Bootstrap 5 to sice slíbil, že bude bez něj, ale ten je v nedohlednu a zároveň je už celkem tlustej.
Navíc věc, je tu věc pro kterou má Tailwind přímo podporu – webpack a pak třešnička na dort a to že je kompatibilní rozšíření které prochází šablony (vue, html u v JS světě) a kouká které třídy používáte a které ne a ty které ne, potom vyhodí při kompilaci assetů, takže člověk dostane nějakou tu optimalizaci navíc celkem za nic, jen proto že přidá .latte masku <3
Zároveň Vue umí stavět projekty s Tailwild ruku v ruce, takže následná migrace by nemusela být taková bolest :D
Dejte Tailwind šanci i na Vašem projektu a pokud nasadíte do 15 minut od přečtení, přijdu a zkompiluju vám assety zcela zdarma! :D
- Marek Bartoš
- Nette Blogger | 1263
jsem její fanda protože nepoužívá jQuery
Zda něco používá nebo nepoužívá jquery je imho úplně zbytečné řešit. Pokud nějaký framework typu vuejs nebo svelte jquery nepoužívá, tak budiž, ale v drtivé většině případů je to jen ohromná ztráta času. A zrovna bootstrap je toho ukázkový příklad. Strávili víc než rok přepisováním, velkou část funkcí z jquery implementovali sami, několikrát i zkopírovali a výsledkem je, že je z bootstrapu jen větší moloch. Kde je přidaná hodnota toho jquery nepoužívat?
kouká které třídy používáte a které ne
Statická analýza v tomhle případě nemá šanci odhalit všechno a pro neznalé to bude hodně matoucí – pro ukázkový projekt mi to nepřijde vhodné
tailwind
Osobně se mi hodně líbí, pokud se použije semanticky správně. Pokud to skončí tak, že bude mít každý div milion css tříd, tak se na to nedá koukat, ani s tím pořádně pracovat https://www.vzhurudolu.cz/…y-komponenty
- Pavel Janda
- Člen | 977
@chemix Úplně tě chápu, ale myslím si opak. Myslím, že by se co nejdříve měla zahodit česká verze všeho a pokračovat jen v EN.
Ani ne tak kvůli lidem v ČR, pro ty je české forum jistojistě boží věc. Věřím, že ho má spousta nerdů jako záložku pro nový tab v chromu. :D
Dám příklad jedné pěkné OS knihovny – poslední dobou děláme ve
Swoole frameworku. Je to pecková věc až na drobnost – píše ji
britsko-čínská skupinka programátorů. Bohužel, většina materiálu ke
studiu frameworku je dostupná jen v čínštině. Komentáře kódu, api
dokumentace, dokumentace, OMG všechno. Pár věcí v angličtině vychází,
ale s velkým spožděním a jen po částech.
Jejich forum? Čínské. Slack? Čínský. Týpkové mi na Slacku odpovídají,
ale nemám ponětí, co. :D
Swoole je dle mého názoru docela přelomová PHP věc a mohly by jí používat všechny odvážnější firmy. Škoda té čínštiny. Tvle, kéž by to dělali v angličtině. A dle mých znalostí umí dost velkých Swoole contributorů anglicky.
Bůhví, jestli by o Symfony někdo věděl, kdyby se o něm psalo jen francouzsky.
Kamon, nebuďme srabi. Nette je poslední dobou nějak moc stabilní. :D Zaříznul bych českou verzi fora, ať není taková nuda.
Editoval Pavel Janda (2. 9. 2019 14:40)
- chemix
- Nette Core | 1310
@PavelJanda precetl a nazor mam stale stejny. Spis mi prijde ze ty jsi necetl to me.
- hned na zacatku pisu ze pokud se chce kdokoli zapojit do diskuze, budu radsi v en verzi.
- anglicky obsah bude vznikat, pocitame s tydennim zpozdenim
- zdrojaky na githubu nebudou obsahovat ani sluvko v cestine, web ktery se bude tvorit bude od zacatku vicejazycny
- Pavel Janda
- Člen | 977
@chemix Tvůj první příspevěk jsem četl. :) A abych propojil moje přemyšlení nad nette forem a tvůj příspěvek… primární post vznikl v češtině a až druhotně v angličtině. Tutorialy mají vznikat primárně v cs a potom v en..
Rozumím důvodům, proč to dělat vícejazyčně, chápu Tě. Jen mám na vícejazyčnost dokumentačních materiálů a tutoriálů kolem Nette jiný názor než Ty – což je v pořádku. Sám jsi napsal v té první reakci, že už tu nějaký pokus byl a asi nedopadl dobře. V pohodě. Jak říkáš – co člověk, to názor a ne všechny názory mohou být ukojeny.
Moc rád se zapojím do tvorby těch tutoriálů a spol, pokud by byl content a forum kolem toho pouze v EN. Nevidím smysl v investování energie do ekosystému založeného na české komunitě. Prosím, neber to negativně, je to opět jen názor jednoho programátorka.
Jinak je to skvělý projekt a rozhodně mu držím palce!
- Pavel Janda
- Člen | 977
@vojtamares Yess, mega s tebou souhlasím, co se týče Vue a Webpacku, napsal jsi to skvěle.
- ic
- Člen | 430
Pavel Janda napsal(a):
…
A pro upřesnění, bavíme se o tom v jakém jazyce psát ten návod, je to tak? Protože pro ten samotný projekt fiktivního pivovaru by se vícejazyčnost jako funkce fakt hodila, v praxi je to žádané. A je už celkem jedno co bude primární jazyk a co druhý jazyk, klidně to může být angličtina a němčina, ale vzhledem k tomu, že s němčinou to tu možná tak slavné nebude… prostě těch česky mluvících bude více, takže CZ a EN by dávalo smysl.
- Zuben45
- Člen | 268
@chemix napadlo mě ohledně Routeru vytvoření vlastní Routy (např. načítání z db, spojeno možná s cache, …). Jen takový výstřel, ale kdysi jsem po dočtení quick-startu tohle opravdu potřeboval :)
Pak možná pokud to bude možné i třeba doporučenou literaturu :)
Editoval Zuben45 (2. 9. 2019 18:24)
- tomat
- Člen | 16
pavel4 napsal(a):
Co takhle přidat nějaký deploy? Docker, docker compose – výhody, na co dát pozor a podobně.
Na konci tutoriálu by se mohl poslední blok věnovat tomu, jak tento projekt dostat do produkce se všemi věcmi okolo a s doporučeními na provoz, zálohu, aktualizace apod. Pokud to by bylo už nad rámec tutoriálu mohl by se volně udělat poté zvlášť.
- neznamy_uzivatel
- Člen | 115
Pavel Janda napsal(a):
Skělej nápad, super!
Přimlouval bych se za psaní pouze anglické verze bez českého překladu. :)
Asi bych se zbytečně rozepisoval, tak přidám jen kousek js, který tady
přes tampermonkey používám na stránce s nejnovějšími posty:
(neříkám, že bych angličtinu chtěl zakázat, ale vzít nette češtinu by
byl neomluvitelný fail.)
// ==UserScript==
// @name Nette forum - remove /en/ links from czech recent posts
// @version 0.1
// @author martyd -f 420
// @match https://forum.nette.org/cs/recent-posts
// @require http://code.jquery.com/jquery-3.4.1.min.js
// @grant none
// ==/UserScript==
(function() {
$('a[href*="/en/"]').each(function() {
$(this).closest('tr').hide();
});
})();
Editoval neznamy_uzivatel (18. 9. 2019 13:26)
- Václav Pávek
- Backer | 100
Vývoj projektu jako monorepo – k pivovaru přibrat lihovar :-D
Řešení modelové vrstvy nad Dibi.
Editoval Václav Pávek (15. 11. 2019 22:07)
- vojtamares
- Člen | 26
Pro ty z vás kteří Skynette sledují a zajímají se, popř. už nemůžou dospat až (konečně) vyjde první díl, více se dozvíte v anglickém vláknu ke Skynette a konkrétně v postu Skynette status report vol. 2
Snad se tedy brzy dočkáte prvního dílu! :)
Editoval vojtamares (13. 11. 2019 21:13)
- vojtamares
- Člen | 26
Skynette, první část: pull request je na světě do planette/skynette: https://github.com/…nette/pull/1 Už „jen“ sepsat ten článek :)
Inu o vánocích se dějí zázraky a tak jsem si řekl že je čas to dotáhnout,alespoň tu první část
- vojtamares
- Člen | 26
Ahoj,
je to dva měsíce od posledního updatu a půl roku od září kdy jsme s tím původně chtěli začít. Nakonec se k tomu nikdo pořádně nedostal. Já si rozepsal část článku, jak jsem naposledy psal, ale nakonec jsme se s @chemix domluvili že Skynette jak nápad z Nette Campu 2019 (kdo už je přihlášený na Nette Camp 2020 btw?) sice neumře, ale tím jak se to vleklo a kde nic tu nic, se Honza rozhodl že to udělá po svém.
Tohle jsem asi měl napsat hned a ne po měsíci a půl, kruci :D Ale lepší pozdě, než vůbec.
Takhle se má věc nyní, nic se neděje. Ale to by se mělo změnit :)
- mrfazolka
- Člen | 24
vojtamares napsal(a):
Ahoj,
je to dva měsíce od posledního updatu a půl roku od září kdy jsme s tím původně chtěli začít. Nakonec se k tomu nikdo pořádně nedostal. Já si rozepsal část článku, jak jsem naposledy psal, ale nakonec jsme se s @chemix domluvili že Skynette jak nápad z Nette Campu 2019 (kdo už je přihlášený na Nette Camp 2020 btw?) sice neumře, ale tím jak se to vleklo a kde nic tu nic, se Honza rozhodl že to udělá po svém.
Tohle jsem asi měl napsat hned a ne po měsíci a půl, kruci :D Ale lepší pozdě, než vůbec.
Takhle se má věc nyní, nic se neděje. Ale to by se mělo změnit :)
něco se změnilo?:) … není někde rozpracovaná verze, kde je vidět např. použití snippetArea?
- chemix
- Nette Core | 1310
@mrfazolka co presne na snippetArea je treba vice dopsat do dokumentace? https://doc.nette.org/…ication/ajax#…
- mrfazolka
- Člen | 24
chemix napsal(a):
@mrfazolka co presne na snippetArea je treba vice dopsat do dokumentace? https://doc.nette.org/…ication/ajax#…
Do dokuemntace asi nic, šlo mi spíš o to, že nikde nemůžu najít různé příklady použití, které jsou zmíněny napříč fórem, konkrétně to o čem se mluví v tomto videu: https://www.youtube.com/watch?… – řešení předávání parametrů a nastavování render metody komponenty z latte.
Asi jsem něco špatně pochopil a snažil se nefunkční {control myControl:secondRender} a {control myControl, param1=>‚myString‘, param2=>42} při ajax volání a redrowControl() vyřešit obalením tagem {snippetArea}, jak je ve videu zmiňováno, ale zkrátka se mi nepodařilo dosáhnout funkčního řešení. (Nakonec jsem skončil u cachování nastavených parametrů a jejich načítání při ajax requestu, což nepovažuji za optimální).
Hledal jsem někde příklad / kód, kde je implementováno redraw snippetu uvnitř komponenty, jehož obsah je závislý na předaných parametrech v latte, při vykreslení komponenty (předání parametrů v makru {control}), ale jediné co jsem našel byly zmínky o tom, že to funguje :) a toto vlákno. Představa demoprojektu, s ukázkou různých vychytávek a aktuálních postupů řešení, je skvělá, ale chápu, že jde o časově náročnou záležitost.
- m.brecher
- Generous Backer | 864
@chemix
Ahoj,
shlédl jsem díl 001 SkyNette tutorialu na youtube: https://www.youtube.com/watch?…. Tutoriál počítá s tím, že vyučující i žák nebudou používat klasické vývojové prostředí na domácím PC Windows/Linux/Docker, ale na cloudové platformě gitpod.io. Skynette by měl vést junior PHP programátora na vyšší level zvládnutím Nette Frameworku popř. dalších pokročilejších technologií, které zde ve vlákně byly zmíněny.
Vyzkoušel jsem si podle youtube návodu díl 1 instalaci workspace a super, bez problémů. Napadly mne tyto otázky:
- 50 hodin používání gitpod.io měsíčně zdarma, poté placená služba (!)
- přitom junior PHP není začátečník, měl by zvládat nějaké standardní IDE (phpstorm) i instalaci Apache, MySQL a PHP na svém PC
- v light theme nefungovalo v gitpod.io zvýrazňování syntaxe latte – dost zásadní věc
- jakou má perspektivu platforma gitpod.io, pro pohodlnou práci s latte je stejně nutné mít phpstorm s jeho latte pluginem
- stránka projektu otevřená v prohlížeči po delší době vyexpirovala a nešla obnovit, což se na standardním vývojovém serveru nestane
Po expiraci workspace jsem stejným způsobem jako poprvé zkoušel nahodit gitpod.io virtuální server, ale zatímco poprvé dle tutoriálu vše klaplo, podruhé se to nepovedlo:
gitpod /workspace/web-project (master) $ php -S localhost:3000
[Mon May 1 02:31:09 2023] PHP 8.2.4 Development Server (http://localhost:3000) started
[Mon May 1 02:31:20 2023] [::1]:32996 Accepted
[Mon May 1 02:31:20 2023] [::1]:32996 [404]: GET / - No such file or directory
[Mon May 1 02:31:20 2023] [::1]:32996 Closing
[Mon May 1 02:31:20 2023] [::1]:33004 Accepted
[Mon May 1 02:31:20 2023] [::1]:33004 [404]: GET /favicon.ico - No such file or directory
[Mon May 1 02:31:20 2023] [::1]:33004 Closing
[Mon May 1 02:31:24 2023] [::1]:33018 Accepted
[Mon May 1 02:31:24 2023] [::1]:33018 [404]: GET / - No such file or directory
[Mon May 1 02:31:24 2023] [::1]:33018 Closing
[Mon May 1 02:31:27 2023] [::1]:53574 Accepted
[Mon May 1 02:31:27 2023] [::1]:53574 [404]: GET / - No such file or directory
[Mon May 1 02:31:27 2023] [::1]:53574 Closing
Jakkoliv platforma gitpod.io vypadá po technické stránce úžasně, tak se mě zdá lepší jít pracnou cestou klasické instalace Apache, MySQL a PHP na Windows PC, než se vydat zpočátku bezproblémovou cestou na gitpod.io a skončit v situaci, kdy junior žák investuje čas do ovládnutí platformy gitpod.io čas a úsilí, aby se pak pro produkční projekty stejně musel od začátku učit zvládnout klasické IDE na domácí mašině.
Doma jsem se svýma dvěma dětma zvládnul úspěšně instalaci a vývoj v PHP + Nette na notebook Windows za cca 1 až 2 hodiny, kdy si hoši instalaci dělali sami pod mým vedením. Předal jsem jim hotové např. soubory httpd.conf nebo php.ini, kde si editovali příslušné řádky. Posléze úspěšně zvládli vývoj v PHP + Nette na první pokus bez jakýchkoliv předchozích zkušeností s webovými aplikacemi.
Můj názor jako jednoho člena Nette komunity není tak důležitý. Hodilo by se, kdyby další členové komunity vyzkoušeli práci s gitpod.io podle videa Honzy @chemix a přidali svůj názor.
Editoval m.brecher (1. 5. 2023 4:39)