Play/Scala as application platform  (for http://wbcamp.in.ua 2013)
Upcoming SlideShare
Loading in...5
×
 

Play/Scala as application platform (for http://wbcamp.in.ua 2013)

on

  • 487 views

Hight level overview of play/scala as development platform

Hight level overview of play/scala as development platform

Statistics

Views

Total Views
487
Views on SlideShare
453
Embed Views
34

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 34

https://twitter.com 34

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Play/Scala as application platform  (for http://wbcamp.in.ua 2013) Play/Scala as application platform (for http://wbcamp.in.ua 2013) Presentation Transcript

  • Scala/Play - web platformRuslan Shevchenko<ruslan@shevchenko.kiev.ua>
  • Scala -- язык программирования:http://www.scala-lang.orgPlay – frameworkhttp://www.playframework.orgOpen SourceСуществует поддерживающаяорганизация (typesafe).http://www.typesafe.org
  • ХорошоЛаконичный языкСтатическая типизацияROR-подобный фреймворкИз коробкт много хороших вещей(less, coffescript, require.js ... etc)Async interfaces. [WebSockers, comet]Developer friendlyПлохоНезнакомый языкROR-подобный фреймворк.................
  • Scala – новый язык
  • ScalaJVM – based (Java byte-code)Статическая типизация, вывод типовФункциональное программированиеОбъектно ориентированное тоже естьМножественное наследование
  • Scala, пример кода:def sumEvens(seq: Seq[Int]) =seq.filter.{ _ % 2 == 0 }.sum
  • Scala, пример кода:int sumEvens(l: ArrayList[Integer]): Int{int sum = 0for(x in l) {if (x %2 == 0) sum += x;}return sum;}def sumEvens(seq: Seq[Int]) =seq.filter.{ _ % 2 == 0 }.sumJava:Java:
  • Scala, пример кода:function sumEvens($seq){$sum = 0foreach($seq as $x) {if ($x %2 == 0)$sum = $sum + x;}return $sum;}def sumEvens(seq: Seq[Int]) =seq.filter.{ _ % 2 == 0 }.sumPHP:PHP:
  • Scala1. Кривая обучения2. Скорость компилятораПроблемы:Достоинства:1. Мощность и лаконичность.2. Параллелизм из коробки3. Интеграция с Java инфраструктурой4. DSL........ (можно рассказывать довольно долго)
  • Синхронно
  • Синхронно
  • Асинхронно
  • Неблокирующее APIAkkaNettyОрганизация взаимодействия с браузеромRequest => ReplyWebSocketComet
  • Поддержка client-side средствlesscoffescriptJavaScript modules
  • LAMPLinuxApacheMySqlPHP (Perl, Python)CPMSCloudPlayMongoScala
  • LAMPLinuxApacheMySqlPHP (Perl, Python)CPMSCloudPlayMongoScalaCPMSCloudPlayMongoScalaCP_SCloudPlayAnyScala/JavaCPMSCloudPlayMongoScala
  • CP_SCloudAmazon, Heroky, CloudBess, Cloud Foundry...Play_NoSQLMongo, Cassandra, ...SQLPostgress ....Scala
  • Легкий (в противовес java традиции)Дружественный к разработчику
  • Использование:https://github.com/guardian/http://engineering.linkedin.com/
  • Scala/Play: ресурсы
  • Scala/Play: ресурсыhttp://www.typesafe.com/ (play activator)http://www.playframework.org(documenation)http://www.scala-lang.org (documentation)http://twitter.github.io/scala_school/
  • Scala в UAgoogle group: scala-uaFB Group: scala ukraine.https://www.facebook.com/groups/256373621041781/https://groups.google.com/forum/?fromgroups#!forum/scala-uaВсе читают – никто не пишет
  • Руслан Шевченкоruslan@shevchenko.kiev.ua@rssh1