Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aký programovací jazyk a framework si vybrať a prečo?

1,859 views

Published on

  • Be the first to like this

Aký programovací jazyk a framework si vybrať a prečo?

  1. 1. Vybrané témy implementácie webových aplikácií JÁN SUCHAL
  2. 2. 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  ???
  3. 3. “Rýchlosť”http://shootout.alioth.debian.org/
  4. 4. “Popularita”http://news.ycombinator.com/item?id=3746692
  5. 5. “Popularita”http://news.ycombinator.com/item?id=3746692
  6. 6. Implementačné jazyky Ruby, Python  mixiny, bloky, OO, otvorené triedy PHP  dynamické typovanie Produktivita * 10 Výkon * 2  GC, objekty + Java, C# primitívne typy C++, C  štruktúry, funkcie, “objekty”, knižnice Assembler  inštrukcie
  7. 7. 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
  8. 8. 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.NEThttp://www.quora.com/What-are-the-programming-languages-and-frameworks-the-top-NYC-startups-are-using
  9. 9. Frameworky (Django vs. Rails 2.x)http://www.scribd.com/doc/121814/RailsDjango-Comparison
  10. 10. 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
  11. 11. 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)
  12. 12. 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.”

×