Ako si vybrať programovací jazyk a framework?
Upcoming SlideShare
Loading in...5
×
 

Ako si vybrať programovací jazyk a framework?

on

  • 1,186 views

 

Statistics

Views

Total Views
1,186
Views on SlideShare
1,149
Embed Views
37

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 37

https://twitter.com 37

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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

Ako si vybrať programovací jazyk a framework? Ako si vybrať programovací jazyk a framework? Presentation Transcript

  • Vybrané témy implementácie webových aplikácií JÁN SUCHAL
  • Ktorý implementačný jazyk & framework? Programátor  Rýchlosť (výpočtová, vývojová)  Podpora (dokumentácia, knižnice, pluginy, IDE, komunita)  Prehľadnosť, intuitívnosť (štandardy, konvencie)  Koľko mi zaplatia a kde? Manažér  Koľko to stojí? (licencie, nástroje...)  Koľko to ušetrí náklady? (menej serverov?, menej ľudí?)  Koľko ľudí to vie? (ako rýchlo Ťa viem nahradiť?) Zákazník  ???
  • “Rýchlosť”http://shootout.alioth.debian.org/
  • “Popularita”
  • “Popularita”http://news.ycombinator.com/item?id=3746692
  • “Popularita”http://news.ycombinator.com/item?id=3746692
  • Kde mi za to zaplatia? profesia.sk  “java” – 288 ponúk  “php” – 131 ponúk  “c#” – 114 ponúk  “python” – 26 ponúk  “ruby” – 7 ponúk  “j2ee” – 110 ponúk  “asp” – 59 ponúk  “rails” – 7 ponúk  “django” – 0 ponúk
  • Kde mi za to zaplatia?
  • Implementačné jazyky LISP, Clojure  homoikonicita  mixiny, bloky, OO, Ruby, Python otvorené triedy Produktivita * Y PHP  dynamické typovanie Výkon * X  GC, objekty + primitívne Java, C# typy C++, C  štruktúry, funkcie, “objekty”, knižnice Assembler  inštrukcie
  • Prehľad veľkých webaplikácií Wikipedia – PHP, MySQL YouTube – Python, MySQL Facebook – PHP, MySQL, HBase Twitter – Ruby on Rails, MySQL, Scala Groupon – Ruby on Rails, MySQL Foursquare – Scala, MongoDB Bit.ly – Python, Tornado, MySQL, MongoDB LinkedIn – Java, Spring MVC, Ruby on Rails StackOverflow – C#, ASP.NET GetPrismatic - Clojurehttp://www.quora.com/What-are-the-programming-languages-and-frameworks-the-top-NYC-startups-are-using
  • Frameworky (Django vs. Rails 2.x)http://www.scribd.com/doc/121814/RailsDjango-Comparison
  • Frameworky na webaplikácie Event-based vs. MVC  “desktopové” vs. “RESTful” Perzistencia  Adaptéry (MySQL, PostgreSQL, Oracle, MSSQL...)  Objektovo-relačné mapovanie  NoSQL databázy (dokumentové, grafové, key-value) Bezpečnosť  SQLi, XSS, CSRF, cookie tampering Šablónovací jazyk  generovanie formulárov, formátovanie... AJAX Validácia  Server + klient
  • Frameworky na webaplikácie Testovanie  unit testy, integračné testovanie, testovanie s db, záťažové testy Automatizácia  Generátory kódu (modely, kontrolery, testy)  Automatické administračné rozhranie  Inštalácia závislostí aplikácie Cachovanie Podpora zmien databázy počas vývoja Podpora v editoroch a IDE Komunita (vývoj, fóra, biznis)
  • Zhrnutie Menej výkonný jazyk > dlhší vývoj  Rýchla verzia 1.0, úzke hrdlo sa prepíše do rýchlejšieho jazyka Trend polyglot programovania  Aplikácie používajúce niekoľko jazykov sú čoraz bežnejšie  Použite najlepší nástroj/jazyk/framework na daný problém “Koľko jazykov vieš toľko krát si programátorom.”