Jump to content
php.lv forumi

Play 'framework' nākotne


ieleja

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
Link to comment
Share on other sites

  • Replies 45
  • Created
  • Last Reply

Top Posters In This Topic

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. 

Link to comment
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)

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...