JavaQne(ããã°ãã ã) 2015 Fukuokaã§çºè¡¨ããã¹ã©ã¤ãã§ã https://atnd.org/events/61398
KnockoutJSã使ã£ãéçºã1å¹´ã»ã©åã«è¡ã£ã¦ãã¾ããã å ã ã¯ãããã¿ã¤ãã³ã°ã ãã«ä½¿ãäºå®ã§ãããã使ãåæãè¯ãã£ãã®ã§ãã®ã¾ã¾æ¬éçºã«åãè¾¼ã¿ã¾ããã æè¿ãå°ãAngularã«ã¤ãã¦ã調æ»ããã¦ããã®ã§ãKnockoutã¨æ¯è¼ã§ããé¨åãæ¸ãã ãã¦ã¿ã¾ããã KnockoutJSã®é·æï¼çæãããã¦AngularJSã¨ã®æ¯è¼ã¨ãªãã¾ãã é·æï¼åæ¹åã®ãã¼ã¿ãã¤ã³ãã£ã³ã° Knockoutã®æå¤§ã®é·æã¯ãééããªãå¼·åãªåæ¹åã®ãã¼ã¿ãã¤ã³ãã£ã³ã°ã¨è¨ãã¾ãã ãã®åãã試ããããã°æ¬å®¶ãµã¤ãã®Exampleå種ã試ãã¨è¯ãããããã¾ããï¼åèURLï¼ã ãããã¯èªåèªèº«ã§ãµã³ãã«ã»ã¢ããªã±ã¼ã·ã§ã³ãä½ãã¨ããã§ãããã ããã«èã«ãªãã¯ãã§ãã DOMã¨JSã®ã¢ãã«ãç´ä»ãã¦ãæ´åæ§ãã¨ãå¦çãå ¨ã¦ãã¬ã¼ã ã¯ã¼ã¯å´ãå¸åãã¦ããã¾ãã JSå´ã®è¨è¿°ãã·ã³ãã«ã«ãªãã®ã§ãã¢
AngularJS å«ããªäººãå¤ãæ¨ä»ã«ã¤ã㦠æè¿ AngularJS å«ãã¨ããè¨èª¬ãå¤ãã§ãã、ãããããã¨ãä»°ãæ¹ã ã¯ä¸»ã«å éç㪠JSer ã®ããã«æãã¾ã。 ãã 、åãªããã®å ´åã«ã¯ï½¤ã¦ã¼ã¶ã¼åãã®ç»é¢ã®æ§ç¯ãªã©ã«ã¯ AngularJS ã使ã£ã¦æ¸ããã¨ã¯æè¿ã¯ã»ã¨ãã©ãªã、JS ãæ¸ãã¨ããã°ãã£ã±ã管çç»é¢ã§ã。 管çç»é¢ã® JS ãæ¸ãã«ããã£ã¦ã¯ AngularJS way ã«ã®ã£ãã£ã¦ããã¨éå¸¸ã«æ¥½ã§ããã。管çç»é¢ãæ¸ãããããä¸ã§ã¯ vue-js ã¨ãã§é å¼µã£ã¦æ¸ãã¨è¦éããæªããªã£ãããã¾ãã、ãã£ãåããªã©ã¯å¿ è¦ãªãã¨ããã¨ããã§ angular.js ã¯ãªã¨ãããªã¨æã£ã¦ãã¾ã。 ãã£ã¨ãããã®ãããã°ç§»ãããã§ãã、ã³ã¹ãããããã«ä½ãããã管çç»é¢ãä½ãã¨ããæå³ã§ã¯ãã¯ã AngularJS ã«ã¾ã ã¡ãªããããããªãï½¤ã¨æã£ã¦ãã¾ã。 2.0 ãåºãæ
対象èªè jQueryãªã©ã使ã£ã¦ããJavaScriptéçºè JavaScriptã使ã£ãè¤æ°äººã§ã®ããã¸ã§ã¯ãã«åå ãã¦ããæ¹ JavaScriptã使ã£ã¦ãµã¼ãçã¨é£æºããããã³ãã¨ã³ãã®éçºããã¦ããæ¹ å¿ è¦ãªç°å¢ ãã®è¨äºã§ã¯ãAngularJSã使ç¨ããChromeï¼36.0ï¼ãIE11ãFirefoxï¼31.0ï¼ãSafariï¼7.0.5ï¼ã®ç°å¢ã§ç¢ºèªãè¡ã£ã¦ãã¾ãã JavaScriptéçºã®æ´å² ãã¬ã¼ã ã¯ã¼ã¯ã説æããåã«ã10å¹´ã»ã©åããç¾å¨ã¾ã§ã®JavaScriptãæ©ãã§ããæµããåããã¨ãã©ããã¦ä»ãJavaScriptã«ããã¬ã¼ã ã¯ã¼ã¯ãå¿ è¦ã«ãªã£ã¦ãã¦ããã®ããã¾ãã¯éçºè ã¯ãã¬ã¼ã ã¯ã¼ã¯ã«ä½ãæ±ãã¦ããã®ããå¤å°ã¯è¦ãã¦ãããã¨ã¨æãã¾ãã 2005å¹´ãããã¾ã§ã¯JavaScriptã¯å©ç¨è ãéçºè ããé¿ãããã¦ããæè¡ã§ããã¨ã使ããã¦ããé常ã«ç°¡åã§
æåã«åã®ãã¸ã·ã§ã³ã¯è¡¨æãã¦ãããã©ãä»ã¾ã§backbone.js, ã¨ããããã®ã©ããã¼ã§ããchaplin.jsã¹ã£ããã®ç°å¢ã§éçºãã¦ã¦ãä»ã®ããã¸ã§ã¯ããã¼ãããä½ãç´ãæ©ä¼ãããã®ã§æ¬¡ãã¼ã¸ã§ã³ã®ããã®ã©ã¤ãã©ãªé¸å®ã®ããã«ã¨ããããæ¯è¼ã¨ã㦠angularã試ããè¦ãç¨åº¦ã®äººéãªã®ã§ãæ·±ãã¯çè§£ãã¦ãªãã Angularã®ã¡ãªãã åã®æµ ãçè§£ã¨åå¼·ä¼ã§ã®è©±ãç·åããæã ã¬ã¼ã«ã«ä¹ãåã£ãæã®éçºå¹çãå端ãªã ã¬ã¼ã«ããã£ããæ·ããã¦ããã®ã§éçºè ã®è½åå·®ãåé¡ã«ãªããªã HTMLããã³ãã¬ã¼ããªã®ã§æå³çãªä¹é¢ãå°ãªã ãã¥ã¼ã¢ãã«ã«å¯¾ããæä½ãä¸è²«ãã¦ãã¦ãã¹ã¿ããªãã£ããã èªåãã¢ã¸ã¥ã©ãªãã£ãããHTML/CSSã¯å¹»æ³ã ã¨æã£ã¦ããã®ã§ãHTMLã«ç´æ¥å±æ§ãæ¸ãã®ã¯å¥ã«æ§ããªãã¨æã£ã¦ããã ãã ãéå£éçºã§ãéçºè ã®è½åå·®ãåé¡ã«ãªããªããã¨ããçºè¡¨ããã¦ã
ä»äºã§JavaScriptã®MVCãã¬ã¼ã ã¯ã¼ã¯ã§ããAngular.jsã¨ãããã®ã«å°ãã°ãã触ãããã¦é ããã¨ãã§ããã®ã§ç´¹ä»ãã¦ã¿ããã¨æãã¾ãã Google製ã®JavaSriptã®ãã¬ã¼ã ã¯ã¼ã¯ã§ãã ã»Backbone.js ã»Knockout.js ã¨ä¸¦ãã§ä¸å¤§JavaScriptãã¬ã¼ã ã¯ã¼ã¯ã®ä¸è§ãããã§ãã ã¡ãªã¿ã«ä¸è¨ã®ï¼ã¤ã¯ç§ã¯ããç¥ãã¾ããã 彿ã®ç§ã¯ãJavaScriptã®MVCãã¬ã¼ã ã¯ã¼ã¯ã£ã¦ããªãããããï¼ããããã®ï¼ãã¨ããç¶æ ã§ãJQueryã£ã¦ååãããããã§ãããããï¼ã¨ããæãã§JavaScriptã®MVCãã¬ã¼ã ã¯ã¼ã¯ãã®ãã®ã«æççã§ããã ããããã¨ããWebã¢ããªã®ä»äºãéãã¦angular.jsã«è§¦ãã¦ã¿ãã¨ããããããã¯ãããããã¨ãããããããããã¨æ¹å¿ããããå¾ãªããªãã¾ããã æ§æ¥ã®æ®éã®Javaã®WebAPã®ä½ãæ¹ã§JSPã
http://angularjs.org/å ¬å¼ãµã¤ã: Todoã¢ã㪠HTML 1.<div ng-controller="TodoCtrl"> 2. <ul> 3.<li ng-repeat="todo in todos"> 4. <input type="checkbox" ng-model="todo.done"> 5. <span class="done-{{todo.done}}">{{todo.text}}</span> 6. </li> 7. </ul> 8. <form ng-submit="addTodo()"> 9. <input type="text" ng-model="todoText"> 10. <input class="btn-primary" type="submit" value="add"> 11. </form> 12.</div> å ¬å¼ã®ãã®ãã
â [javascript] JS MVCãã¬ã¼ã ã¯ã¼ã¯ã«ã¤ãã¦ã¡ãã£ã¨èª¿ã¹ã (2013å¤) JS MVCæ¦å½æä»£ã£ã¦ããããã°ã©ããªã£ããã ãããã¨æãã¤ã¤ããã¤ãã®ã©ã¤ãã©ãªã調ã¹ã¦ã¿ãã¨ãããæå¤ã¨ãããããã£ã©ãéããã¨ãåãã£ãã Backbone.js 1.0.0 ãã¾ã®ã¨ããä¸çªäººæ°ããã æå¤ã¨å°ãããã½ã¼ã¹ã1ãã¡ã¤ã«ãããªãã ModelãCollectionãViewã¨ãããèªä½ãã¦ãããããæãã«ãªãããã ãªãã¨ããæ§æã(Router/Historyã¯URLããããªããªã使ãå¿ è¦ã¯ãªãã®ã§ãå®è³ªãã®3ã¤ã ã) èããã¬ã¼ã ã¯ã¼ã¯ãªã®ã§ãä»ã®ã©ã¤ãã©ãªã¨çµã¿åãããã®ã¯ç°¡åããã ãã¡ãªããï¼ä»¥ä¸ã®ãã¬ã¼ã ã¯ã¼ã¯ãæã£ã¦ããdata bindingã®ãããªé«åº¦ãªæ©è½ã¯ãªãã®ã§ãç¸å¯¾çã«ã³ã¼ãéãå¢ãããããã¯å°ããªã¢ããªã§ãããããè¡æ°ãæ¸ããªãã¨ãããªãã¨ããã
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneAI-enhanced description The document provides an overview of various JavaScript frameworks, focusing on their features, versions, and community support. It discusses the MVC pattern, data binding, routing capabilities, templating techniques, testing support, and integration with other libraries. Key frameworks highlighted incl
ããªãã«ã¨ã£ã¦éè¦ãªãããã¯ãååã®ææ°æ å ±ãå ¥æãã¾ãããææ°ã®æ´å¯ã¨ãã¬ã³ãã«é¢ããææ°æ å ±ãå³åº§ã«åãåãã¾ãããã ç¶ç¶çãªå¦ç¿ã®ããã«ãç¡æã®ãªã½ã¼ã¹ã«æè»½ã«ã¢ã¯ã»ã¹ãã¾ãããããããã¯ããã©ã³ã¹ã¯ãªããä»ãåç»ãããã³ãã¬ã¼ãã³ã°ææã è¨äºãä¿åãã¦ããã¤ã§ãèªããã¨ãã§ãã¾ãè¨äºãããã¯ãã¼ã¯ãã¦ãæºåãã§ããããã¤ã§ãèªãã¾ãã
JavaScriptãã¬ã¼ã ã¯ã¼ã¯ã«èå³ããããAngular.jsã使ã£ã¦ã¿ããããªã»ã»ã» ãããªç´çç¡å¢ãªããªããæ··æ²ã®ä¸ç´æ«ã«å¼ãããè¾¼ãã®ããã»ãã§ããªãTutorialãªã®ã§ãã Tutorialã§ã¯ã»ã¼Controllerããåºã¦ããªãã®ã§ãç´ ç´ã«ãã®éãæ¸ãã¦ããã¨ã¾ãééããªãï¼ã«ã¦ã³ãã§Controllerã«ã³ã¼ããéä¸ããããããFat Controllerã«ãªãããã£ããMVCãã¬ã¼ã ã¯ã¼ã¯ãå°çã®èéã«ãªãã¾ãã å®ã¯ãAngular.jsã§ã¾ãç®ãéãã¹ããªã®ã¯Developer Guideã®Conceptual Overviewã§ãããããèªãã°ã©ãå¦çãåå²ãããããã¡ãã¨æ¸ããã¦ãã¾ããã以ä¸ã§ã¯ããï¼çµé¨ããã¨ã«Angular.jsã§æ£ããMVCã使ç¨ããããã®ãã¤ã³ããã¾ã¨ãã¾ããã Angular.jsã®ï¼åå 1.Controllerã¯ã¤ãã³ããã³ã
Todoãªã¹ãã®æ©è½ 1.ããã¹ãããã¯ã¹ãããEnterã§è¿½å ã§ãã 2.ç»é²ããTodoã¯ããã«ã¯ãªãã¯ã§ç·¨éå¯è½ã«ãªããEnterã§ç·¨é確å®ã§ãã 3.ç»é²ããã¦ããTodoã®ç·ä»¶æ°ãããã¿ã¼ã«è¡¨ç¤ºããã 4.å®äºããTodoãããå ´åããããããªã¹ãããæ¶ããã¿ã³ã表示ããã 5.å ¨é¸æ/è§£é¤ãè¡ããã§ãã¯ããã¯ã¹ããã å人çãªçµè« è¶£å³éçºã§ä½¿ããªãAngular.jsã»ä»äºã§ä½¿ããªãKnockout.jsããå§ããããã ã¾ãããã¬ã¼ã ã¯ã¼ã¯ã鏿ããéã¯ã以ä¸3ã¤ã®é¸æåºæºãæã¤ã¨ããã¨æãã 1.éçºã®è¦æ¨¡ å¤§è¦æ¨¡ãªãBackbone.jsã¯ãå§ãã§ããã æ¸ãæ¹ã決ã¾ã£ã¦ãã¦ããã¥ã¼ããªã¢ã«ã«ç®ãéãã°(é¢åãªã®ã¯ç½®ãã¦ããã¦)ä½ãä½ããªããã°ãªããªããã¯ç°¡åã«çè§£ã§ãããããããã®äººæ°ã§é·ãæéã®éçºãè¡ããªããUIãã¼ã ã¯ã¢ããªã±ã¼ã·ã§ã³ã¨Viewããµã¼ãã¼ãµã¤ãã¯
ææ¢ã«ãMVCãã¬ã¼ã ã¯ã¼ã¯ã®å³è§£ã試ã¿ãã®ã§ãã©ããï¼ MVCã®åæ© MVCã¨ããè¨èãåãã¦ç»å ´ãã¦ãã30年以ä¸ãã£ãä»ãææ©ãªãã ã£ãã®ãåãããªãã»ã©MVCã®å®ç¾©ã¯æ··è¿·ããããã¦ããããã ããã©ããMVCã§MVVMã§MVPã§ããã¨ããå®ç¾©ã«ã¤ãã¦ããããèå¯ããã®ã¯å人çã«ã¯å¥½ãã§ãªãã¦ããçµå±ä½ããããã®ããã¨ããåæ©ãã¶ãã¦ããªããã°ä½ã§ãè¯ãã¨æã£ã¦ããã ãããããã¯ä¸ä½ä½ãªã®ãã¨ãããã¨ãèªåãªãã«èãã¦ã¿ãã¨ãããæ¬¡ã®ä¸è¨ã«è½ã¡çããã ãModelã¯Viewã«ä¾åããããªãã ä¸éçã«ã¯ï¼ï¼ï¼Modelã¨Viewãåã«ãåãããã¨èª¬æããããã¨ãå¤ãããç§ã¯ããã ãã§ã¯ç´å¾ãã¦ããªãã¦ãä¾åã®æ¹åãããéè¦ã ã¨æã£ã¦ããããã¨ãåããã¦ããããã«è¦ãã¦ãModelãViewãåç §ãã¦ããããæ å ±ã®åå¾å ãè¡¨ç¾æ¹æ³ã¯åºå®åããã¦ãã¾ãã Modelã¯Viewã®äºæ ãã
ãã¯ã¯æ¬å½ã«Angularã好ãã§ããã¯ãæããã¬ãã«ã«éãã¦ãã¦ãä»ã§ã¯ãã宿¡ä»¶ã«ä½¿ã£ã¦ããã ã¤ã«çç±ã APIãã»ãã£ã£ã£ã£ã£ã¨ãã«ç³ è¶£å³ã®åé¡ã¨ããã°ããã§ããããåã¯ç³ã ã¨æã â è¶£å³ã«ã¯å£ãåºãã¾ãããããæããªãããã§ãã å®è£ ãé»éè¡ è¯èããJSã¨ã³ã¸ãã¢ãªã Function.prototype.toString() ããªã å®éã«ä¸é¨ã®ã¯ãã¼ã¸ã£ãç ´å£ããã¦ã¦æåãç´æã«åãã DirtyCheckã®å®è£ ã表é¢çã«ãDirtyãªæåã¨ãã¦ç¾ããã®ã§ãã¼ã¿ãã¤ã³ãã¨ãã¦ä½ãå¬ãããªã âãã¼ã¿ãã¤ã³ãã ã£ãããWeb Components ã®ãããªãæªæ¥ã«nativeå®è£ ãããAPIãå æ¬çã«å®è£ ãããã¨ããçµæã®ï¼ã¤ã ã¨æã£ã¦ã¾ãã ãã£ã¨ããæ¹æ³ã¯ããã®ãããããªãã§ããã©ãAngularã§ã¯ãããã¦ããã£ã¦ããã®ãç¾ç¶ãªã®ããªã¨ã ä¸è¨ã§æ¯ã¥ãç¨ä¸æºã¯ãªãã§
mizchi æ°ã®ã¨ã³ããªãè¸ã¾ãã¦ã Angularãå«ã - mizchi's blog ä½ãããã«ãã°ã°ã£ã¦è§£æ±ºããªããã°ãªããªããããã«ã¯ä¸è²«æ§ããªã ãã¸ã§ãããè¨å®ãå¤ããããç¹ã« directive å®ç¾©ãã©ããã Web Components ã®æµåã«æ²¿ãããã«ãªã£ã¦ãã¦ãå°æ¥çã«ã¯ Web Components ã«ä¹ã£ãããã¨ãããã¨ãããããããããã® Web Components ã®ä»æ§ãæ±ãããæãããããªãã åè: AngularJS: Developer Guide: Directive å¶å¾¡æ§é ã¨è¦ç´ ãåé¢ãã¦ããããã§ replace ã¨ããããªãã·ã§ã³ãçãã¦ãããtranclude ã¨ã®çµã¿åããã§ããè¤éãªãã¨ã«ãªãããisolated scope 㪠directive ã¯ä½µç¨ã§ããªãã¨ããng-repeat ã§ä½ããã scope ã®ä¸ã«ä»ã® d
åã¯æ¬å½ã«Angularãå«ãã§ããã¯ã許ããªãã¬ãã«ã«éãã¦ãã¦ãä»ã§ã¯ããæ¬å½ã«ä½¿ããããªãã ã¤ã«çç±ã APIãã»ãã£ã£ã£ã£ã£ã¨ãã«ç³ è¶£å³ã®åé¡ã¨ããã°ããã§ããããåã¯ç³ã ã¨æã å®è£ ãé»éè¡ è¯èããJSã¨ã³ã¸ãã¢ãªã Function.prototype.toString() ããªã å®éã«ä¸é¨ã®ã¯ãã¼ã¸ã£ãç ´å£ããã¦ã¦æåãç´æã«åãã DirtyCheckã®å®è£ ã表é¢çã«ãDirtyãªæåã¨ãã¦ç¾ããã®ã§ãã¼ã¿ãã¤ã³ãã¨ãã¦ä½ãå¬ãããªã Googleã ãã許ããããã¿ãããªã³ãã¥ããã£ã®é©ããæ¬å½ã«å« Angularã®é½åã ãã§Chromeã§Object.observeãååãããã®ããã Angularã®å é¨ã¢ã¸ã¥ã¼ã«å士ãå¯çµå DI, module, factory, ãããã大ããªãã¼ããªã®ã«å¯çµå 使ãã¯ãããã¨Angularãããããã¨ãå°é£ ããã©ã¼ãã³
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}