Alkalmazásfejlesztés a weben

Előadó Vadász László

  1. Honnan jön a web?
  2. Hogyan épül fel egy webkiszolgáló?
  3. Mi az, hogy kliens oldal?
  4. Natív vagy Webes alkalmazás?
  5. Mitől lesz alkalmazás egy weboldal?
  6. Mi az az SPA?
  7. Hogyan kezdjük?
  8. Merre tart a web?

Honnan jön a web?

Hogyan épül fel egy webkiszolgáló?

Szereplők

Base flow

Kommunikációs csatornák

WebRTC

Mi az, hogy kliens oldal?

Futtató környzete - Böngésző

Egységes OS független platform.


"Határtalan lehetőségek"
  • Egységes fejlesztői platform
  • Egy nyelven programozható
  • Egységes és bővülő API
  • Gyorsan elsajátítható
  • Jól átgondolt leíró nyelvek
Kötöttségek
  • Rengeteg biztonsági megkötés
  • Elérhetetelen OS szolgáltaltások
  • Csak egy nyelven programozható
  • Kompatibilitási problémák

HTML

A weboldalak struktúráját leíró nyelv

  • Strukturális leírás a felhasználónak...
  • ... és a gépi értelmezés számára (böngésző, robot, ...)

CSS

A weboldal megjelenését és formzását leíró nyelv

  • Alapvető formázás (font, color, ...)
  • Layout (position, float, ...)
  • Méret skálázás (media query, felbontás független mértékegység)
  • Animációk (keyframe, transition)
  • Betűkészletek kezelése (@font)
  • Összetett árnyékok és filterek (box-shadow, -webkit-filter, ...)

JavaScript

  • Scriptnyelv
  • Szintaxisa a Java-ra hasonlít
  • Dinamikus
  • Több paradigmát is támogat (OOP, Funkcionális, ...)
  • Prototype alapú leszármaztatás

Natív vagy Webes alkalmazás?

Attól függ mi a cél!


  • Nagyon gyors(?) futás
  • Elérhetőek az OS szintű API-k
  • Optimálisabban kihasználható HW
  • App-store
  • Offline jobban használható
  • Gazdag UI komponens készlet
  • Telepíteni kell
  • Gyors futás
  • Gyors fejlesztés
  • Könnyen frissíthető
  • SEO szempontból jobb
  • Platform független
  • Felbontástól független UI
  • Böngésző kell

Mitől lesz alkalmazás egy weboldal?

HTML5?

  • Gyűjtő fogalom a modern webre
  • HTML5 + CSS3 + új JavaScript API-k
  • = Web alkalmazás

Megjelenítés

  • html + CSS
  • Űrlap elemek (email, number, range, date,...)
  • Animációk

Multimédia

  • 2D: Canvas / SVG / MathML
  • 3D: WebGL - Webgl water
  • Video
  • Audio
  • Web audio API - Music

Offline használat

  • Lokális adattárolás (Local/Session Storage, IndexedDB)
  • Application cache
  • Session history
  • File API

Mobil

  • Akkumulátor töltöttség
  • GPS
  • Szenzorok (Gyorsulásmérő, távolság érzékelő, ...)
  • Kamera

Továbbá

  • Web worker többszálú adatfeldolgozás
  • Biztonság Same origin testreszabás

Mi az az SPA?

SPA - Single Page Application

Pro és Contra

  • Különválik a back-end és a
    front-end
  • Szerver terhelés csökken
  • Minimális adatáramlás
  • Újrahasznosítható szerver API
  • Felhasználó élmény növelhető
  • Komplex alkalmazások építhetők
  • Nehézkes SEO
  • Az alkalmazás indulás lassú lehet
  • Modern böngésző szükséges IE9+
  • Összetett kliens oldali kód

SPA keretrendszerek

Hogyan kezdjük?

Tudás

Legyünk nyitottak az újra


Fejlesztés

A megfelelő eszköz megválasztása


Technológiák

A technológiát is mindig a céljaink szerint válasszuk


Tesztelés

Nagyon fontos!


  • Scope
    • Unit test back-end, front-end külön
    • End-to-End test integrációs teszt
  • Front-end eszközök

Merre tart a web?

  • Gyorsuló szabványosítás / implementálás
  • Modularizált CSS, HTML
  • EcmaScript 6.0
  • Mobileszközökön való elterjedés

Köszönöm a figyelmet

Kérdések?

http://maxinteger.github.io/presentations