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
Intro to JavaScript - November 8, 2018
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Slobodan Stojanović
November 08, 2018
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Intro to JavaScript - November 8, 2018
Slobodan Stojanović
November 08, 2018
More Decks by Slobodan Stojanović
See All by Slobodan Stojanović
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
230
Prompt Engineering for Developers @ AWS Community Day Timișoara
slobodan
0
180
AI Agents with JavaScript
slobodan
0
490
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
350
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
230
Building Production-Ready Apps with AI
slobodan
0
370
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
330
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
250
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
380
Other Decks in Programming
See All in Programming
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
ジョジョの世界をXRで再現する
mofurune
0
160
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
ActionController meets Protocol Buffers
sorah
0
520
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
気持ちぃ〜角丸 Squircle
ryu1013
0
310
Railsバージョンを4倍にした話
optim
0
350
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
Jetpack Compose Mechanisms
skydoves
3
820
sbt 2.0: takeoff
eed3si9n
0
160
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The untapped power of vector embeddings
frankvandijk
2
1.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Building the Perfect Custom Keyboard
takai
2
910
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Transcript
JavaScript
Any application that can be written in JavaScript, will eventually
be written in JavaScript. Jeff Atwood, co-founder of StackOverflow
None
Šta je JavaScript?
JavaScript je dinamičan, objektno-orijentisan i slabo tipiziran programski jezik
JavaScript je jedan od najpopularnijih programskih jezika na Svetu!
programski ili skripting jezik? !
Zašto je JavaScript jedan od najpopularnijih programskih jezika i gde
se najčešće koristi?
Slobodan Stojanović CTO @ Cloud Horizon Organizator JS Belgrade Meetupa
Autor "Serverless Applications with Node.js" knjige github.com/stojanovic twitter.com/slobodan_
Istorija interneta
• Predložen 1962. • Kreiran 1969. • Poznat kao ARPANET
• Napravljen od strane ARPA (Advanced Research Projects Agency)
• Konektovao 4 kompjutera u SAD • 1965. uspešno konektovali
2 preko telefonskog sistema • Do 1972. povezano puno Univerziteta i kreirani su email, telnet i newsgroup protokoli
• FTP • Gopher • TCP/IP
ARPANET postaje Internet
Vint Cerf, Father of the Internet
World Wide Web
Predložen marta 1989. u CERNu od strane Tim Berners-Leea
None
Kreirao je prvi pretraživač (browser) 1990. WorldWideWeb
1993. NSCA mosaic pretraživač dodaje inline slike, boje i hiperlinkove
1993. NSCA mosaic pretraživač prvi koji se pokreće u grafičkom
interfejsu
Avgust 1995. Interner Explorer 1.0 baziran na Spyglass Mosaic pretraživaču
početak 1996. NETSCAPE 2 sa novim tehnologijama: frejmovi i JavaScript
Istorija JavaScripta
Osnivač Netscapea Marc Andreessen je verovao da je HTMLu potreban
“lepak” jezik
1995. zapošljavaju Brendana Eicha da implementira Scheme programski jezik u
Netscape Navigator
Istovremeno sarađuju sa Sun Microsystems da dodaju njihov jezik Java
kako bi mogli da se takmiče sa Microsoftom
Kompanija odlučuje da njihov skripting jezik treba da ima sličnu
sintaksu kao Java i da bude komplementaran sa njom
Brendan Eich kreira prototip za 10 dana u maju 1995.
Brendan Eich, creator of JavaScript
Mocha
LiveWire
LiveScript Netscape Navigator 2.0 beta 2
JavaScript Netscape Navigator 2.0 beta 3
Način na koji manipuliše formama, linkovima i sl. postao je
poznat kao DOM level 0
1996. ECMAScript standard od strane European Computer Manufacturers Association
1996. Netscape 3 i JavaScript 1.1
1997. Netscape 4 i DHTML
JavaScript 1.2 [ ] i { } Layer DOM Manipulacija
CSSom
1997. Internet Explorer 4 dozvoljava da se gotovo bilo koji
deo DOMa menja i uvodi filtere i tranzicije
W3C usvaja mnoge delove te sintakse i ona postaje deo
naredne DOM preporuke
sredinom 1998. Netscape 3 postaje Open Source i implementira JavaScript
1.3 ali zbog puno bugova gubi korisnike
1999. Microsoft IE5 Implementira W3C DOM 1 preporuku i dodaje
još puno stvari iz IE4
ECMAScript 3 / JavaScript 1.5* * JavaScript 1.4 je postojao
samo kao server side JS na Netscapeu
Microsoftova ekstenzija JavaScripta: JScript
W3C DOM Drvo sa HTML elementom kao korenom
2000. Opera 4
Pretraživači (5. generacija): Konqueror, ICEbrowser, Television…
2002. Mozilla projekat objavljuje Mozilla pretraživač sa Gecko i SpiderMonkey
Internet Explorer 6 Opera 7
None
Flash
None
None
https://www.creativebloq.com/features/best-flash-sites-ever
<! DOCTYPE html>
None
HTML5 Prvi draft 2008. Zvanično objavljen u Oktobru 2014.
“Thoughts on Flash” April 2008. Steve Jobs
Novembar 2011. Adobe najavljuje da odustaje od mobilne verzije Flasha
HTML5 donosi puno JavaScript APIja uključujući Canvas, WebGL, history, fileApi…
Javascript biblioteke
Manipulacija DOMom je teška. Ili je bar bila dok su
različiti pretraživači na različite načine implementirali standarde
To nas je dovelo do prvih većih JavaScript biblioteka
2004. dōjō toolkit
Februar 2005. Prototype $(), $F(), $$()…
Septembar 2006. MooTools (My Object-Oriented Tools)
Januar 2006. jQuery John Resig
John Resig, creator of jQuery
function addClass(node, class) { if (!node.length) node = [node]; for
(var n = 0, m = node.length; n < m; n++) { if ((" " + node[n].className + " ").indexOf(" "+class+" ") >= 0) { node.className += " " + class; } } } // apply myclass to all nodes addClass(document.getElementById("myelement"), "myclass");
$("#myelement").addClass("myclass");
document.getElementById("myelement").classList.add("myclass");
You might not need jQuery http://youmightnotneedjquery.com
JavaScript frameworks
Sa razvojem samog jezika pojavile su se i ozbiljnije biblioteke
SPA Single Page Applications
Oktobar 2010. Backbone.js MVP* (Model-View-Presenter)
Oktobar 2011. Angular 1 MVVM* (Model-View-Viewmodel)
Decembar 2011. Ember.js MVVM* (Model-View-Viewmodel)
Maj 2013. React “View library”
Maj 2016. Angular 2 RC1
Ostali: Vue.js CanJS, Meteor…
JavaScript i mobilne aplikacije
“Thoughts on Flash” Steve Jobs April 2008.
JavaScript vs Flash
JavaScript vs Native Mobile Apps
Septembar 2011. Mark Zuckerberg “Our biggest mistake was betting too
much on HTML5”
Hybrid Apps
2009. Nitobi Phonegap
2011. Adobe Phonegap
Phonegap postaje Apache Cordova
2015. React Native
Server side JavaScript
Videli smo da JavaScript postaje sve moćniji u pretraživaču i
na mobilnim uređajima. Ali to nije sve!
Decembar 1995. Server side JavaScript Netscape Enterprise Server
Maj 2009. Node.js zasnovan na V8
Za šta je Node.js dobar?
Real-time, REST APIs, Streaming, IoT…
Poznate biblioteke
Express.js Hapi.js Koa
socket.io
Grunt, Gulp, Browserify, Webpack…
Hoćeš da pišeš ES7? Nema problema. Babel
Jezici koji se kompajliraju u JavaScript
Kako popularnost JavaScripta raste tako se pojavljuje sve više jezika
koji se kompajliraju u JavaScript
Zašto?
Neki od jezika koji se kompajliraju u JavaScript
2009. CoffeeScript
2011. Dart
2012. TypeScript
2012. Elm
2013. PureScript
2013. asm.js
2016. ReasonML
WebAssembly
Ok, za šta je JavaScript dobar?
Web aplikacije (jedini radi u svakom pretraživaču bez pluginova)
Server side web aplikacije Real-time, APIs, Streaming…
Internet Of Things Raspbery Pi, Arduino, Tessel…
Mobilne aplikacije Mobile web, Cordova, Ionic, React Native…
Kako naučiti JavaScript?
Postoji ogromna količina resursa na internetu, evo nekih od njih
Sajtovi sa tutorijalima i kursevima
FreeCodeCamp.com
codecademy.com
udemy.com
Knjige
You Don't Know JS Kyle Simpson
Eloquent JavaScript Marijn Haverbeke
JavaScript: The Definitive Guide David Flanagan
JavaScript: The Good Parts Douglas Crockford
Korisni sajtovi
github.com
developer.mozilla.org
nodeschool.io
jschool.xyz
JavaScript zajednice u Srbiji
JS Belgrade
None
Mesečni meetupi
http://meetu.ps/e/FZDmZ/t28WG/f
Coffee.js
Besplatne radionice: NodeSchool, CodeRetreat, Serverless Camp…
meetup.com/JS-Belgrade-Meetup
slack.jsbelgrade.org 1000+ članova
Novi Sad JS
None
meetup.com/novisadjs
Pitanja?
None