Jump to content
php.lv forumi

Play! 2 JAVA web freimworks


codez

Recommended Posts

**Ātruma salīdzināšana** nav normāla. Ir citi, daudz svarīgāki, faktori.

 

Es nezinu, kāpēc Latvijā programmētāji vēl nav izauguši no "hakerisma" līdz plašākai domāšanai IT jomā? :) Ar ko sākās visas programmas? Ar biznesu (vai labdarību), kam jebkurā gadījumā būs kāds mērķis, ko vēlas sasniegt. Programmēšanas valodas, freimvorki, tehnoloģijas, programmatūra un dzelži ir tikai rīki, ar ko sasniegt savu biznesa mērķi vai precīzāk - izveidotu gatavu IT produktu atbilstoši biznesa puses prasībām un par to tiek maksāts. Un ja biznesam vajag web aplikācijas, tas var salīdzināt jebkuras valodas un tehnoloģijas, kas potenciāli var apmierināt atiecīgos biznesa mērķus. Tai skaitā ātrumu arī var salīdzināt starp visiem pārējiem apsvērumiem.

Link to comment
Share on other sites

  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

Tu izliecies, ka nesaproti? Salīdzināt iespējamos variantus drīkst un pat vajag. PHP, Python, Ruby, Node, Go, Java utt., to visu jāapsver! Tas, ko es saku — skatīties uz ātrumu (milisekundes) nav vērts. Performance ir pēdējais, ko tavam startapam vai biznesam vajag. Protams, ka lapai ir jāstrādā zibenīgi. Bet kamēr lapu neizmantos miljoniem, tikmēr tā nebūs problēma. Teiksim, Facebook, uz sava PHP, «joprojām skrien». Un Youtube ar savu Python. Šīs valodas ir gliemeži saldīzinājumā ar Javu, piemēram, bet tās tāpat tika izvēlētas un izmantotas. Faktori, kas ir jāņem vērā: cik ātri šajā valodā var veidot prototipus, lai nepaietu gadi — līdz v1.0! Jāņem vēra, cik daudz šo valoda zina un zina labi — lai nebūtu problēmas atrast cilvēkus. Jāņem vērā, cik šī valoda «ir pieaugusi», lai nebūtu jārisina tādas problēmas, kas citur ir atrisinātasm, bet šajā, konrētajā valodā, vēl neviens pat tādas nav piedzīvojis. Jāņem vērā, vai šai valodai un ekosistēmai ir pietiekams daudzums strādājošu labariju un freimvorku; vispārīgi tūļi kā tādi. Ātrums ir sekondārs faktors un tas, ka Java uzveic tajā PHP ir stulbs arguments!

Link to comment
Share on other sites

Izskatās diezgan atbilstošs benchmarks, bet, vērtējot jāņem vērā, ka pie atzīmes PHP, ir raw PHP (githubā var redzēt izmantotos kodus), bez nekādas inicializācijas, routinga, configiem, utml. No FW, šķiet, ka Play ir otrajā vietā, uzreiz aiz Spring, visas pārējās pirms tam ir vienu vai vairākus abstrakcijas līmeņus zemakas (RAW - salīdzinoši) metodes.

Žēl, ka vienīgais pilnais PHP freims, kurš šeit ir salīdzināts, ir Cake PHP, bet kā redzams, tiklīdz ir jāveic routings, vairāki includi, utml. lietas, tā rezultātā arī parādās PHP FW un Play milzīgā laika performances atšķirība.

Vēl, žēl, ka testā nav kāds PHP FW, bet ar HipHop translēts C++ un nokompilēts.

 

P.S.

Starp citu lasīju, ka pirms pāris mēnešiem JAVA conā Facebook inženieri interesējās par to, cik reāli būtu priekš PHP izveidot kompilātoru uz JVM. Šķiet, ka translēšana C++ un tā kompilēšana nav pietiekami stabila, tāpēc skatās JVM virzienā.

Link to comment
Share on other sites

Teiksim, Facebook, uz sava PHP, «joprojām skrien». Un Youtube ar savu Python. Šīs valodas ir gliemeži saldīzinājumā ar Javu, piemēram, bet tās tāpat tika izvēlētas un izmantotas.

