current state & what's coming
THIS ALREADY HAPPEN
Client Side
Technologies of Choice
Server Side
Technologies of Choice
Quality Assurance
3rd party integrations
Server Side
Technologies of Choice
business logic, api
computing power, PaSS, IaSS, private clouds, orchestration, auto scaling, storage, cdn
Server Side
Technologies of Choice
business logic, api
PaaS, IaaS, auto scaling, storage, cdn
Rust
Scala / Elixir
Clojure
Redis
PostgreSQL FTS
Citus Data
Private Clouds on dedicated hardware
vm | JVM | BEAM | JVM, JS | compiled |
syntax | JAVA (+) | *Ruby | *LISP | *C++ |
concurency | actor model | actor model | STM | ownership model |
framework | Play | Phoenix | Compojure* / Reagent* | Iron |
who use it | EPFL $2.3mln ERC Typsafe Inc. |
Jose Valim Plataforma. Community |
Clojure Community | Rust Community $Mozilla |
st stable rel. | 2006 (v2.*) | 2014 | 2009 | 2015 |
typing | static | dynamic* | dynamic | static |
github stars
16_300 - rust
9_521 - ruby
6_700 - elixir
6_002 - scala
4_961 - clojure
2_788 - iron
30_710 - ror
6_046 - phoenix
7_775 - play
2_870 - compojure
3.24 | 156 | 3.70 | 142 / 5.5 |
4.29 | 121 | 1.61 | 76 / 2.1 |
5.75 | 354 | 1.70 | 56 / 1.8 |
11.52 | 686 | 8.21 | 45 / 1.4 |
14.07 | 607 | 2.14 | 61 / 2.0 |
18.93 | 1,013 | 2.90 | 44 / 1.1 |
48.92 | 937 | 0 | 47 / 1.2 |
57.98 | 243 | 0 | 170 / 4.4 |
exec (s) | mem (kb) | comp (s) | loc / size (kb) |
Ruby 3.0 is scheduled to 2020
(Summer Olympics in Tokyo)
class String
BLANK_RE = /\A[[:space:]]*\z/
def blank?
BLANK_RE === self
end
end
extern "C" fn fast_blank(buf: Buf) -> bool {
buf.as_slice().chars().all(|c| c.is_whitespace())
}
class String
BLANK_RE = /\A[[:space:]]*\z/
def blank?
BLANK_RE === self
end
end
extern "C" fn fast_blank(buf: Buf) -> bool {
buf.as_slice().chars().all(|c| c.is_whitespace())
}
class String
BLANK_RE = /\A[[:space:]]*\z/
def blank?
BLANK_RE === self
end
end
fast_blank (C) 10 x faster then ruby
rust implementation > c implementation
customers
developer preferences
technology trends
Client Side
Technologies of Choice
frameworks*
Ionic ^2 (angular.js)
Foundation For Apps (angular.js)
Ember CLI Cordova
...
.. framework or lib
Photon (ui)
...
.. framework or lib
how
...
customers
developer preferences
technology trends
Quality Assurance
api / business logic / client side
3rd Integrations
customers
developer preferences
technology trends
Client Side
Technologies of Choice
Server Side
Technologies of Choice
Quality Assurance
3rd party integrations
Language
Server Side Framework
Client Side Framework
1 Maja 17/4 piętro II
44 spotkania,
od czerwca 2015
4 weeks - 160h
Client Side
Technologies of Choice
Server Side
Technologies of Choice
Quality Assurance
3rd party integrations
Than you!
Any Questions?