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
Javascript勉強会
Search
hiro miyagi
September 12, 2014
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Javascript勉強会
hiro miyagi
September 12, 2014
More Decks by hiro miyagi
See All by hiro miyagi
テスト自動化勉強会
hiro_miyagi
0
79
CI勉強会
hiro_miyagi
0
110
UX勉強会
hiro_miyagi
0
110
チーム開発とGithub
hiro_miyagi
1
82
Git初心者向け勉強会
hiro_miyagi
0
120
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Building Applications with DynamoDB
mza
96
7.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
YesSQL, Process and Tooling at Scale
rocio
174
15k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Speed Design
sergeychernyshev
33
2.2k
BBQ
matthewcrist
90
10k
Product Roadmaps are Hard
iamctodd
55
13k
How to make the Groovebox
asonas
2
2.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Thoughts on Productivity
jonyablonski
76
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Transcript
JavaScriptษڧձ {}
JavaScriptͱ
None
×
JavaScriptͱ • ΦϒδΣΫτࢦ • ϓϩτλΠϓϕʔε • ϑΝʔετΫϥεؔΛαϙʔτ • ྲྀߦ͍ͬͯΔײ͋Γ·͢
JavaScriptͷྺ࢙
ୈҰষϒϥβઓ૪
NetScape vs Microsoft
NetScape Communications • NetScape Navigator(NN)Λ։ൃ • 90લɺओʹ༻͞Ε͍ͯͨϒϥβ • World Wide
Webͷར༻Λ૿Ճͤ͞Δ • খֶߍͷύιίϯʹೖ͍ͬͯͨؾ͕͢Δ • ৭ʑ͋ͬͯݱࡏͷMozilla
Microsoft • NCSA MosaicͷϥΠηϯεΛऔಘ͠Internet Explorer(IE)Λ։ൃ • IEແঈԽͨ͠ΓͰ৭ʑૌ͑ΒΕΔ
݁Ռ • γΣΞ૪͍ͷͨΊɺ֤ϕϯμʔ͕ࠩผԽ͔Γߦ͍టপʹ • Webඪ४ʁͳʹͦΕʁ
JavaΞϓϨοτࡌ • 1995ɺNNʹJavaΞϓϨοτࡌ • ੩తͳHTMLʹಈతͳϓϩάϥϜʂ͍͢͝ʂ • Java͔ͩΒϓϥοτϑΥʔϜʹґଘ͠ͳ͍ʂ͍͢͝ʂ
͔͠͠… • ىಈ͕ΊͪΌΊͪΌ͔ͬͨ
ୈೋষ+BWB4DSJQUੜ
LiveScript • ωοτεέʔϓ͕Javaʹ͔ΘΔϒϥβͰಈ͘εΫϦϓτݴޠͱ ͯ͠։ൃ • ࡞ऀBrendan Eich(ϒϨϯμϯɾΞΠΫ) • Java͕ྲྀߦ͍ͬͯͨͷ͋ΓʮJavaScriptʯʹ໊শ͕มߋ •
NN2.0Ͱ࣮
ҰํMicrosoft • JScriptΛಠ࣮ࣗ • IE3.0Ͱ࣮༧ఆ͕ͩͬͨ৭ʑ͋ͬͯແ͠ʹ
• ϚεΧʔιϧΛͬͯ͘ΔΩϥΩϥ • ը໘શମʹ߱Δઇ • ϒϥβΫϥογϟʔ • ӈΫϦοΫې(ry JavaScriptͷ͍ಓ
ୈࡾষ'MBTIͷొ
Flashͷੜ • FutureWave Software͕Future Splash PlayerΛ։ൃ • ϑΥʔϚοτSWF(Small Web Format)
• ϕΫτϧϕʔε • ಈ࡞͕͍ܰ • Macromedia͕ങऩ͠ʮFlashʯʹ໊শΛมߋ • SWF(Shockwave Format)
ୈ࢛ষඪ४Խ
ECMAScript • IEͷγΣΞ͕ԆͼͯNN͕ϐϯνʹͳΓɺJavaScriptΛඪ४Խ͢Δ ͜ͱʹ • ϛχϚϜͳݴޠ༷ • DOMECMAScriptͰඪ४Խ͞Ε͍ͯͳ͍ • ͋͘·ͰJavaScriptͱ͍͏ݴޠͷ༷ͱͳΔͷ
ECMAScript 3 • ਖ਼نදݱͷಋೖ • จࣈྻपΓͷڧԽ • ྫ֎ॲཧͷಋೖ • Α͘ݟΔͷ͜ͷลΓͷ༷ͷॻ͖ํ
ECMAScript 4 • ClassInterfaceΛಋೖ͠Α͏ͱͨ͠ͱ͜Ζରʹૺ͏ • ActionScript3ͰҰԠ࣮͞Ε͍ͯΔ
JavaScriptͷٯऻ
ୈޒষ"KBYͷ࠶ൃݟ
GoogleʹΑΔAjaxͷ࠶ൃݟ • Google Maps • AjaxΛ༻͍ͨը໘ͷඳը • ࠓ·Ͱʹͳ͔ͬͨϢʔβʔମݧ • Gmail
• GoogleݕࡧͷαδΣετ
AjaxʹΑͬͯJavaScript࣌ͷ౸དྷ • ͜Ε·ͰͷWebʹແ͔ͬͨૢ࡞ײ • WebΞϓϦέʔγϣϯͷՄೳੑΛ͛ͨ • ϥΠϒϥϦͷॆ࣮ • prototype.js •
jQuery • MochiKit
ୈষαʔόʔαΠυ
Node.jsʹద͍ͯ͠Δͷ • େྔͷϦΫΤετॲཧ͕ඞཁͳͷ • API • ϦΞϧλΠϜੑͷ͋Δͷ • Push௨͕ඞཁͳͷ
࠷ۙͷJavaScriptࣄ
ECMAScript 5 • ͍͍ͩͨͷϞμϯϒϥβͰ࣮͞Ε͍ͯΔ • strictϞʔυ • JSONαϙʔτ • Arrayͷ֦ு
ECMAScript 6 • ΞϩʔϑΝϯΫγϣϯ • Ϋϥε • letɺconst • Ϧετแ
• ࡦఆத
ϑϩϯτΤϯυ։ൃʹ͓͚Δ JavaScriptͷར༻
λεΫϥϯφʔ • Grunt.js • gulp • JSɺCSSͷ݁߹ɾѹॖͳͲϑϩϯτΤϯυʹ͓͚ΔλεΫΛࣗ ಈԽ
Gruntfile.js
AltJS
AltJSͱ • JavaScriptΛସ͢ΔͨΊͷݴޠ • ίϯύΠϧ͢ΔͱJavaScriptʹͳΔ • AltJSઓࠃ࣌
Haxe • 2005(AltJSͰૣΊ) • ੩తܕ͚ɺܕਪ • ύλʔϯϚον • EC4ʹΑ͘ࣅͨจ๏
Hexeαϯϓϧίʔυ
CoffeeScript • ؆ܿͳจ๏ͳͷͰՄಡੑ্͕͢Δ • JavaScriptͷγϯλοΫεγϡΨʔͷ༷ͳͷͳͷͰֶशίετ ͕͍ • ()ɺ{}ɺʀ͕͍Βͳ͍ • RailsͰ࠾༻
CoffeeScriptαϯϓϧίʔυ
JSX • DeNA͕։ൃ • ੩తܕ͚ • Ϋϥε • ໊લۭؒ •
࠷దԽ͕ͯ͘͢͝ૣ͍Β͍͠Ͱ͢
Dart • Google͕։ൃ • ୯ମͷݴޠ༷͍࣋ͬͯΔ͕JavaScriptมͷπʔϧ͍ͭͯ ͍Δ • จ๏͕ JavaͬΆ͍ •
DartVM͍ͭͰ͔͢
TypeScript • Microsoft͕։ൃ • JavaScriptΛܕΫϥεͰߏจ֦ு • ܕਪ
ΫϥΠΞϯταΠυ
ΫϥΠΞϯταΠυͷมԽ • SPA(Single page Applicatoin) • ΫϥΠΞϯταΠυMVC • ΫϥΠΞϯταΠυMVVM •
Facebook, Twitter
ΞʔΩςΫνϟͷมԽ
։ൃʹ͓͚Δݒ೦ • ύϑΥʔϚϯε • αʔόʔαΠυͷΈ • DOMૢ࡞ͱ͔AjaxͭΒ͍ʢjQueryͱ͔ʣ
ΫϥΠΞϯταΠυMVC • ΫϥΠΞϯταΠυͰMVC • backbone.js
ΫϥΠΞϯταΠυMVVM • ΫϥΠΞϯταΠυͰMVVM • vue.js, facebook/react, angularJS • ํσʔλόΠϯσΟϯά •
DOMૢ࡞͕͍Βͳ͍
Vue.jsαϯϓϧ
͋Γ͕ͱ͏͍͟͝·ͨ͠