Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: randomek 10. 07. 2014, 12:50:22

Název: Platforma pro webovou aplikaci
Přispěvatel: randomek 10. 07. 2014, 12:50:22
Dneska je toho opravdu hodne a vsechno ma svoje vyhody i nevyhody.

Rozhoduji se mezi:
1. PHP + nejaky framework samozrejme (co treba pouzit drupal misto nejakeho vyslovene jenom frameworku)? U drupalu me treba odrazuje to, ze ty weby jsou fakt hodne pomale.
2. ASP.NET MVC - hodne se mi libi tahle technologie a navic C# je pekny a moderni jazyk.
3. PYTHON + DJANGO - pythonu jsem v posledni dobe hodne propadl
4. Java + nejaky framework(tzn. ne primo technologie soucasti specifikace EE jako servlety atd., spis nejaka abstrakce napr. Spring) - tohle je ale asi az na poslednim miste

Nicmene jsem zastancem toho, ze aby v dnesni dobe neco uspelo, tak to musi byt bud revolucni napad ( a zas tolik si o sobe nemyslim ) nebo to musi vyuzivat moderni technologie a nabidnout uzivateli daleko lepsi pocit nez u jinych podobnych produktu. Napr. technologicky 10 let zastaraly chat zalozeny na ajaxu vs. websockety a dalsi vymozenosti novych prohlizecu.
S toho vyplyva, ze mojim horkym favoritem je:
5) Meteor framework zalozeny na node.js, protoze to je opravdu presne to, co by splnovalo ty moje pozadavky. Jenze je to porad jen preview, jeste nebyla stable verze 1.0 a taky nemam zkunesot s tim, jak se bude chovat treba na slabsich zarizenich v prohlizeci aplikace, ktera ma v podstate vetsinu UI vytvareneho dynamicky JavaScriptem ( urcite o dost pomalejsi, nez kdyz prijde html stranka).

Jsou jeste nejake jine zajimave alterntivy, ktere jsem treba nezminil a pouzili jste je ke sve spokojenosti? 
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Mirek Prýmek 10. 07. 2014, 13:33:28
Jsou jeste nejake jine zajimave alterntivy, ktere jsem treba nezminil a pouzili jste je ke sve spokojenosti?
https://github.com/phoenixframework/phoenix - mladý, ale velice rychle a nadějně se vyvíjející. Onehdá psal jeho vývojář na IRC, že v benchmarku dostává 12000 req/s - přesně opačný trend než současní "moderní" bumbrlíčci, u kterých je úspěch cokoli nad 500 :)

Nicmene jsem zastancem toho, ze aby v dnesni dobe neco uspelo, tak to musi byt bud revolucni napad
Nějak si nevzpomínám na nic, co bych považoval za opravdu revoluční. V oblasti webových služeb už vůbec ne. Všechno, co mě tak napadá, jsou jenom pečlivě udělané a dotažené věci, které tady jinak v principu máme už dlouho. Akorát teď je to fklaudu, má to web s responsivním designem, funguje to realtime, je to propojený s Facebookem a existují mobilní aplikace pro obě platformy... Čili žádná revoluce, jenom kupa poctivé práce.

Ostatně, obecně v IT nic opravdu revolučního nemáme už tak od nástupu éry PC :)

Třeba mně osobně připadá nejblíž k pojmu "revoluce" třeba Arduino, ale to taky není vůbec nic technicky novýho, prostě se jenom starej dobrej procesor zabalil tak, aby ho mohl použít každý (a v tom je ta revoluce - ne technická, ale na poli použitelnosti).

nebo to musi vyuzivat moderni technologie a nabidnout uzivateli daleko lepsi pocit nez u jinych podobnych produktu.
Podle toho, co je tvým cílem. Pokud ohromit/oblbnout nějakýho investora, tak jo, to je docela dobrá cesta. Pokud ti jde ale fakt o to, udělat dobrou službu pro uživatele, tak potom je to dost zcestnej způsob uvažování - uživatelům je úplně jedno, jestli ti to běží na Erlangu nebo VisualBasicu, pokud jim doručuješ stejnou přidanou hodnotu, snadnost použití, vychytaný design atd. Jestli toho umíš dosáhnout líp s Erlangem nebo VisualBasicem, to je otázka pro tebe, ne pro nás :)

