Web Technologies

current state & what's coming

What are the web apps?

What we do?

What we do?

THIS ALREADY HAPPEN

Client Side
Technologies of Choice

Server Side
Technologies of
Choice

Quality Assurance

3rd party integrations

Web & Mobile Solutions

Server Side
Technologies of Choice

Language / Frameworks

business logic, api

Data Storage /

Search Engine

 

Cloud Infrastructure

computing power, PaSS, IaSS, private clouds, orchestration, auto scaling, storage, cdn

Server Side
Technologies of Choice

Language / Frameworks

business logic, api

Data Storage /

Search Engine

 

Cloud Infrastructure

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

Community

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)

 

  • 3.0 x times faster then 2.0 and
  • modern concurrency approach
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

chooses ...

Client Side
Technologies of Choice

Web Browser Apps

frameworks*

Mobile Apps

Desktop Apps

  • 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

chooses ...

Quality Assurance

Testing Tools

api / business logic / client side

Peer Review

Infrastructure

  • Code Review
  • Pull Request Workflow
  • Pair Programming
  • Virtual Development (conteiners)
  • In Cloud Development

3rd Integrations

Web Assembly

binary format for future

of the web

customers

 developer preferences

technology trends

chooses ...

How to start?

too many options ...

Client Side
Technologies of Choice

Server Side
Technologies of
Choice

Quality Assurance

3rd party integrations

Coder Dojo

Language
Server Side F.
Client Side F.

What to choose

 

Language

JavaScript

Ruby
Rust

What to choose

 

Server Side Framework

Ruby
on
Rails

What to choose

 

Client Side Framework

Angular
Ember
React*

  • Coder Dojo

  • Kodersi

  • Staż w Selleo

Coder Dojo

every Thursday 4 PM

1 Maja 17/4 piętro II

Coder Dojo

by Mikstura.IT

44 spotkania,

od czerwca 2015

Coder Dojo

by Mikstura.IT

Coder Dojo

by Mikstura.IT

Coder Dojo

what for?

  • continues growth, new skills
  • teamwork
  • portfolio
  • gaining skills required in industry

Kodersi

Summer 2016

4-8 July

Kodersi

winter '16

Kodersi

winter '16

Kodersi

http://pawe.herokuapp.com

Kodersi

summer '16, 4th - 8th July

Kodersi

summer '16, 4th - 8th July

Płatny staż w Selleo

11th July - 5th August

4 weeks - 160h

Płatny staż w Selleo

Client Side
Technologies of Choice

Server Side
Technologies of
Choice

Quality Assurance

3rd party integrations

Web & Mobile Solutions

Płatny staż w Selleo

Coder Dojo

Kodersi

Staż w Selleo

Than you!

Any Questions?

Technologie internetowe - stan na dziś, oraz co przyniesie przyszłość

By Michał Czyż

Technologie internetowe - stan na dziś, oraz co przyniesie przyszłość

http://www.koweziu.edu.pl/pp_zawod.php?nr_zawodu=351203

  • 1,305