This document discusses version control systems and compares SVN and GIT. It covers the basics of using GIT including initializing a repository, tracking changes, branching and merging, and collaborating through remote repositories. The document advocates for GIT as a distributed, flexible system with snapshots instead of file diffs for tracking versions and changes. It also discusses different workflows and commands like commit, branch, rebase, and remote for working with GIT.
Bootstrap is an open source front-end framework that provides responsive grid system, extensive prebuilt components and JavaScript plugins. It has over 16,000 watchers and 1,400 forks on GitHub. The document discusses Bootstrap's history, structure, components, ways to use it including Less and JavaScript, and new features in version 2.0 such as a responsive grid system, documentation and customize build option. It encourages questions at the end.
Základný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce. Nasleduje diskusia o kontinuálnej integrácii a Hudson CI.
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webuWebglobe - Yegon
Prednáška Juraja Hantáka, technického riaditeľa o možnostiach nastavenia infraštruktúry projektu tak, aby zvládla rastúci počet jeho používateľov.
V prezentácii je vysvetlené vertikálne a horizontálne škáľovanie, možnosti návrhu architektúry a rozloženia serverov a best practice riešenia.
Prednáška odznela na Wordcamp Slovensko 2015 18.4.2015 na FIIT STU.
Zváračský kurz na BlazeDS a Google App EngineJuraj Michálek
Základný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce.
This document discusses version control systems and compares SVN and GIT. It covers the basics of using GIT including initializing a repository, tracking changes, branching and merging, and collaborating through remote repositories. The document advocates for GIT as a distributed, flexible system with snapshots instead of file diffs for tracking versions and changes. It also discusses different workflows and commands like commit, branch, rebase, and remote for working with GIT.
Bootstrap is an open source front-end framework that provides responsive grid system, extensive prebuilt components and JavaScript plugins. It has over 16,000 watchers and 1,400 forks on GitHub. The document discusses Bootstrap's history, structure, components, ways to use it including Less and JavaScript, and new features in version 2.0 such as a responsive grid system, documentation and customize build option. It encourages questions at the end.
Základný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce. Nasleduje diskusia o kontinuálnej integrácii a Hudson CI.
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webuWebglobe - Yegon
Prednáška Juraja Hantáka, technického riaditeľa o možnostiach nastavenia infraštruktúry projektu tak, aby zvládla rastúci počet jeho používateľov.
V prezentácii je vysvetlené vertikálne a horizontálne škáľovanie, možnosti návrhu architektúry a rozloženia serverov a best practice riešenia.
Prednáška odznela na Wordcamp Slovensko 2015 18.4.2015 na FIIT STU.
Zváračský kurz na BlazeDS a Google App EngineJuraj Michálek
Základný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce.
Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
2. Prečo Reqire.JS?
Web stránky => Web aplikácie
stúpa komplexita kódu ako aplikácia rastie
Ručný wiring sa stáva nemožný
developeri potrebujú nástroje na “modularizáciu”
Optimalizovaný deployment
výsledný build s pár HTTP rqs
3. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
4. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
5. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
6. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
7. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
8. Web stránky => Web aplikácie
klasické web stránky vrátia vždy celý dokument
9. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
10. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
11. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
12. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
13. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
14. Web stránky => Web aplikácie
Web-app bootstrapne, potom už posiela iba payload
16. Prečo web-aplikácie
Rýchlosť
Jacob Nielsen o časoch odozvy
• 0.1 seconds gives the feeling of instantaneous response — that is, the outcome feels
like it was caused by the user, not the computer. This level of responsiveness is
essential to support the feeling of direct manipulation.
• 1 second keeps the user's flow of thought seamless. Users can sense a delay, and thus
know the computer is generating the outcome, but they still feel in control of the
overall experience and that they're moving freely rather than waiting on the computer.
• 10 seconds keeps the user's attention. From 1–10 seconds, users definitely feel at the
mercy of the computer and wish it was faster, but they can handle it. After 10 seconds,
they start thinking about other things, making it harder to get their brains back on
track once the computer finally does respond.
17. Prečo web-aplikácie
“Tučný klient” je rýchlejší
• Spracovať a poslať JSON je jednoduchšie ako HTML
• Niektoré interakcie nepotrebujú spoluprácu servera
• Optimistické server operácie
18. Prečo web-aplikácie
Server je mŕtvy
• Je jednoduché začať “tučný” projekt:
• statické HTML
• engine v Javascripte
• odozvy servera z pripravených .JSON
19. Prečo web-aplikácie
Server je mŕtvy
• Je jednoduché začať “tučný” projekt:
• statické HTML
• engine v Javascripte
• odozvy servera z pripravených .JSON
Pridať “živý” server
môžete kedykoľvek!
20. Ručný wiring sa stáva nemožný
Väčšie JS aplikácie rastú v chaos
29. Dostupné možnosti
<script> loadingu v prehliadačoch
XHR
• Potrebuje eval(), kód modulu je string!
• Podora cross-origin-resource-sharing (CORS) nie je úplná
• Počas ladenia nesedia čísla riadkov s pôvodným kódom
30. Dostupné možnosti
<script> loadingu v prehliadačoch
XHR
• Potrebuje eval(), kód modulu je string!
• Podora cross-origin-resource-sharing (CORS) nie je úplná
• Počas ladenia nesedia čísla riadkov s pôvodným kódom
• Dôležitá issue:
• potrebujeme poznať závislosti modulu pred spustením
34. Dostupné možnosti
<script> loadingu v prehliadačoch
Webworkers
• Potrebuje eval(), kód modulu je string!
• Podpora je ešte slabšia ako pri CORS
• Počas ladenia nesedia čísla riadkov s pôvodným kódom
39. A čo to dôležité issue?
potrebujeme poznať závislosti modulu pred spustením
40. A čo to dôležité issue?
potrebujeme poznať závislosti modulu pred spustením
obalíme kód modulu volaním predpripravenej funkcie
41. A čo to dôležité issue?
potrebujeme poznať závislosti modulu pred spustením
obalíme kód modulu volaním predpripravenej funkcie
vytvorili sme prvý *AMD modul, hey!
*asynchronous module definition
44. Require.JS
require() - natiahni špecifikované závislosti
a spusti callback, keď je všetko pripravené
*app.js
45. Require.JS
require() - natiahni špecifikované závislosti
a spusti callback, keď je všetko pripravené
Require.JS ctí
“convention over configuration”
umiestnenie závislosti je relatívne
voči volaniu require()
46. Require.JS
define() - zaregistruj argument ako AMD modul,
natiahni špecifikované závislosti
a spusti callback, keď je všetko pripravené
57. Require.JS
zhrnutie, prečo AMD
• AMD moduly sú flexibilné a async
• fungujú v browseri už teraz, aj bez “zbuildenia”
• podpora pluginov, je možné natiahnuť aj iné typy ako JS
• path aliasy, viac verzií modulu (jquery1.6, jquery1.7)
• jednoznačná viditeľnosť závislostí modulu
• čistý global-namespace, definícia modulu je closure
• podpora veľkých hráčov (jQuery, Dojo, Mootools)
58. Reqire.JS + Backbone.JS
ako sa kua robí väčšia aplikácia
Organizujte podľa funkčných celkov
foldre Models, Views, Controllers sú antipattern
Modul Application
deffered initializers, event aggregator
Optimalizovaný deployment
výsledný build s pár HTTP rqs
65. Modul Application
event aggregator
Ako na komunikáciu
medzi dvoma views
(funkčnými celkami),
ktoré sú izolované
initializermi?
Použijeme inštanciu
app, cez ktorú si
moduly posielajú
správy
76. Prečo Reqire.JS?
už musí byť jasné každému
AMD greatest benefit isn’t being able to load
scripts on-demand, as some people may think.
The greatest benefit is the increase of the code
organization/modularity and also the reduced
need for globals/namespacing.
http://blog.millermedeiros.com/amd-is-better-for-the-web-than-commonjs-modules/
77. Zdroje
Javascript
Prototypes and Inheritance in JavaScript
Require.JS
adobe.com/.../javascript-architecture-requirejs-dependency-management.html
requirejs.org/docs/api.html
github.com/jrburke/r.js
github.com/requirejs/example-libglobal
Backbone.JS
lostechies.com/derickbailey/category/backbone/
addyosmani.github.com/backbone-fundamentals/
github.com/hautelook/vertebrae