Přílišný uvažování nad technologií je typická známka projektů vedených techniky, který dost často krachují na tom, že jsou právě fascinovaní technologií a úplně jim uniká, co by chtěl uživatel.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Alice 10. 07. 2014, 13:37:52
Mirku Prýmku .... pracuješ vůbec , nebo celý den trávíš tady na rootu :-D ..
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Mirek Prýmek 10. 07. 2014, 13:39:02
Jo, ještě jsem zapomněl: víc než na technologii bych doporučoval se zaměřit na UX. To je imho alfa a omega úspěchu. Na techologii sere pes :)

Třeba onehdá kolega sdílel parádní UX analýzu jednoho webu - fakt mě to (coby laika) nadchlo, jak to mají kluci vychytaný a jak to někdo umí parádně rozebrat, pojmenovat a ohodnotit. Tohle je ten kumšt, co dneska rozhoduje!

http://www.useronboard.com/how-slack-onboards-new-users/
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Mirek Prýmek 10. 07. 2014, 13:39:50
Mirku Prýmku .... pracuješ vůbec , nebo celý den trávíš tady na rootu :-D ..
Za dnešek jsem narozdíl od tebe napsal jenom tři příspěvky :)
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Pavouk106 10. 07. 2014, 15:09:24
Já nedávno jen tak ze srandy zkusil napsat web v Ruby. Pozor - v Ruby, ne Ruby on rails.

Je to trošičku maso, nakonec jsem to odložil, ale nějakej základ už začínal fungovat (odesílání formulářů, zápis/čtení z MySQL apod.).

Až bude hoooodněmoc času, přepíšu do Ruby svuj blog a pojedu v Ruby... Jen tak, abych se něco naučil. PHP už dneska píše každej.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: BrainLess 10. 07. 2014, 15:31:48
AngularJS
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: robin martinez 10. 07. 2014, 15:45:13
A v PHP sice píše každej, a právě proto je machrovinka v tom umět programovat rozumně a nedělat paskvily.
Jinak pokud PHP, tak bych asi fakt doporučil Nette nebo Laravel. Nette je malé a trošku složitější na naučení, za to však geniální (osobní názor). Laravel je hodně v pohodě, ale už v něm nedělám.  Dělat v čistým PHP je dnes už asi prasárna.

Ruby se mi taky líbí, je to univerzálnější než PHP a jsou pro to i víc LW frameworky než jen Rails, třeba sinatra na jednoduchej web stačí (asi?).

Věci jako Angular nebo Node.js mě vždycky zajímaly, ale nemám moc rád javascript a Pythonem na webu jsem nepolíbenej.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Kit 10. 07. 2014, 16:07:01
Dělat v čistým PHP je dnes už asi prasárna.
Málokterý framework je tak čistý, aby práce s ním nebyla prasárna. Místo frameworků stačí znát standardní knihovny PHP.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: foldy 10. 07. 2014, 17:19:28
ASM + C, je to rychlé, bezpečné, akorát si to musíš napsat sám od základu, pár knihoven je, třeba fcgi funguje až na pár věcí skvěle. Jinak spokojenost. Nízké nároky velká rychlost. Okolo 26000req/s na jednom jádru 128MBram běžný webík.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: j 10. 07. 2014, 18:05:55
Dneska je toho opravdu hodne a vsechno ma svoje vyhody i nevyhody.

Rozhoduji se mezi:
1. PHP + nejaky framework samozrejme (co treba pouzit drupal misto nejakeho vyslovene jenom frameworku)? U drupalu me treba odrazuje to, ze ty weby jsou fakt hodne pomale.
2. ASP.NET MVC - hodne se mi libi tahle technologie a navic C# je pekny a moderni jazyk.
3. PYTHON + DJANGO - pythonu jsem v posledni dobe hodne propadl
4. Java + nejaky framework(tzn. ne primo technologie soucasti specifikace EE jako servlety atd., spis nejaka abstrakce napr. Spring) - tohle je ale asi az na poslednim miste

...

Za me ... technologie nikoho nezajima, pokud dodas funkcni vysledek, je uplne jedno jestli pouzivas "super duper moderni" nebo 20let starou. Samo "odcad pocad" - pokud mi prijdes s dbase ... tak te asi vyhodim ;D.

