Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Full-stack JavaScript Development
Search
Tomislav Capan
November 07, 2012
Programming
210
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Full-stack JavaScript Development
Presentation from a Code@Six Zagreb User Group held on 7th November 2012
Tomislav Capan
November 07, 2012
More Decks by Tomislav Capan
See All by Tomislav Capan
NodeJS/Express HTML / REST API Views, Routing & Controllers - @JsZgb Meetup #2
tomislavcapan
1
170
NodeJS Intro - @JsZgb Meetup #1
tomislavcapan
0
130
Full-stack JavaScript Development (rev. 2013)
tomislavcapan
1
78
Asp.Net - Spark View Engine
tomislavcapan
0
60
Git tooling za Windows developere
tomislavcapan
0
96
Razvoj u distribuiranim timovima uz Kanban i Trello
tomislavcapan
0
320
Other Decks in Programming
See All in Programming
The Rails Doctrine Decade
koic
2
590
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
APNsからLive Activityを開始する話
yumnumm
0
170
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
The Curious Case for Waylosing
cassininazir
1
570
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
30 Presentation Tips
portentint
PRO
1
430
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
A Tale of Four Properties
chriscoyier
163
24k
New Earth Scene 8
popppiees
4
2.7k
Abbi's Birthday
coloredviolet
4
10k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Optimising Largest Contentful Paint
csswizardry
37
4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Transcript
Full-stack JavaScript Development alati za pomoć u razvoju JavaScript aplikacija
Krešimir Antolić (@kantolic) Tomislav Capan (@tomislavcapan)
JavaScript
Server Side • JavaScript - jezik • node.js - platforma
• express - web framework
Templating Engines • Mustache ◦ minimal; passive view • Handlebars
◦ minimal on steroids: mustache + helpers • Jade ◦ HAML-like; (pre)bogat • Underscore ◦ minimalan, dolazi uz underscore toolkit
Server Side - zaključak • Rezultat ◦ server-side website /
webapp ◦ isto kao i PHP/Ruby/Python/ASP.Net itd. • Node.js ◦ not a silver bullet
Client Side • server zadužen samo za manipulaciju podataka •
preglednik zadužen za prikaz podataka i korisničkih akcija
Client Side • 1. generacija: libraryji • 2. generacija: MV*
frameworci ◦ trenutno u fokusu • 3 generacija ◦ trenutno još fuzzy budućnost ◦ cilj: integracija
Client Side - MV* • KnockoutJs • BackboneJs ◦ +MarionetteJS
• AngularJs • EmberJs • CanJS • ...
Client Side - UX • Bootstrap • Kendo UI •
jQueryUI • YUI • ExtJs • Dojo
Modularizacija AMD - Asynchronous Module Definition • RequireJs • almond
• Curl • StealJS
Debugging • Browser tools ◦ Firefox FireBug ◦ Chrome Dev
Tools ◦ Opera DragonFly • Mobile ◦ Chrome (4+, adb) ◦ iOS 6 - Safari dev tools ◦ external (weinre, jsconsole)..
Testing • Testing ◦ Jasmine, Mocha, Chai, SinonJs ◦ CasperJs
+ PhantomJs ◦ TestSwarm • CI ◦ self-hosted: TeamCity, Jenkins ◦ SaaS: Travis CI, CircleCI
Dev tooling • Build ◦ Maven? ◦ Ručno pisane skripte?
◦ GruntJs
GruntJs - JS alati • Kvaliteta JS koda ◦ JSLint
/ JSHint • Optimizacija JS koda ◦ concatenatori ◦ minifieri ◦ uglifieri ◦ client-side template builderi
GruntJs - CSS alati • CSS preprocessori ◦ Less ◦
Sass • CSS minifier
GruntJs - Testing alati • Test runneri ◦ Mocha -
server-side ◦ Mocha - client-side ◦ Jasmine ◦ CasperJs / PhantomJs
GruntJs - Deployment alati • Build process ◦ clean deployment
target ◦ build - concat, lint, minify, uglify... ◦ copy assets to target ◦ run tests ◦ exec shell scripts ◦ watchers
GruntJS rulez! • uglavnom sve dostupno kao GruntJs plugin ◦
...ili će uskoro biti...
Uspjeh Batman!
Links Server Side • node.js -http://nodejs.org/ • express http://expressjs.com/ Templating
• Mustache - http://mustache.github.com/ • Handlebars - http://handlebarsjs.com/ • Jade - http://jade-lang.com/ • Underscore - http://underscorejs.org/#template Client-side libs • KnockoutJs - http://knockoutjs.com/ • BackboneJs - http://backbonejs.org/ ◦ +MarionetteJS - http://www.marionettejs.com/ • AngularJs - http://angularjs.org/ • EmberJs - http://emberjs.com/ • CanJS - http://canjs.us/
Links UX • Bootstrap - http://twitter.github.com/bootstrap/ • Kendo UI -
http://www.kendoui.com/ • jQueryUI - http://jqueryui.com/ • YUI - http://yuilibrary.com/ • ExtJs - http://www.sencha.com/products/extjs/ • Dojo - http://dojotoolkit.org/ Modularizacija: • RequireJs - http://requirejs.org/ • almond - https://github.com/jrburke/almond • Curl - https://github.com/cujojs/curl • StealJS - http://javascriptmvc.com/docs.html#!stealjs
Links Testing • Mocha - http://visionmedia.github.com/mocha/ • Chai - http://chaijs.com/
• Jasmine - http://pivotal.github.com/jasmine/ • SinonJs - http://sinonjs.org/ • PhantomJs - http://phantomjs.org/ • CasperJs - http://casperjs.org/ CI • CircleCI - https://circleci.com/ • TeamCity - http://www.jetbrains.com/teamcity/ • Travis CI - http://about.travis-ci.org/ • Jenkins - http://jenkins-ci.org/ Build • GruntJs - http://gruntjs.com/ • Brunch - http://brunch.io/