Es tev pilnībā piekrītu, ka ātrums ir tikai viens no faktoriem un ne pats svarīgākais, bet, tas pats FB nav mierā ar PHP ātrumu, tāpēc taisa visādus HipHop un kā iepriekš rakstīju, meklē ceļus uz JVM, bet, piemēram, tas pats Twitter ruby backendu pārrakstīja uz Scalu, jo Ruby bija daudz par lēnu un nestabilu. Pie tam, pat neizmantoja JRuby (ruby priekš JVM), bet pārgāja uz statisku tipu valodu, jo to uzskatīja par stabilāku.
Link to comment
Share on other sites

daGrevis - bet ko tad es pretrunīgu pateicu? Tas, cik svarīgs ir ātruma faktors, jālemj biznesam pašam. Ne vienmēr tas ir no tiem būtiskākajiem, piekrītu.
Ja runājam par bibliotēkām un, tad gandrīz kā aksioma ir tas, ka jo populārāka valoda, jo ļoti ticams, ka tai būs pieejamas vairāk bibliotēkas dažādiem mērķiem. Valodu popularitātes saite (atkal) - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Tas, ka tu visas bibliotēkas nezini vai neesi izpētījis, ir cits jautājums.

Izstrādes ātrums ir mazliet demagoģija. Specifiskiem mērķiem izstrādes ātrumi var atšķirties, atkarībā no valodām un tehnoloģijām, bet primāri tas tomēr saistīts ar projekta darbu organizāciju, infrastruktūru un programmētāju prasmēm un zināšanām. Tai skaitā, protams, ir izšķiroši lēmumi par tehnoloģiju, freimvorku izmantošanu. Atceries, ka kopējais izstrādes ātrums nav tikai tas, kas paiet no projekta realizācijas pirmās dienas, kad programmētājs uzraksta pirmo rindiņu jaunajai programmai, līdz pirmajai produkcijas versijai, bet gan viss laiks, kas jāpavada pie produkta uzturēšanas, jo vai nu programma mainās, vai mirst - aksioma.

Link to comment
Share on other sites

> Atceries, ka kopējais izstrādes ātrums nav tikai tas, kas paiet no projekta realizācijas pirmās dienas, kad programmētājs uzraksta pirmo rindiņu jaunajai programmai, līdz pirmajai produkcijas versijai, bet gan viss laiks, kas jāpavada pie produkta uzturēšanas

 

Simpson, es to ļoti labi arī apzinos.

Link to comment
Share on other sites

Var gan un tieši web lietojumprogrammu (web app) kontekstā var salīdzināt. Ja man vajag web aplikāciju ar lietotāja interfeisu AJAX, biznesa loģiku, datubāzi un varbūt kādu web servisu, protams, ir iespējams apsvērt gan PHP, gan Java izmantošanu un abas salīdzināt.

Ja tu raksti sev, tad vari apsvērt lietot kaut perl. Aplikācija sākas ar biznesa prasībām - kas uzturēs, kas izstrādās, kur turēs pašu aplikāciju, kādas būs izstrādes un uzturēšanas izmaksas, un tad vispār mēs tiekam līdz realizācijai. Nu nopietni, neviens netaisīs landing page javā un neviens nerakstīs smagu biznesa loģiku php. Tieši tāpēc arī nevar salīdzināt. Tu acīmredzot redzi tikai tehniskās īpašības, bet beži vien tehniskās īpašības diemžēl tiek pabīdītas otrajā plānā - ne vienmēr klienta budžets un mērķi atļauj developeram nodarboties ar tehniskām izvirtībām. Konkrētajā piemērā ar konkrēto info nevar salīdzināt Javu un PHP, ir jāzina vairāk - kāds būs uzturēšanas cikls, kādi ir plānotie paplašinājumi un uzlabojumi nākotnē, kāda ir biznesa loģika un kas tie par web servisiem - kaut kāds rpc, servisa geiti, vēl kaut kas. Visas šīs nianses noved pie konkrētas platformas izslēgšanas. Nu neveidotu es web aplikāciju ar rpc pret distributētu 11g kur man rpc ir endpoints kas saņem datus no kādiem 200 pos termināļiem izmantojot PHP. Un neveidošu es tik pat labi bloga embedēta fīda servisu javā, jo tas vienkārši nebūtu finansiāli izdevīgi. Geee.