1) rozsireny, spousta lidi to +- zvlada, zdaleka nejrosirenejsi => ochromny moznosti jak a kde zjistit info kdyz neco nejde. Ohromnej bonus - nepotrebujes kupovat zadny licence. Framework = v 99% pripadu pouzivas neco, o cem nevis jak to funguje, vyuzijes z toho promile funcionality a kdyz to aktualizujes, neco prestane fungovat. Ano, ma to svy opodstatneni, ale opatrne a s rozvahou.
2) graficky pekny nastroje, ohromnej moloch, kde kdyz neco nefunguje, tak stejne nezjistis proc, staci o jedno cislo jina verze .NET. Obrovsky minus - potrebujes win server a s tim souvisejici licence, coz znamena spoustu penez.
3) slusnej nastroj, jen nijak zvlast rosirenej, budes mit problem se supportem i s hostingama.
4) moloch velmi podobnej .NET, s podobnejma problemama.

Technologii ma smysl resit pouze a vyhradne v pripade, ze mas extremne specificky pozadavky na konkretni funcionalitu nebo vykon. Jak tu je zmineno, pokud chces extremni vykon, napis si to v Ccku.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: eMko 10. 07. 2014, 19:26:43
pokud chces extremni vykon, napis si to v Ccku.

A strávit na tom nemalé množství času. A klidně se to dá napsat i v Pascalu, to tady nepadlo: http://wiki.lazarus.freepascal.org/Portal:Web_Development

Technologie je pouze nástroj. Jak vypadá ten web, který chceš vytvořit? To a jedině to by mělo ovlivnit volbu technologie. Chceš se na tom sám učit něco nového? Chceš aby to udržovalo více lidí a bylo snadné je najít? Chceš levný a dostupný hosting, nebo máš vlastní server? Vše, co tu padlo, vč. C, jsou smysluplné odpovědi pro nějaké situace a nesmyslné pro jiné.

Jinak já bych, pokud by to byla větší aplikace, kde je potřeba trochu víc výkonu než můžeš rozumně dostat z PHPčka, šel na Microsoft MVC (případně nové Web.Forms, pokud by MVC bylo vyloženě nevhodné na daný projekt) a jako jazyk C# (nemáš-li touhu používat Visual Basic). Pokud chceš levnější hosting, zkusil bych Play! framework nad Java Virtual Machine.
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: randomek 10. 07. 2014, 22:04:01
Asi mate pravdu, ze moc hrotim ty technologie. Ale kdyz se clovek podiva na ruzne uspesne sluzby, tak skoro vsechno bezi na necem, co slysim temer poprve :D. Ne to zas prehanim, ale nejsou to veci od Nette apod., takze tak nejak to vnimam, ze i tohle hraje celkem podstatnou roli.
Asi vsadim na neco od Node.js, preci jen to si rozumi nejlepe napr. se socket.io a o ten real-time mi jde hlavne.

Ten phoenixframework a elixir vypada taky celkem zajimave, ale mam pocit, ze to nebude zas o tolik lepsi nez Node.js a tam nebudu muset psat cykly pomoci rekurze :) ( ale nic proti funkcionalnimu programovani, me se to docela libi, ale mam za sebou jen par hodin lispu).
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: UmtapaPump 10. 07. 2014, 22:17:49
2) graficky pekny nastroje, ohromnej moloch, kde kdyz neco nefunguje, tak stejne nezjistis proc, staci o jedno cislo jina verze .NET. Obrovsky minus - potrebujes win server a s tim souvisejici licence, coz znamena spoustu penez.

A to jste prosim vzal kde? Delal jste s tim nekdy nebo je to typicke "jeden typek povidal" (aneb Vista sux v bledemodrem)? MVC je opensource, takze to zjistite celkem snadno. Ale nevim proc by jste to delal, kdyz v MVC se pise tak lehce... Spoustu penez? Hosting s win je za babku. Ano, neni to "zadarmo" jako php, ale zase bych to nevidel tak cerne
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: Mirek Prýmek 10. 07. 2014, 22:43:01
mam pocit, ze to nebude zas o tolik lepsi nez Node.js
Erlang je úplně jiná liga než když se jednou jeden webař zamyslel a napadl ho geniální nápad "hele, máme JS na klientovi, co ho dát i na server?" :)

