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
120
Full-stack JavaScript Development (rev. 2013)
tomislavcapan
1
77
Asp.Net - Spark View Engine
tomislavcapan
0
58
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
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
210
Jetpack Compose メカニズム
skydoves
0
410
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
170
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
560
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
460
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
390
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
190
スマート反転とウェブアクセシビリティ
camiha
0
210
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
We Have a Design System, Now What?
morganepeng
55
8.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A Soul's Torment
seathinner
8
3.6k
What's in a price? How to price your products and services
michaelherold
247
13k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
690
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
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/