Link to comment
Share on other sites

Bet tā jau arī ir salīdzināšana. Sākumā ir biznesa prasības, kad ir pabeigta to definēšana, sāk piemeklēt tehnisko risinājumu un šeit jau tiek salīdzināti dažādie tehniskie risinājumi (valodas, freimvorki utt.). Visi tie faktori (ātrums, cena, speciālistu pieejamība) tiek apsvērti un to starpā mierīgi var apsvērt php vs. java. Izņēmums, protams, ir tad, kad bizness jau ir izlēmis, ko izmantos (noslēdzis līgumu), piemēram, ar Microsoft.

Starp citu, ja ir zināšanas, tad izstrādes ātrums uz Java nelielu web app ar ne pārāk sarežģītu biznesa loģiku, izmantojot Spring un citus veiksmīgus freimvorkus nav nebūt lēns, tas pat ir ļoti straujš. Bet ar vienu nosacījumu - JA speciālistiem ir attiecīgo zināšanu.

Link to comment
Share on other sites

Un neveidošu es tik pat labi bloga embedēta fīda servisu javā, jo tas vienkārši nebūtu finansiāli izdevīgi. Geee.

Agrāk tā bija, bet ar Play freimworku (un arī dažiem citiem JVM platformas web FW), tu šo servisu varētu reāli izveidot dažu stundu laikā.

Pietam ir diezgan liels mīts, ka JAVA developeriem maksā vairāk kā PHP no tā, ka vidējie rādītāji tādi ir. Patiesībā PHP vidējos rādītājus vienkārši velk uz leju daudzi iesācēji, kuri daudz biežāk izvēlās PHP, nekā JVM platformu. Vienlīdz profesionāli JAVA un PHP devi saņem +- vienādas algas.

Edited by codez
Link to comment
Share on other sites

Pietam ir diezgan liels mīts, ka JAVA developeriem maksā vairāk kā PHP no tā, ka vidējie rādītāji tādi ir. Patiesībā PHP vidējos rādītājus vienkārši velk uz leju daudzi iesācēji, kuri daudz biežāk izvēlās PHP, nekā JVM platformu. Vienlīdz profesionāli JAVA un PHP devi saņem +- vienādas algas.

 

Šos mēs varam vienkāršoti iedalīt atsevišķā grupā - pie "1000Ls+ izstrādātājiem", balstoties uz to, ka viņi saņem vismaz 1000LVL neto algu mēnesī algotā darbā. :) Ja mazāk, tad paši vainīgi, ka dempingo savu cenu. ;)

Edited by Simpsons
Link to comment
Share on other sites

Agrāk tā bija, bet ar Play freimworku (un arī dažiem citiem JVM platformas web FW), tu šo servisu varētu reāli izveidot dažu stundu laikā.

Pietam ir diezgan liels mīts, ka JAVA developeriem maksā vairāk kā PHP no tā, ka vidējie rādītāji tādi ir. Patiesībā PHP vidējos rādītājus vienkārši velk uz leju daudzi iesācēji, kuri daudz biežāk izvēlās PHP, nekā JVM platformu. Vienlīdz profesionāli JAVA un PHP devi saņem +- vienādas algas.

Deploijo to savu Play freimworku uz klienta šared hosta par 3 latiem mēnesī. ;) Jeb Tu izdalīsi viņam atsevišķu vm? 

Link to comment
Share on other sites

Deploijo to savu Play freimworku uz klienta šared hosta par 3 latiem mēnesī. ;) Jeb Tu izdalīsi viņam atsevišķu vm? 

 

Cenas gan būs mazliet augstākas, bet ne gluži 10x augstākas:

http://www.jvmhost.com/

 

No otras puses - kas tas par klientu un kas tas par biznesu, ja viņš tik vien var atļauties kā 3Ls mēnesī hostingam? Bezpeļņas organizācijai vēl saprastu...

 

Es teiktu, ka no tādiem kapeikp*sējiem ir jābēg pa gabalu! Ja viņš nav gatavs maksāt vairāk kā 3Ls mēnesī par hostingu, tad cik viņš programmētājam par web app izveidi ir gatavs maksāt? 30Ls?

Edited by Simpsons
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...