Ne, že by to jako princip nedávalo smysl, ale vzhledem k tomu, že JS je snad nejhorší z mainstreamových jazyků a že by zrovna exceloval v paralelizaci, o tom nic nevím...

a tam nebudu muset psat cykly pomoci rekurze :)
Já zas dost nerad píšu deset vnořených callbacků pro obsluhu nějaké triviality jenom proto, že jazyk nemá ani tu nejmenší podporu konkurence a asynchronních událostí a musí se to dobastlit takhle...

Jinak rekurze se oproti rozšířené představě (a akademickým kurzům) zas tak často nepoužívá - většinou člověk ve smyčce potřebuje spíš projít nějaké pole apod. a na to se používá map, popř. reduce.
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: to_je_jedno 11. 07. 2014, 01:31:36
Dneska je toho opravdu hodne a vsechno ma svoje vyhody i nevyhody.

Rozhoduji se mezi:
1. PHP + nejaky framework samozrejme (co treba pouzit drupal misto nejakeho vyslovene jenom frameworku)? U drupalu me treba odrazuje to, ze ty weby jsou fakt hodne pomale.
To nerikej. Protoze kdyz to rikas tak jen ukazujes, ze neumis a neznas... Ano, na beznem sdilenem hostingu Drupal pomale je, ale kdyz mas moznost si pohrat se systemem a mas moznost par hodin venovat poladeni tak neni sebemensi problem. Ale je pravda, ze to chce znalosti (=praxi)
Název: Re:Porad se nemuzu rozhodnout, jakou platformu pro webovou aplikaci.
Přispěvatel: to_je_jedno 11. 07. 2014, 01:34:02
Jo, ještě jsem zapomněl: víc než na technologii bych doporučoval se zaměřit na UX. To je imho alfa a omega úspěchu. Na techologii sere pes :)
Dovolim si naprosto souhlasit.
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: emtey 11. 07. 2014, 09:59:51
Co takhle http://grails.org
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: emtey 11. 07. 2014, 10:04:44
Jeste doplnim, na http://grails.asia jsou super navody do zacatku. Pro vyvoj doporucuju NetBeans IDE, ma asi nejlepsi integraci GRails ze vsech, co znam (normalne bych doporucil Intellij IDEu, ale tam jsou GRails jen v placene verzi a navic zamrzle na nejake stare verzi).
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: ToJeJedno 11. 07. 2014, 13:50:20
za grails jednoznacne http://spring.io/tools/ggts/all
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: PCnity 12. 07. 2014, 02:02:54
Backed je imho uplne jedno v com je napisany... Uzivatel o tom nevie, netrapi ho to. Pouzil by som nejaky frontendovy SPA framework, AngularJS je mne najsympatickejsi. Ci niekde v pozadi bezi NginX a na dotazy odpoveda PHP, alebo je v pozadi nejaky node.js, alebo ako u mna vlastny server (Go lang) nic nemeni na veci. IMHO generovat view na backende uz nie je moderne :)

(Disclaimer: Nie som developer a uz vobec nemam rad front end... AngularJS mi vsak umoznil urobit celkom modernu web app so znalostami JavaScriptu na urovni "nemusis vediet JavaScript na to aby si pisal JavaScript"... SPA appka bola hotova rychlejsie ako predtym php/smarty + ajax cally cez jQuery)
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: Ondra Satai Nekola 12. 07. 2014, 06:49:43
http://www.yesodweb.com/

Proč se držet u zdi a trápit se na serveru s technologiemi, jako je PHP nebo js? ;)

(Jinak bez podobného popisu té aplikace se samozřejmě nedá moc přesně odpovědět)
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: Inkvizitor 12. 07. 2014, 08:34:30
Jo, jo, jo! Tohle je cool, ne nějaký blbý node.js.

http://www.yesodweb.com/

Proč se držet u zdi a trápit se na serveru s technologiemi, jako je PHP nebo js? ;)

(Jinak bez podobného popisu té aplikace se samozřejmě nedá moc přesně odpovědět)
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: Radek Miček 12. 07. 2014, 21:25:19
http://www.yesodweb.com/

Proč se držet u zdi a trápit se na serveru s technologiemi, jako je PHP nebo js? ;)

(Jinak bez podobného popisu té aplikace se samozřejmě nedá moc přesně odpovědět)

