Jump to content
php.lv forumi
ieleja

Play 'framework' nākotne

Recommended Posts

jau divas nedēļas darbojos ar 'Play', ko te bieži reklamē biedrs 'codez'

 

http://www.playframework.com/

https://en.wikipedia.org/wiki/Play_Framework

 

viss ir jauki, bet viena lieta dara mazliet nemiera - ja ver. 1.* bija Java, tad 2.0 vairāk ir Scala/Java

 

kas tad mūs sagaida nākotnē? diez vai 'Play' deviem gribēsies šīs abas būtības uzturēt vienlīdz centīgi, ņemot vērā, ka viņiem 'Scala' tomēr laikam tuvāka

 

 

In version 2.0, the framework core was rewritten in Scala.

 

Edited by ieleja

Share this post


Link to post
Share on other sites

Scala tiek uzskatīta par valodu, kas uz JVM varētu pilnībā aizstāt Javu, tāpēc Play FW nākotne viennozīmīgi ir Scalā.

Bez tam neredzu iemeslu izmantot Javu Scalas vietā. Scala kā valoda ir ievērojami pārāka par Javu.

Share this post


Link to post
Share on other sites

Zinu projektu, kas no Scala un Play tiek pārrakstīts uz PHP. Iemesls ir, ka nav viegli atrast Scala programmētājus.

 

Paldies linku, Lauri! Varētu iemēģināt _back2school_.

Share this post


Link to post
Share on other sites

No manis arī paldies par Coursera linku, pieteicos, skatīšos, kas un kā, jo nekad agrāk nevienu kursu Coursera neesmu ņēmis (lai gan ir bijusi doma).

Vienkārši aizvakar noskatījos šo video:

un vakar šo:

un baigi ieintriģēja.

Edited by jurchiks

Share this post


Link to post
Share on other sites

Gribēt mācīties nenozīmē mācēt. :P Es jau mēnešus gribu iemācīties (tā kārtīgi) gan Go, gan Haskell.

Share this post


Link to post
Share on other sites

Gribēt mācīties nenozīmē mācēt.

Gribēt nenozīmē darīt.

>fixeditforya

Mājās stāv sakačāta tonna e-booku un video apmācību, bet kā nevaru nekam pieķerties klāt, tā nevaru.

Edited by jurchiks

Share this post


Link to post
Share on other sites

Es Javu sāku mācīties vajadzības dēļ - vajadzēja šo to uzrakstīt džabā. Es pieņemu, ka pilsoņi tā pat varētu mācīties arī skalu - atrodiet, ko un kāpēc vajadzētu veidot skalā un learn as you do.

Share this post


Link to post
Share on other sites

atrodiet, ko un kāpēc vajadzētu veidot skalā

Sounds so simple... too bad it's not. Man, piemēram, nav ne jausmas, ko tādu VAJADZĒTU veidot tieši Scalā, nevis citā programmēšanas valodā. Edited by jurchiks

Share this post


Link to post
Share on other sites

Sounds so simple... too bad it's not. Man, piemēram, nav ne jausmas, ko tādu VAJADZĒTU veidot tieši Scalā, nevis citā programmēšanas valodā.

Lūdzu, dāvinu ideju - uztaisi attālinātas pullošanas web servisu versiju kontrolei - hg/git. Pats jau labi sen gribu pārrakstīt sev esošo instrumentu pieklājīgā formā, bet nav īsti laika. Doma sekojoša - centrālā versiju kontroles repa, no kuras pēc komandas produkcija novelk no centrālā versiju kontroles servera un izcheko produkcijas branchu. Viss konfigurējams protams. Doma aiz šī ir lai nebūtu sīkām lapelēm jākonfigurē un jāčakarē smagie deployment instrumenti vai versiju kontroles serveri, reversējam procesu un liekam produkcijai updeitus pēc pieprasījuma vilkt pašai izmantojot centralizētu interfeisu via rest/rpc. Ļoti forši darbojas visādiem single page projektiem un wordpresiem, kur kurbulēt un konfigurēt smagus instrumentus ir lieka laika un resursu tērēšana.

Must have:

post un pre update skriptu atbalsts

ssh private key un http autentifikācija vcs

rollback

atomisks update

vairāki mountpointi - e.g. lapas uz vienu instrumenta instalāciju

CLI konfigurācijas wizards, if possible

 

Pašam risinājumam jābūt pēc iespējas vienkāršākam ar 1 bin failu un ja iespējams, deb/rpm pakām. 

 

Es gan šo grasījos pārrakstīt no javas uz go, kas būtu piemērotāks jo nevajag vm, bet var mēģināt arī uz skalas realizēt sporta pēc. 

Share this post


Link to post
Share on other sites

Sounds so simple... too bad it's not. Man, piemēram, nav ne jausmas, ko tādu VAJADZĒTU veidot tieši Scalā, nevis citā programmēšanas valodā.

 

Jebkuru kaut cik nopietnu projektu, tai skaitā web projektu, kuru paredzēts uzturēt un uzlabo ilgtermiņā, jo 

1)Scala ir statisku tipu valoda, tāpēc koda uzturēšana ir izteikti viegla.

Ja kādā vietā pamaini kaut ko, tad tas nevar palikt nepamanīts, kamēr visās dinamisku tipu valodās kā PHP, python,  javascript, utt. ir daudz grutāk kaut ko mainīt, jo nevari būt 100% drošs, ka kaut kur kaut kas netiek izmantots - protams tam ir dažādi refaktorēšanas rīki, bet tie ne vienmēr 100% garantē, ka viss tiks salabots.

Visa šī statisko tipu padarīšana tevi ieliek pamatīgos rāmjos - statisku tipu valodu var uzskatīt kā sava veida freimworku, attiecībā pret dinamisku tipu valodām.

Plus vēl skala ir tīri OOP valoda, kas jau tev no paša sākuma liek visu rakstīt OOP stilā.

2)Ātrums - scalas kods uz JVM izpildās tuvu C++ kompilētam kodam. Nesen vel taisīju benchmārkus, lai salīdzinātu PHP/mikrofreimwroks/Apache un Scala/Play. Uz aptuveni vienādu lapas ģenerāciju PHP spēja sasniegt 700 req/s, kamēr scala/play 11'000 req/seq. Tāpat arī paralēlo requestu skaits PHP bija 150, scala/play turēja 2000. Tas nozīmē, ka par skeilošanu jāsāk domāt tikai pie vismaz 15 reizes lielākas slodzes.

3)SBT - piemēram, ieraksti build failā vajadzigās dependencies un tās tiks automātiski pievienotas tavam scala projektam. (play fw izmanto sbt).

4)play fw vari izveidot actionu, kurš apstrādā parastu http pieprasījumu un vari izveidot actionu, kurš apstrādā websocket konekciju (fīča, ko dinamisko valodu saimē labi pilda node.js)

Share this post


Link to post
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...