A proč ne rovnou Ur/Web (http://www.impredicative.com/ur/)?

Ur/Web je jednodušší než GHC Haskell a má podporu pro řádkový polymorfismus přímo v typovém systému. Hlavní výhodou Ur/Webu oproti GHC Haskellu jsou záznamy (http://www.impredicative.com/ur/tutorial/tlc.html) (AFAIK ani žádná knihovna GHC Haskellu pro rozšiřitelné záznamy nenabízí to, co umí Ur/Web).
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: randomek 13. 07. 2014, 18:53:51
Tak nakonec asi preci jen zvolim elixir + nejaky framework. Pravdepodobne ten phoenix, i kdyz ta dokumentace asi nebude zrovna moc podrobna.
Preci jen i fb chat je pohaneny erlangem a obecne je to technologie primo pro to, co bych potreboval (jasne, appka jeste neni hotova, ale kdyz uz by se ji podarilo nejak prosadit, tak erlang bude urcite plus).
Uz to vypadalo, ze pujdu do Meteor frameworku, ktery prinasi celkem revolucni reseni a opravdu napr. chat se da spichnout behem chvilky, ale nadruhou stranu je tam pravdepodobne docela problem s vykonnosti ve chvili, kdy aplikaci pouziva vic nez par uzivatelu.
Meteor je sam o sobe vystaveny nad Node.js a Sock.js a veskera komunikace se serverem probiha transparentne pres rozhrani Meteoru. Sock.js je vyhoda ve chvili, kdy prohlizec nepodporuje Websockety (chci 100 procentne real-time u nekterych casti webu), protoze umi fallbacknout na dalsi techniky, ktere se tvaru, ze jsou full duplex a realtime.
Phoenix framework umoznuje taky real-time komunikaci, ale je zapotrebi podpora websocket a nenabizi takovou miru abstrakce, jakou Meteor (coz je ale mozna spis vyhoda, protoze si to muzu prizpusobit te aplikaci a nebude dochazet k tem vykonostnim problem, co by se asi objevily u Meteoru).
Dalsi plus pro elixir je to, ze s tim Phoenix frameworkem budu programovat vic ve stylu MVC, nez s tim Meteorem.
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: ZAJDAN 14. 07. 2014, 16:30:38
docela by mne zajímalo o jakou aplikaci jde...
super by bylo, když někdo nahodí podobné téma přihodit i nějaký sketch nebo podobný web aby si šlověk mohl rozšířit obzor na jakou věc lidi použíjí toto a proč
Název: Re:Platforma pro webovou aplikaci
Přispěvatel: randomek 14. 07. 2014, 21:38:53
docela by mne zajímalo o jakou aplikaci jde...
super by bylo, když někdo nahodí podobné téma přihodit i nějaký sketch nebo podobný web aby si šlověk mohl rozšířit obzor na jakou věc lidi použíjí toto a proč

Musi to zvladnout pokud mozno i tisice uzivatelu pracovat real-time (ja vim, zni to srandovne, kdyz jeste nic nemam), to znamena, ze pokud nekdo neco udela, tak se to musi hned dostat k ostatnim, co se o to zajimaji. Publish/subscribe pattern. Ja budu napr. zrovna na strance, kde jsou nejake komentare a nekdo jiny tam komentar prida, tak se to musi hned dostat ke me. Nechci ale v zadnym pripade pouzivat nejake ajaxove srandy (tim ze se budu napr. kazdych 10 sekund dotazovat, jestli pro me server neco nema). Samozrejme kdyz prohlizec nebude podporovat websockety, tak fallback bude nejaky ajax ci jina podobna technika, ale veci jako socket.io nebo sock.js to umi simulovat, ze se to tvari jako realtime full duplex. Chtel bych neco, co je pro tento styl asychronniho real-time zpracovani delane. PHP a dalsi takove ty mainstream jazyky na to moc nejsou, i kdyz v  dnesni dobe lze uz vsechno nejak znasilnit pomoci ruznych knihove.
Treba ten erlang, nad cim je postaveny elixir, je na tohle primo delany, viz. z webu hned na uvodni strance
Citace
Build massively scalable soft real-time systems
Na druhou stranu jsem ale zjistil, ze treba Facebook leavnul Erlang, protoze to zacalo zpusobat problemy, viz. napr. tento clanek
http://www.quora.com/Why-was-Erlang-chosen-for-use-in-Facebook-chat