Angular 1 ã¢ããªã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãããèãã§ãã?ä»æ¥ã¯ã¤ã³ã¯ãªã¡ã³ã¿ã« ãªã¢ããã°ã¬ã¼ãã«ã¤ãã¦ãç´¹ä»ãã¾ã。
æ¦è¦
æå ±ã§ã!
åãã¢ããªã±ã¼ã·ã§ã³ã§ Angular 1 㨠Angular 2 ãæ··å¨ããããã¨ãã§ãã¾ã。
åããã¥ã¼ã« Angular 1 㨠Angular 2 ã®ã³ã³ãã¼ãã³ããæ··å¨ããããã¨ãã§ãã¾ã。
Angular 1 㨠Angular 2 ã§ã¯ãã¬ã¼ã ã¯ã¼ã¯ãã¾ããã£ã¦ãµã¼ãã¹ãæä¾ãããã¨ãã§ãã¾ã。
ãã¬ã¼ã ã¯ã¼ã¯ãã¾ããã£ã¦ãã¼ã¿ ãã¤ã³ãã£ã³ã°ãåä½ãã¾ã。
ã¢ããã°ã¬ã¼ãããçç±
Angular 2 ã«ã¯、大å¹
ãªããã©ã¼ãã³ã¹ã®åä¸、ããå¼·åãªãã³ãã¬ã¼ã、é
延èªã¿è¾¼ã¿、ã·ã³ãã«ãª API、容æãªãããã°、é«åº¦ãªãã¹ããå¯è½ãªã©、Angular 1 ãããå¤ãã®ã¡ãªãããããã¾ã。ãã®ä¸»ãªä¾ããç´¹ä»ãã¾ããã。
ããã©ã¼ãã³ã¹ã®åä¸
ã¢ããªã®åä½ã軽快ã«ãªãããã«、æ°å¤ãã®ã·ããªãªãæ¤è¨ãã¾ãã。å½åã«æ¯ã¹ãã¨、ã¬ã³ããªã³ã°ãåã¬ã³ããªã³ã°ã®é度㯠3~5 åã§ã。
Monomorphic ãª(åç¸çãª) JS å¼ã³åºãã«ããå¤æ´æ¤åºã®é«éå
ãã³ãã¬ã¼ãã®ããªã³ã³ãã¤ã«ã¨åå©ç¨
表示ã®ãã£ãã·ã¥
ã¡ã¢ãªä½¿ç¨ç / VM ã®è² è·ã®ä½æ¸
Observable(ç£è¦å¯è½)、ããã㯠Immutable(ä¸å¤)ãªãã¼ã¿æ§é ã«ããç·å½¢(è¶
é«é)ãªæ¡å¼µæ§
Dependency Injection(ä¾åæ§ã®æ³¨å
¥)ã§ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªèªã¿è¾¼ã¿ããµãã¼ã
ããå¼·åãªãã³ãã¬ã¼ã
å¤æ°ã®ãã£ã¬ã¯ãã£ãã®å¿
è¦æ§ãæé¤
éçåæãå¯è½:å°æ¥ã®ãã¼ã«ã IDE ã§ã¯、å®è¡æã§ã¯ãªãéçºæã«ã¨ã©ã¼ãæ¤åºã§ãã
ãã³ãã¬ã¼ãã®ä½æè
ããã£ã¬ã¯ãã£ãå®ç¾©ã§ææ¸ããã代ããã«、ãã¤ã³ãã£ã³ã°ã®ä½¿ç¨æ¹æ³ã決å®ã§ãã
å°æ¥ã®å¯è½æ§
DOM ãã Angular 2 ã®ã¬ã³ããªã³ã°ãåãé¢ãã¾ãã。æã
ã¯ç¾å¨、ãã®åãé¢ãã«ãã£ã¦å®ç¾ãã次ã®ãããªæ©è½ã®ãµãã¼ãã«ã¤ãã¦ãç©æ¥µçã«åãçµãã§ãã¾ã。
ãµã¼ãã¼å´ã§ã®ã¬ã³ããªã³ã°。 è¶
é«éãªåæã¬ã³ããªã³ã°ã¨ã¦ã§ãã¯ãã¼ã©ã¼ã®ãµãã¼ããå®ç¾ãã¾ã。
Web Worker。 ã使ãã®ã¢ããªãã»ã¨ãã©ã® Angular ã Web Worker ã¹ã¬ããã«ç§»åãã¦、常㫠UI ãã¹ã ã¼ãºã§ãã¤ã§ãå¿çã§ããããã«ãã¾ã。
ãã¤ãã£ã ã¢ãã¤ã« UI。 Google ã¯ã¢ãã¤ã« ã¢ããªã§ã® Web ãã©ãããã©ã¼ã ãµãã¼ãã«æ³¨åãã¦ãã¾ã。åæã«、ä¸é¨ã®ãã¼ã 㯠iOS 㨠Android ã®ã¢ãã¤ã« ã¢ããªã§å®å
¨ã«ãã¤ãã£ã㪠UI ãæä¾ãããã¨åãçµãã§ãã¾ã。
ãã«ã ã¹ãããã¨ãã¦ã®ã³ã³ãã¤ã«。 Angular ã¢ããªã¯ HTML ãã³ãã¬ã¼ãã解æãã¦ã³ã³ãã¤ã«ãã¾ã。ã³ã³ãã¤ã« ã¹ãããããã«ã ããã»ã¹ã«ç§»ããã¨ã«ãã£ã¦、åæã¬ã³ããªã³ã°ã®é«éåã«åãçµãã§ãã¾ã。
Angular 1 ããã³ 2 ãåæã«å®è¡
Angular 2 ã¯ããã©ã¼ãã³ã¹、ç°¡ææ§、æè»æ§ã«ãã㦠Angular 1 ããã大å¹
ã«åä¸ãã¦ãã¾ã。Angular 2 ã®ã³ã³ãã¼ãã³ãããµã¼ãã¹ãåä¸ã®ã¢ããªã«ã·ã¼ã ã¬ã¹ã«åãè¾¼ããããã«ãããã¨ã§、æ¢åã® Angular 1 ã¢ããªã±ã¼ã·ã§ã³ã®ã¡ãªãããç°¡åã«æ´»ãããããåãçµãã§ãã¾ã。ããã«ãã£ã¦、å¤æ°ã®å°è¦æ¨¡ãªã³ãããã«å¯¾ãã¦ã¢ããªã±ã¼ã·ã§ã³ã® 1 ã¤ã®ãµã¼ãã¹ã¾ãã¯ã³ã³ãã¼ãã³ããåæã«ã¢ããã°ã¬ã¼ãã§ããããã«ãªãã¾ã。
ãã¨ãã°、ä¸ã®å³ã®ãããªã¢ããªãããã¨ãã¾ã。Angular 2 ã®ä½¿ç¨ãéå§ããã«ã¯、å·¦å´ã®ããã²ã¼ã·ã§ã³ã Angular 2 ã³ã³ãã¼ãã³ãã«ã¢ããã°ã¬ã¼ãããããã«æå®ãã¾ã。èªä¿¡ãä»ããã、ã¡ã¤ã³ ã³ã³ãã³ã ã¨ãªã¢ã®ã¹ã¯ãã¼ãªã³ã° ã¨ãªã¢ã« Angular 2 ã®ã¬ã³ããªã³ã°é度ãå©ç¨ããããã«æå®ãã¾ã。
ãããå®ç¾ããã«ã¯、Angular 1 㨠Angular 2 ã®é㧠4 ã¤ã®é£æºãè¡ãã¾ã。
ä¾åæ§ã®æ³¨å
¥
ã³ã³ãã¼ãã³ãã®ãã¹ãã£ã³ã°
ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³
å¤æ´ã®æ¤åº
ããããã¹ã¦ãå¯è½ã«ããããã«、æã
ã¯ç¾å¨、ng-upgrade ã¨ããååã®ã©ã¤ãã©ãªã®éçºãé²ãã¦ãã¾ã。æ¢åã® Angular 1 ã¢ããªã±ã¼ã·ã§ã³ã« ng-upgrade 㨠Angular 2 ãã¤ã³ã¯ã«ã¼ããããã¨ã§、æãã®ã¾ã¾ã«çµã¿åããããã¨ãã§ããããã«ãªãã¾ã。
詳細ã¨æ¬ä¼¼ã³ã¼ãã«ã¤ãã¦ã¯、æåã®
ã¢ããã°ã¬ã¼ãã®è¨è¨ã«é¢ããããã¥ã¡ã³ã ãåç
§ãã¦ãã ãã。ã¾ã、ãã®åä½ã®æ¦è¦ã«ã¤ãã¦ãè¨è¼ããã¦ãã¾ã。ä»å¾ã®æ稿ã§、Angular 1 ã³ã¼ãã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãã®å
·ä½ä¾ããç´¹ä»ãã¦ããã¾ã。
ä¾åæ§ã®æ³¨å
¥
æåã«、ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ãéã®ã³ãã¥ãã±ã¼ã·ã§ã³ã解決ããå¿
è¦ãããã¾ã。Angular ã«ããã、å¥ã¯ã©ã¹ã¾ãã¯é¢æ°ã®å¼ã³åºãã®æãä¸è¬çãªãã¿ã¼ã³ã¯、ä¾åæ§ã®æ³¨å
¥(Dependency Injection)ã§ã。Angular 1 ã«ã¯ 1 ã¤ã®ã«ã¼ã ã¤ã³ã¸ã§ã¯ã¿ã¼ããã、Angular 2 ã«ã¯
é層åã®ã¤ã³ã¸ã§ã¯ã¿ã¼ ãããã¾ã。ä¸åº¦ã« 1 ã¤ã®ãµã¼ãã¹ãã¢ããã°ã¬ã¼ãããã¨ãããã¨ã¯、2 ã¤ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ãäºãã«ã¤ã³ã¹ã¿ã³ã¹ãæä¾ã§ããããã«ããå¿
è¦ããããã¨ãæå³ãã¾ã。
ng-upgrade
ã©ã¤ãã©ãªã«ãã£ã¦、Angular 1 ã®ãã¹ã¦ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ãèªåçã« Angular 2 ã§å©ç¨ã§ããããã«ãªãã¾ã。ãã㯠Angular 1 ã®ã¢ããªã±ã¼ã·ã§ã³ ãµã¼ãã¹ã Angular 2 ã®ããããã³ã³ãã¼ãã³ãã¾ãã¯ãµã¼ãã¹ã«æ³¨å
¥ã§ããããã«ãªã£ããã¨ãæå³ãã¾ã。
Angular 1 ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ã¸ã® Angular 2 ã®ãµã¼ãã¹ã®å
¬éããµãã¼ãããã¾ãã、ãããã³ã°æ§æãåç´ã«ããå¿
è¦ãããã¾ã。
ãã®çµæ、ç¬ç«ããã³ãããã«å¯¾ãã¦ä¸åº¦ã« 1 ã¤ã®ãµã¼ãã¹ã Angular 1 ãã Angular 2 ã«ç°¡åã«ç§»è¡ã、æ··å¨ç°å¢ã§ã®ã³ãã¥ãã±ã¼ã·ã§ã³ãå®ç¾ã§ãã¾ã。
ã³ã³ãã¼ãã³ãã®ãã¹ãã£ã³ã°ã¨ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³
ãããã®ãã¼ã¸ã§ã³ã® Angular ã§ã、ã³ã³ãã¼ãã³ãã¯ç¬èªã®ãã³ãã¬ã¼ããæã£ããã£ã¬ã¯ãã£ãã¨ãã¦å®ç¾©ãã¦ãã¾ã。ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªç§»è¡ã«ã¤ãã¦ã¯、ãããã®ã³ã³ãã¼ãã³ããä¸åº¦ã« 1 ã¤ãã¤ç§»è¡ã§ããããã«ããå¿
è¦ãããã¾ã。ããã¯、ng-upgrade ã§åãã¬ã¼ã ã¯ã¼ã¯ã®ã³ã³ãã¼ãã³ããäºãã«ãã¹ãã§ããå¿
è¦ããããã¨ãæå³ãã¾ã。
ããã解決ãããã、ng-upgrade ã Angular 1 ã³ã³ãã¼ãã³ãã
ãã¡ãµã¼ã ã«ã©ããã§ããããã«ãããã¨ã§、ãããã Angular 2 ã³ã³ãã¼ãã³ãå
ã§ä½¿ç¨ã§ããããã«ãã¦ãã¾ã。éã«、Angular 2 ã³ã³ãã¼ãã³ãã Angular 1 ã§ä½¿ç¨ããããã«ã©ãããããã¨ãã§ãã¾ã。ããã¯、Angular 2 ã®ã³ã³ãã³ã ããã¸ã§ã¯ã·ã§ã³åæ§、Angular 1 ã®ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³ã§ãå®å
¨ã«åä½ãã¾ã。
ãã®ãã¹ããããã³ã³ãã¼ãã³ãã§ã¯、åãã³ãã¬ã¼ãã Angular 1 ã¾ã㯠Angular 2 ã®ããããã«å®å
¨ã«ææãã、ãã®æ§æããã³ã»ãã³ãã£ãã¯ã«å³å¯ã«å¾ãã¾ã。ããã¯ã¨ãã¥ã¬ã¼ã·ã§ã³ã§ã¯ãªã、ã³ã³ãã¼ãã³ãã®ã¿ã¤ãã«å¿ããåãã¬ã¼ã ã¯ã¼ã¯ã§å®éã«åä½ãã¾ã。ã¤ã¾ã、Angular 2 ã«ã¢ããã°ã¬ã¼ããããã³ã³ãã¼ãã³ãã¯、æ§æãæ¹è¯ãããã ãã§ã¯ãªã、Angular 2 ã®ãã¹ã¦ã®ã¡ãªããã享åã§ããã®ã§ã。
ã¾ã、Angular 1 ã®ã³ã³ãã¼ãã³ãã¯Angular 2 ã®ãã³ãã¬ã¼ãã§ä½¿ç¨ãããå ´åã§ã常㫠Angular 1 ã®ä¾åæ§ã®æ³¨å
¥ã使ç¨ã、Angular 2 ã®ã³ã³ãã¼ãã³ã㯠Angular 1 ã®ãã³ãã¬ã¼ãã§ä½¿ç¨ãããå ´åã§ã、常㫠Angular 2 ã®ä¾åæ§ã®æ³¨å
¥ã使ç¨ãããã¨ãæå³ãã¾ã。
å¤æ´ã®æ¤åº
Angular 1 㨠Angular 2 ã®ã³ã³ãã¼ãã³ãã®æ··å¨ã¯、Angular 1 ã®ã¹ã³ã¼ã㨠Angular 2 ã®ã³ã³ãã¼ãã³ãã交äºã«é
ç½®ããããã¨ãæå³ãã¾ã。ãã®ãã、ng-upgrade ã§ã¯、å¼ã®äºæ¸¬å¯è½ãªè©ä¾¡é ãç¶æãããã、å¤æ´ã®æ¤åº(Angular 1 ã®ã¹ã³ã¼ã ãã¤ã¸ã§ã¹ã㨠Angular 2 ã®å¤æ´ã®æ¤åºæ©è½)ãåæ§ã«äº¤äºã«é
ç½®ããã¾ã。
ng-upgrade
ã§ã¯ãããèæ
®ãã¦、Angular 1 ã®ã¹ã³ã¼ã ãã¤ã¸ã§ã¹ã㨠Angular 2 ã®å¤æ´ã®æ¤åºãããªãã¸ã、両æ¹ã®ãã¬ã¼ã ã¯ã¼ã¯ã«ã¾ããã 1 ã¤ã«ã¾ã¨ãããã¤ã¸ã§ã¹ã ãµã¤ã¯ã«ãä½æãã¾ã。
ä¸è¬çãªã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ã ããã»ã¹
ããã§、Angular 1 ã®ããã¸ã§ã¯ãã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãã®ä¾ããç´¹ä»ãã¾ã。
æ¢åã®ã¢ããªã±ã¼ã·ã§ã³ã« Angular 2 㨠ng-upgrade ã©ã¤ãã©ãªãã¤ã³ã¯ã«ã¼ããã¾ã。
移è¡ããã³ã³ãã¼ãã³ããé¸æãã¾ã。
Angular 2 ã®æ§æã«å¾ã£ã¦ Angular 1 ã®ãã£ã¬ã¯ãã£ãã®ãã³ãã¬ã¼ããç·¨éãã¾ã。
ãã£ã¬ã¯ãã£ãã®ã³ã³ããã¼ã©ã¼/ãªã³ã¯é¢æ°ã Angular 2 ã®æ§æ/ã»ãã³ãã£ãã¯ã«å¤æãã¾ã。
ng-upgrade ã使ç¨ãã¦ãã£ã¬ã¯ãã£ã(ç¾å¨ã¯ã³ã³ãã¼ãã³ã)ã Angular 1 ã®ã³ã³ãã¼ãã³ãã¨ãã¦ã¨ã¯ã¹ãã¼ããã¾ã(ããã¯、Angular 1 ã®ãã³ãã¬ã¼ããã Angular 2 ã®æ°ããã³ã³ãã¼ãã³ããå¼ã³åºãå ´åã«å¿
è¦ã§ã)。
移è¡ãããµã¼ãã¹ãé¸æãã¾ã。
ã»ã¨ãã©ã®å ´å、å¿
è¦ãªå¤æ´ã¯æå°éã§ããã、å¤æ´ã¯ä¸è¦ã§ã。
Angular 2 ã§ãµã¼ãã¹ãæ§æãã¾ã。
(ãªãã·ã§ã³) Angular 1 ã®ã³ã¼ãã®ä»ã®é¨åã§ã¾ã 使ç¨ããã¦ããå ´å、ng-upgrade ã使ç¨ãã¦ãµã¼ãã¹ã Angular 1 ã«åã³ã¨ã¯ã¹ãã¼ããã¾ã。
å¿
è¦ã«å¿ãã¦、ã¹ããã 2 㨠3 ãç¹°ãè¿ãã¾ã。
ãµã¼ãã¹/ã³ã³ãã¼ãã³ãã®å¤æããã¹ã¦çµãã£ãã、æä¸ä½ã® Angular 1 ãã¼ãã¹ãã©ãããããããã、Angular 2 ã®ãã¼ãã¹ãã©ããã«ç½®æãã¾ã。
åã
ã®å¤æ´ã¯åå¥ã«ç¢ºèªã§ãããã、ã¢ããªã±ã¼ã·ã§ã³ã¯åä½ãç¶ç¶ã、ã¦ã¼ã¶ã¼ã¯å¿
è¦ã«å¿ãã¦ã¢ãããã¼ãã®ãªãªã¼ã¹ãç¶è¡ã§ãã¾ã。
æã
ã¯、ã³ã³ãã¼ãã³ã以å¤ã®ãã£ã¬ã¯ãã£ãã両æ¹ã§ä½¿ç¨ã§ããããã«ãããã¨ã¯è¨ç»ãã¦ãã¾ãã。ã³ã³ãã¼ãã³ã以å¤ã®ãã£ã¬ã¯ãã£ãã®ã»ã¨ãã©ãæ°ãããã³ãã¬ã¼ãã®æ§æ(ã¤ã¾ã、ng-click vs (click) )ã§ç´æ¥ãµãã¼ãããããã、Angular 2 ã§ã¯ä¸è¦ã§ããã¨èãã¦ãã¾ã。
質åã¨åç
Angular 2 ã§ã¯åæ¹å ãã¤ã³ãã£ã³ã°ããµãã¼ããããªãã¨èãã¾ãã。交æããã«ã¯ã©ãããã°ããã§ãã?
å®éã«ã¯、Angular 2 ã§åæ¹åãã¼ã¿ ãã¤ã³ãã£ã³ã°ã¨ ng-model ããµãã¼ãããã¾ãã、æ§æããããã«ç°ãªãã¾ã。
Angular 2 ã®éçºã«çæããã¨ã、Angular ã®ãã¤ã¸ã§ã¹ã ãµã¤ã¯ã«ã«é¢ããåé¡ã解決ãããã¨èãã¦ãã¾ãã。ããã§、å¤æ´ã®æ¤åºç¨ã« 1 æ¹åã®ãã¼ã¿ããã¼ãä½æãããã¨ãé¸æãã¾ãã。å½åã¯、ng-model ã®åæ¹åã®ãã©ã¼ã ãã¼ã¿ãã¤ã³ãã£ã³ã°ã Angular 1 ã«ã©ã®ããã«é©å¿ãã¦ããã®ããä¸æã§ããã、Angular 2 ã®ãã©ã¼ã ã Angular 1 ã®ãã©ã¼ã ã¨åæ§ã«ã·ã³ãã«ã«ããå¿
è¦ããããã¨ã¯ããã£ã¦ãã¾ãã。
ä½åº¦ã試è¡é¯èª¤ãç¹°ãè¿ããã¡、è¤æ°ã®ãã¤ã¸ã§ã¹ãã§ã®åé¡ã解決ã、Angular 1 ã® ng-model ã®ãã¯ã¼ã¨ç°¡æ½ããç¶æãããã¨ãã§ããããã«ãªãã¾ãã。
åæ¹åãã¼ã¿ãã¤ã³ãã£ã³ã°ã®æ°ããæ§æã¯æ¬¡ã®ããã«ãªãã¾ãã:
[(property-name)]="expression"
。ããã«ãã£ã¦、åæ¹åã§å¼ãæ示çã«ãã¤ã³ãããã¾ã。ã»ã¨ãã©ã®ã·ããªãªã«ããã¦æ§æã®å¤æ´ã軽微ãªãã、移è¡ã¯å®¹æã§ããã¨èãã¦ãã¾ã。
ãã¨ãã°、Angular 1 ã§ã®æ§æã
<input type="text" ng-model="model.name" />
ã®å ´å、
Angular 2 ã§ã¯
<input type="text" [(ng-model)]="model.name" />
ã«å¤æãã¾ã。
Angular 2 㧠使ç¨ã§ããè¨èªã¯ã©ãã§ãã?
Angular 2 API ã§ã¯、ç¾å¨ã® JavaScript(ES5)、次æãã¼ã¸ã§ã³ã® JavaScript(ES6 ã¾ã㯠ES2015)、TypeScript、ããã³ Dart ã§ã®ã³ã¼ãã£ã³ã°ãå®å
¨ã«ãµãã¼ãããã¾ã。
ç¾å¨ã® JavaScript ãå¼ãç¶ã使ç¨ãã¦ããã ãã¦ãä½ãåé¡ã¯ããã¾ããã、ES6 ããã³ TypeScript(ãã㯠ES6 ã®ã¹ã¼ãã¼ã»ããã§ã)ãã試ãã«ãªããã¨ããå§ããã¾ã。ãããã使ç¨ãããã¨ã§、çç£æ§ã大å¹
ã«åä¸ãã¾ã。
ES6 ã§ã¯、ãããã¹ãã¢ã¸ã¥ã¼ã«ã¨ãã£ãå
±éã©ã¤ãã©ãªã«、大å¹
ã«æ¹åããæ§æãäºææ§ã®ããæ¨æºæ©è½ãæä¾ãã¾ã。TypeScript ã§ã¯、ã³ã¼ã ããã²ã¼ã·ã§ã³、IDE ã§ã®èªåãªãã¡ã¯ã¿ãªã³ã°、ããã¥ã¡ã³ãã¼ã·ã§ã³、ã¨ã©ã¼æ¤åºãªã©ã大å¹
ã«åä¸ãã¾ã。
ES6 㨠TypeScript 㯠ES5 ã®ã¹ã¼ãã¼ã»ããã§ãããã、ç°¡åã«å°å
¥ã§ãã¾ã。ããã¯、æ¢åã®ãã¹ã¦ã®ã³ã¼ããæå¹ã§、ä¸åº¦ã«å°ããã¤æ©è½ã追å ã§ãããã¨ãæå³ãã¾ã。
ã³ã¼ããã¼ã¹ã® $watch ã¯ã©ã®ããã«æ±ãã°ããã§ãã?
ç°¡åã«è¨ãã¨、$watch å¼ã¯å®£è¨çãªã¢ããã¼ã·ã§ã³ã«ç§»è¡ããå¿
è¦ãããã¾ã。ããã«é©ããªãå ´åã¯、ãªãã¶ã¼ããã«(ãªã¢ã¯ãã£ã ããã°ã©ãã³ã° ã¹ã¿ã¤ã«)ãå©ç¨ããå¿
è¦ãããã¾ã。
Angular 2 ã§é度ã¨äºæ¸¬å¯è½æ§ãåä¸ãããã«ã¯、宣è¨çã«ã¦ã©ããå¼ãæå®ãã¾ã。å¼ã¯ HTML ãã³ãã¬ã¼ãå
ã«ãã、èªåçã«ã¦ã©ããããã(ä½ãããªãã¦ããã)ã、ãã£ã¬ã¯ãã£ãã®æ³¨éã§å®£è¨çã«ãªã¹ãããå¿
è¦ãããã¾ã。
ããã«ãããã 1 ã¤ã®ã¡ãªããã¯、Angular 2 ã¢ããªã±ã¼ã·ã§ã³ãå°è¦æ¨¡ãªãã¤ãã¼ãã®ããã«å®å
¨ã«å§ç¸®/é£èªåã§ãããã¨ã§ã。
ã¢ããªã±ã¼ã·ã§ã³éã®ã³ãã¥ãã±ã¼ã·ã§ã³ã®ããã«、Angular 2 ã§ã¯ãªãã¶ã¼ããã«(ãªã¢ã¯ãã£ã ããã°ã©ãã³ã° ã¹ã¿ã¤ã«)ãæä¾ããã¾ã。
移è¡ã®æºåã®ããã«ä½ããã¹ãã§ãã?
ãã¹ããã©ã¯ãã£ã¹ã«å¾ã、
AngularJS Style Guide ã§èª¬æããã¦ããããã«、Angular 1 ã®ã³ã³ãã¼ãã³ãããã³ãµã¼ãã¹ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãéçºãã¦ãã ãã。
å½åã®ã¢ããã°ã¬ã¼ãè¨ç»ã§ã¯、æ°ããã³ã³ãã¼ãã³ã ã«ã¼ã¿ã¼ã使ç¨ãããã¨ã«ãªã£ã¦ãã¾ããã§ããã?
ng-conf 2015 ã§çºè¡¨ããã¢ããã°ã¬ã¼ãè¨ç»ã¯、ãã¥ã¼å
¨ä½ãä¸åº¦ã«ã¢ããã°ã¬ã¼ãã、2 ã¤ã®ãã¼ã¸ã§ã³ã® Angular éã®ã³ãã¥ãã±ã¼ã·ã§ã³ãã³ã³ãã¼ãã³ã ã«ã¼ã¿ã¼ã§å¦çãããã¨ãåæã¨ãã¦ãã¾ãã。
å
ã
ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªç§»è¡ããããããã¦ãã¾ããã、ååã§ã¯ããã¾ããã§ãã。è¨ç»ãåèã、ä¸è¨ã®ãããªè¨ç»ã«å¤æ´ãããã¨ã«ãªãã¾ãã。
æä¾ãã¦ããã ããæ
å ±ã¯ã»ãã«ãããã¾ãã?
ã¯ã。Angular 1 ãã Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãæ¦ç¥è¨è¨ã®ããã¥ã¡ã³ãã«è¨è¼ããã¦ãã¾ã。
ä»å¾、次ã®ãããªé¢é£ãããã¯ã®æ稿ãäºå®ãã¦ãã¾ã。
Angular 1 ã®ç¥èã Angular 2 ããããã³ã°ãã。
Angular 2 ã®è©³ç´°ã«é¢ãã FAQ。
ã³ã¼ã ãµã³ãã«ã使ç¨ãã詳細ãªç§»è¡ã¬ã¤ã。
次å以éã®æ稿ãã楽ãã¿ã«!
Posted by
Eiji Kitamura - Developer Relations Team
[ãã®è¨äºã¯ Misko Hevery、Angular ã½ããã¦ã§ã¢ ã¨ã³ã¸ãã¢ã«ãã Google Developers Blog ã®è¨äº "Angular 1 and Angular 2 integration: the path to seamless upgrade " ãå
ã«ç¿»è¨³・å çãããã®ã§ã。詳ããã¯å
è¨äºãã覧ãã ãã。]
Angular 1 ã¢ããªã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãããèãã§ãã?ä»æ¥ã¯ã¤ã³ã¯ãªã¡ã³ã¿ã« ãªã¢ããã°ã¬ã¼ãã«ã¤ãã¦ãç´¹ä»ãã¾ã。
æ¦è¦
æå ±ã§ã!
åãã¢ããªã±ã¼ã·ã§ã³ã§ Angular 1 㨠Angular 2 ãæ··å¨ããããã¨ãã§ãã¾ã。
åããã¥ã¼ã« Angular 1 㨠Angular 2 ã®ã³ã³ãã¼ãã³ããæ··å¨ããããã¨ãã§ãã¾ã。
Angular 1 㨠Angular 2 ã§ã¯ãã¬ã¼ã ã¯ã¼ã¯ãã¾ããã£ã¦ãµã¼ãã¹ãæä¾ãããã¨ãã§ãã¾ã。
ãã¬ã¼ã ã¯ã¼ã¯ãã¾ããã£ã¦ãã¼ã¿ ãã¤ã³ãã£ã³ã°ãåä½ãã¾ã。
ã¢ããã°ã¬ã¼ãããçç±
Angular 2 ã«ã¯、大å¹
ãªããã©ã¼ãã³ã¹ã®åä¸、ããå¼·åãªãã³ãã¬ã¼ã、é
延èªã¿è¾¼ã¿、ã·ã³ãã«ãª API、容æãªãããã°、é«åº¦ãªãã¹ããå¯è½ãªã©、Angular 1 ãããå¤ãã®ã¡ãªãããããã¾ã。ãã®ä¸»ãªä¾ããç´¹ä»ãã¾ããã。
ããã©ã¼ãã³ã¹ã®åä¸
ã¢ããªã®åä½ã軽快ã«ãªãããã«、æ°å¤ãã®ã·ããªãªãæ¤è¨ãã¾ãã。å½åã«æ¯ã¹ãã¨、ã¬ã³ããªã³ã°ãåã¬ã³ããªã³ã°ã®é度㯠3~5 åã§ã。
Monomorphic ãª(åç¸çãª) JS å¼ã³åºãã«ããå¤æ´æ¤åºã®é«éå
ãã³ãã¬ã¼ãã®ããªã³ã³ãã¤ã«ã¨åå©ç¨
表示ã®ãã£ãã·ã¥
ã¡ã¢ãªä½¿ç¨ç / VM ã®è² è·ã®ä½æ¸
Observable(ç£è¦å¯è½)、ããã㯠Immutable(ä¸å¤)ãªãã¼ã¿æ§é ã«ããç·å½¢(è¶
é«é)ãªæ¡å¼µæ§
Dependency Injection(ä¾åæ§ã®æ³¨å
¥)ã§ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªèªã¿è¾¼ã¿ããµãã¼ã
ããå¼·åãªãã³ãã¬ã¼ã
å¤æ°ã®ãã£ã¬ã¯ãã£ãã®å¿
è¦æ§ãæé¤
éçåæãå¯è½:å°æ¥ã®ãã¼ã«ã IDE ã§ã¯、å®è¡æã§ã¯ãªãéçºæã«ã¨ã©ã¼ãæ¤åºã§ãã
ãã³ãã¬ã¼ãã®ä½æè
ããã£ã¬ã¯ãã£ãå®ç¾©ã§ææ¸ããã代ããã«、ãã¤ã³ãã£ã³ã°ã®ä½¿ç¨æ¹æ³ã決å®ã§ãã
å°æ¥ã®å¯è½æ§
DOM ãã Angular 2 ã®ã¬ã³ããªã³ã°ãåãé¢ãã¾ãã。æã
ã¯ç¾å¨、ãã®åãé¢ãã«ãã£ã¦å®ç¾ãã次ã®ãããªæ©è½ã®ãµãã¼ãã«ã¤ãã¦ãç©æ¥µçã«åãçµãã§ãã¾ã。
ãµã¼ãã¼å´ã§ã®ã¬ã³ããªã³ã°。 è¶
é«éãªåæã¬ã³ããªã³ã°ã¨ã¦ã§ãã¯ãã¼ã©ã¼ã®ãµãã¼ããå®ç¾ãã¾ã。
Web Worker。 ã使ãã®ã¢ããªãã»ã¨ãã©ã® Angular ã Web Worker ã¹ã¬ããã«ç§»åãã¦、常㫠UI ãã¹ã ã¼ãºã§ãã¤ã§ãå¿çã§ããããã«ãã¾ã。
ãã¤ãã£ã ã¢ãã¤ã« UI。 Google ã¯ã¢ãã¤ã« ã¢ããªã§ã® Web ãã©ãããã©ã¼ã ãµãã¼ãã«æ³¨åãã¦ãã¾ã。åæã«、ä¸é¨ã®ãã¼ã 㯠iOS 㨠Android ã®ã¢ãã¤ã« ã¢ããªã§å®å
¨ã«ãã¤ãã£ã㪠UI ãæä¾ãããã¨åãçµãã§ãã¾ã。
ãã«ã ã¹ãããã¨ãã¦ã®ã³ã³ãã¤ã«。 Angular ã¢ããªã¯ HTML ãã³ãã¬ã¼ãã解æãã¦ã³ã³ãã¤ã«ãã¾ã。ã³ã³ãã¤ã« ã¹ãããããã«ã ããã»ã¹ã«ç§»ããã¨ã«ãã£ã¦、åæã¬ã³ããªã³ã°ã®é«éåã«åãçµãã§ãã¾ã。
Angular 1 ããã³ 2 ãåæã«å®è¡
Angular 2 ã¯ããã©ã¼ãã³ã¹、ç°¡ææ§、æè»æ§ã«ãã㦠Angular 1 ããã大å¹
ã«åä¸ãã¦ãã¾ã。Angular 2 ã®ã³ã³ãã¼ãã³ãããµã¼ãã¹ãåä¸ã®ã¢ããªã«ã·ã¼ã ã¬ã¹ã«åãè¾¼ããããã«ãããã¨ã§、æ¢åã® Angular 1 ã¢ããªã±ã¼ã·ã§ã³ã®ã¡ãªãããç°¡åã«æ´»ãããããåãçµãã§ãã¾ã。ããã«ãã£ã¦、å¤æ°ã®å°è¦æ¨¡ãªã³ãããã«å¯¾ãã¦ã¢ããªã±ã¼ã·ã§ã³ã® 1 ã¤ã®ãµã¼ãã¹ã¾ãã¯ã³ã³ãã¼ãã³ããåæã«ã¢ããã°ã¬ã¼ãã§ããããã«ãªãã¾ã。
ãã¨ãã°、ä¸ã®å³ã®ãããªã¢ããªãããã¨ãã¾ã。Angular 2 ã®ä½¿ç¨ãéå§ããã«ã¯、å·¦å´ã®ããã²ã¼ã·ã§ã³ã Angular 2 ã³ã³ãã¼ãã³ãã«ã¢ããã°ã¬ã¼ãããããã«æå®ãã¾ã。èªä¿¡ãä»ããã、ã¡ã¤ã³ ã³ã³ãã³ã ã¨ãªã¢ã®ã¹ã¯ãã¼ãªã³ã° ã¨ãªã¢ã« Angular 2 ã®ã¬ã³ããªã³ã°é度ãå©ç¨ããããã«æå®ãã¾ã。
ãããå®ç¾ããã«ã¯、Angular 1 㨠Angular 2 ã®é㧠4 ã¤ã®é£æºãè¡ãã¾ã。
ä¾åæ§ã®æ³¨å
¥
ã³ã³ãã¼ãã³ãã®ãã¹ãã£ã³ã°
ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³
å¤æ´ã®æ¤åº
ããããã¹ã¦ãå¯è½ã«ããããã«、æã
ã¯ç¾å¨、ng-upgrade ã¨ããååã®ã©ã¤ãã©ãªã®éçºãé²ãã¦ãã¾ã。æ¢åã® Angular 1 ã¢ããªã±ã¼ã·ã§ã³ã« ng-upgrade 㨠Angular 2 ãã¤ã³ã¯ã«ã¼ããããã¨ã§、æãã®ã¾ã¾ã«çµã¿åããããã¨ãã§ããããã«ãªãã¾ã。
詳細ã¨æ¬ä¼¼ã³ã¼ãã«ã¤ãã¦ã¯、æåã® ã¢ããã°ã¬ã¼ãã®è¨è¨ã«é¢ããããã¥ã¡ã³ã ãåç
§ãã¦ãã ãã。ã¾ã、ãã®åä½ã®æ¦è¦ã«ã¤ãã¦ãè¨è¼ããã¦ãã¾ã。ä»å¾ã®æ稿ã§、Angular 1 ã³ã¼ãã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãã®å
·ä½ä¾ããç´¹ä»ãã¦ããã¾ã。
ä¾åæ§ã®æ³¨å
¥
æåã«、ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ãéã®ã³ãã¥ãã±ã¼ã·ã§ã³ã解決ããå¿
è¦ãããã¾ã。Angular ã«ããã、å¥ã¯ã©ã¹ã¾ãã¯é¢æ°ã®å¼ã³åºãã®æãä¸è¬çãªãã¿ã¼ã³ã¯、ä¾åæ§ã®æ³¨å
¥(Dependency Injection)ã§ã。Angular 1 ã«ã¯ 1 ã¤ã®ã«ã¼ã ã¤ã³ã¸ã§ã¯ã¿ã¼ããã、Angular 2 ã«ã¯ é層åã®ã¤ã³ã¸ã§ã¯ã¿ã¼ ãããã¾ã。ä¸åº¦ã« 1 ã¤ã®ãµã¼ãã¹ãã¢ããã°ã¬ã¼ãããã¨ãããã¨ã¯、2 ã¤ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ãäºãã«ã¤ã³ã¹ã¿ã³ã¹ãæä¾ã§ããããã«ããå¿
è¦ããããã¨ãæå³ãã¾ã。
ng-upgrade
ã©ã¤ãã©ãªã«ãã£ã¦、Angular 1 ã®ãã¹ã¦ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ãèªåçã« Angular 2 ã§å©ç¨ã§ããããã«ãªãã¾ã。ãã㯠Angular 1 ã®ã¢ããªã±ã¼ã·ã§ã³ ãµã¼ãã¹ã Angular 2 ã®ããããã³ã³ãã¼ãã³ãã¾ãã¯ãµã¼ãã¹ã«æ³¨å
¥ã§ããããã«ãªã£ããã¨ãæå³ãã¾ã。
Angular 1 ã®ã¤ã³ã¸ã§ã¯ã¿ã¼ã¸ã® Angular 2 ã®ãµã¼ãã¹ã®å
¬éããµãã¼ãããã¾ãã、ãããã³ã°æ§æãåç´ã«ããå¿
è¦ãããã¾ã。
ãã®çµæ、ç¬ç«ããã³ãããã«å¯¾ãã¦ä¸åº¦ã« 1 ã¤ã®ãµã¼ãã¹ã Angular 1 ãã Angular 2 ã«ç°¡åã«ç§»è¡ã、æ··å¨ç°å¢ã§ã®ã³ãã¥ãã±ã¼ã·ã§ã³ãå®ç¾ã§ãã¾ã。
ã³ã³ãã¼ãã³ãã®ãã¹ãã£ã³ã°ã¨ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³
ãããã®ãã¼ã¸ã§ã³ã® Angular ã§ã、ã³ã³ãã¼ãã³ãã¯ç¬èªã®ãã³ãã¬ã¼ããæã£ããã£ã¬ã¯ãã£ãã¨ãã¦å®ç¾©ãã¦ãã¾ã。ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªç§»è¡ã«ã¤ãã¦ã¯、ãããã®ã³ã³ãã¼ãã³ããä¸åº¦ã« 1 ã¤ãã¤ç§»è¡ã§ããããã«ããå¿
è¦ãããã¾ã。ããã¯、ng-upgrade ã§åãã¬ã¼ã ã¯ã¼ã¯ã®ã³ã³ãã¼ãã³ããäºãã«ãã¹ãã§ããå¿
è¦ããããã¨ãæå³ãã¾ã。
ããã解決ãããã、ng-upgrade ã Angular 1 ã³ã³ãã¼ãã³ãããã¡ãµã¼ã ã«ã©ããã§ããããã«ãããã¨ã§、ãããã Angular 2 ã³ã³ãã¼ãã³ãå
ã§ä½¿ç¨ã§ããããã«ãã¦ãã¾ã。éã«、Angular 2 ã³ã³ãã¼ãã³ãã Angular 1 ã§ä½¿ç¨ããããã«ã©ãããããã¨ãã§ãã¾ã。ããã¯、Angular 2 ã®ã³ã³ãã³ã ããã¸ã§ã¯ã·ã§ã³åæ§、Angular 1 ã®ãã©ã³ã¹ã¯ã«ã¼ã¸ã§ã³ã§ãå®å
¨ã«åä½ãã¾ã。
ãã®ãã¹ããããã³ã³ãã¼ãã³ãã§ã¯、åãã³ãã¬ã¼ãã Angular 1 ã¾ã㯠Angular 2 ã®ããããã«å®å
¨ã«ææãã、ãã®æ§æããã³ã»ãã³ãã£ãã¯ã«å³å¯ã«å¾ãã¾ã。ããã¯ã¨ãã¥ã¬ã¼ã·ã§ã³ã§ã¯ãªã、ã³ã³ãã¼ãã³ãã®ã¿ã¤ãã«å¿ããåãã¬ã¼ã ã¯ã¼ã¯ã§å®éã«åä½ãã¾ã。ã¤ã¾ã、Angular 2 ã«ã¢ããã°ã¬ã¼ããããã³ã³ãã¼ãã³ãã¯、æ§æãæ¹è¯ãããã ãã§ã¯ãªã、Angular 2 ã®ãã¹ã¦ã®ã¡ãªããã享åã§ããã®ã§ã。
ã¾ã、Angular 1 ã®ã³ã³ãã¼ãã³ãã¯Angular 2 ã®ãã³ãã¬ã¼ãã§ä½¿ç¨ãããå ´åã§ã常㫠Angular 1 ã®ä¾åæ§ã®æ³¨å
¥ã使ç¨ã、Angular 2 ã®ã³ã³ãã¼ãã³ã㯠Angular 1 ã®ãã³ãã¬ã¼ãã§ä½¿ç¨ãããå ´åã§ã、常㫠Angular 2 ã®ä¾åæ§ã®æ³¨å
¥ã使ç¨ãããã¨ãæå³ãã¾ã。
å¤æ´ã®æ¤åº
Angular 1 㨠Angular 2 ã®ã³ã³ãã¼ãã³ãã®æ··å¨ã¯、Angular 1 ã®ã¹ã³ã¼ã㨠Angular 2 ã®ã³ã³ãã¼ãã³ãã交äºã«é
ç½®ããããã¨ãæå³ãã¾ã。ãã®ãã、ng-upgrade ã§ã¯、å¼ã®äºæ¸¬å¯è½ãªè©ä¾¡é ãç¶æãããã、å¤æ´ã®æ¤åº(Angular 1 ã®ã¹ã³ã¼ã ãã¤ã¸ã§ã¹ã㨠Angular 2 ã®å¤æ´ã®æ¤åºæ©è½)ãåæ§ã«äº¤äºã«é
ç½®ããã¾ã。
ng-upgrade
ã§ã¯ãããèæ
®ãã¦、Angular 1 ã®ã¹ã³ã¼ã ãã¤ã¸ã§ã¹ã㨠Angular 2 ã®å¤æ´ã®æ¤åºãããªãã¸ã、両æ¹ã®ãã¬ã¼ã ã¯ã¼ã¯ã«ã¾ããã 1 ã¤ã«ã¾ã¨ãããã¤ã¸ã§ã¹ã ãµã¤ã¯ã«ãä½æãã¾ã。
ä¸è¬çãªã¢ããªã±ã¼ã·ã§ã³ã®ã¢ããã°ã¬ã¼ã ããã»ã¹
ããã§、Angular 1 ã®ããã¸ã§ã¯ãã® Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãã®ä¾ããç´¹ä»ãã¾ã。
æ¢åã®ã¢ããªã±ã¼ã·ã§ã³ã« Angular 2 㨠ng-upgrade ã©ã¤ãã©ãªãã¤ã³ã¯ã«ã¼ããã¾ã。
移è¡ããã³ã³ãã¼ãã³ããé¸æãã¾ã。
Angular 2 ã®æ§æã«å¾ã£ã¦ Angular 1 ã®ãã£ã¬ã¯ãã£ãã®ãã³ãã¬ã¼ããç·¨éãã¾ã。
ãã£ã¬ã¯ãã£ãã®ã³ã³ããã¼ã©ã¼/ãªã³ã¯é¢æ°ã Angular 2 ã®æ§æ/ã»ãã³ãã£ãã¯ã«å¤æãã¾ã。
ng-upgrade ã使ç¨ãã¦ãã£ã¬ã¯ãã£ã(ç¾å¨ã¯ã³ã³ãã¼ãã³ã)ã Angular 1 ã®ã³ã³ãã¼ãã³ãã¨ãã¦ã¨ã¯ã¹ãã¼ããã¾ã(ããã¯、Angular 1 ã®ãã³ãã¬ã¼ããã Angular 2 ã®æ°ããã³ã³ãã¼ãã³ããå¼ã³åºãå ´åã«å¿
è¦ã§ã)。
移è¡ãããµã¼ãã¹ãé¸æãã¾ã。
ã»ã¨ãã©ã®å ´å、å¿
è¦ãªå¤æ´ã¯æå°éã§ããã、å¤æ´ã¯ä¸è¦ã§ã。
Angular 2 ã§ãµã¼ãã¹ãæ§æãã¾ã。
(ãªãã·ã§ã³) Angular 1 ã®ã³ã¼ãã®ä»ã®é¨åã§ã¾ã 使ç¨ããã¦ããå ´å、ng-upgrade ã使ç¨ãã¦ãµã¼ãã¹ã Angular 1 ã«åã³ã¨ã¯ã¹ãã¼ããã¾ã。
å¿
è¦ã«å¿ãã¦、ã¹ããã 2 㨠3 ãç¹°ãè¿ãã¾ã。
ãµã¼ãã¹/ã³ã³ãã¼ãã³ãã®å¤æããã¹ã¦çµãã£ãã、æä¸ä½ã® Angular 1 ãã¼ãã¹ãã©ãããããããã、Angular 2 ã®ãã¼ãã¹ãã©ããã«ç½®æãã¾ã。
åã
ã®å¤æ´ã¯åå¥ã«ç¢ºèªã§ãããã、ã¢ããªã±ã¼ã·ã§ã³ã¯åä½ãç¶ç¶ã、ã¦ã¼ã¶ã¼ã¯å¿
è¦ã«å¿ãã¦ã¢ãããã¼ãã®ãªãªã¼ã¹ãç¶è¡ã§ãã¾ã。
æã
ã¯、ã³ã³ãã¼ãã³ã以å¤ã®ãã£ã¬ã¯ãã£ãã両æ¹ã§ä½¿ç¨ã§ããããã«ãããã¨ã¯è¨ç»ãã¦ãã¾ãã。ã³ã³ãã¼ãã³ã以å¤ã®ãã£ã¬ã¯ãã£ãã®ã»ã¨ãã©ãæ°ãããã³ãã¬ã¼ãã®æ§æ(ã¤ã¾ã、ng-click vs (click) )ã§ç´æ¥ãµãã¼ãããããã、Angular 2 ã§ã¯ä¸è¦ã§ããã¨èãã¦ãã¾ã。
質åã¨åç
Angular 2 ã§ã¯åæ¹å ãã¤ã³ãã£ã³ã°ããµãã¼ããããªãã¨èãã¾ãã。交æããã«ã¯ã©ãããã°ããã§ãã?
å®éã«ã¯、Angular 2 ã§åæ¹åãã¼ã¿ ãã¤ã³ãã£ã³ã°ã¨ ng-model ããµãã¼ãããã¾ãã、æ§æããããã«ç°ãªãã¾ã。
Angular 2 ã®éçºã«çæããã¨ã、Angular ã®ãã¤ã¸ã§ã¹ã ãµã¤ã¯ã«ã«é¢ããåé¡ã解決ãããã¨èãã¦ãã¾ãã。ããã§、å¤æ´ã®æ¤åºç¨ã« 1 æ¹åã®ãã¼ã¿ããã¼ãä½æãããã¨ãé¸æãã¾ãã。å½åã¯、ng-model ã®åæ¹åã®ãã©ã¼ã ãã¼ã¿ãã¤ã³ãã£ã³ã°ã Angular 1 ã«ã©ã®ããã«é©å¿ãã¦ããã®ããä¸æã§ããã、Angular 2 ã®ãã©ã¼ã ã Angular 1 ã®ãã©ã¼ã ã¨åæ§ã«ã·ã³ãã«ã«ããå¿
è¦ããããã¨ã¯ããã£ã¦ãã¾ãã。
ä½åº¦ã試è¡é¯èª¤ãç¹°ãè¿ããã¡、è¤æ°ã®ãã¤ã¸ã§ã¹ãã§ã®åé¡ã解決ã、Angular 1 ã® ng-model ã®ãã¯ã¼ã¨ç°¡æ½ããç¶æãããã¨ãã§ããããã«ãªãã¾ãã。
åæ¹åãã¼ã¿ãã¤ã³ãã£ã³ã°ã®æ°ããæ§æã¯æ¬¡ã®ããã«ãªãã¾ãã:[(property-name)]="expression"
。ããã«ãã£ã¦、åæ¹åã§å¼ãæ示çã«ãã¤ã³ãããã¾ã。ã»ã¨ãã©ã®ã·ããªãªã«ããã¦æ§æã®å¤æ´ã軽微ãªãã、移è¡ã¯å®¹æã§ããã¨èãã¦ãã¾ã。
ãã¨ãã°、Angular 1 ã§ã®æ§æã <input type="text" ng-model="model.name" />
ã®å ´å、
Angular 2 ã§ã¯ <input type="text" [(ng-model)]="model.name" />
ã«å¤æãã¾ã。
Angular 2 㧠使ç¨ã§ããè¨èªã¯ã©ãã§ãã?
Angular 2 API ã§ã¯、ç¾å¨ã® JavaScript(ES5)、次æãã¼ã¸ã§ã³ã® JavaScript(ES6 ã¾ã㯠ES2015)、TypeScript、ããã³ Dart ã§ã®ã³ã¼ãã£ã³ã°ãå®å
¨ã«ãµãã¼ãããã¾ã。
ç¾å¨ã® JavaScript ãå¼ãç¶ã使ç¨ãã¦ããã ãã¦ãä½ãåé¡ã¯ããã¾ããã、ES6 ããã³ TypeScript(ãã㯠ES6 ã®ã¹ã¼ãã¼ã»ããã§ã)ãã試ãã«ãªããã¨ããå§ããã¾ã。ãããã使ç¨ãããã¨ã§、çç£æ§ã大å¹
ã«åä¸ãã¾ã。
ES6 ã§ã¯、ãããã¹ãã¢ã¸ã¥ã¼ã«ã¨ãã£ãå
±éã©ã¤ãã©ãªã«、大å¹
ã«æ¹åããæ§æãäºææ§ã®ããæ¨æºæ©è½ãæä¾ãã¾ã。TypeScript ã§ã¯、ã³ã¼ã ããã²ã¼ã·ã§ã³、IDE ã§ã®èªåãªãã¡ã¯ã¿ãªã³ã°、ããã¥ã¡ã³ãã¼ã·ã§ã³、ã¨ã©ã¼æ¤åºãªã©ã大å¹
ã«åä¸ãã¾ã。
ES6 㨠TypeScript 㯠ES5 ã®ã¹ã¼ãã¼ã»ããã§ãããã、ç°¡åã«å°å
¥ã§ãã¾ã。ããã¯、æ¢åã®ãã¹ã¦ã®ã³ã¼ããæå¹ã§、ä¸åº¦ã«å°ããã¤æ©è½ã追å ã§ãããã¨ãæå³ãã¾ã。
ã³ã¼ããã¼ã¹ã® $watch ã¯ã©ã®ããã«æ±ãã°ããã§ãã?
ç°¡åã«è¨ãã¨、$watch å¼ã¯å®£è¨çãªã¢ããã¼ã·ã§ã³ã«ç§»è¡ããå¿
è¦ãããã¾ã。ããã«é©ããªãå ´åã¯、ãªãã¶ã¼ããã«(ãªã¢ã¯ãã£ã ããã°ã©ãã³ã° ã¹ã¿ã¤ã«)ãå©ç¨ããå¿
è¦ãããã¾ã。
Angular 2 ã§é度ã¨äºæ¸¬å¯è½æ§ãåä¸ãããã«ã¯、宣è¨çã«ã¦ã©ããå¼ãæå®ãã¾ã。å¼ã¯ HTML ãã³ãã¬ã¼ãå
ã«ãã、èªåçã«ã¦ã©ããããã(ä½ãããªãã¦ããã)ã、ãã£ã¬ã¯ãã£ãã®æ³¨éã§å®£è¨çã«ãªã¹ãããå¿
è¦ãããã¾ã。
ããã«ãããã 1 ã¤ã®ã¡ãªããã¯、Angular 2 ã¢ããªã±ã¼ã·ã§ã³ãå°è¦æ¨¡ãªãã¤ãã¼ãã®ããã«å®å
¨ã«å§ç¸®/é£èªåã§ãããã¨ã§ã。
ã¢ããªã±ã¼ã·ã§ã³éã®ã³ãã¥ãã±ã¼ã·ã§ã³ã®ããã«、Angular 2 ã§ã¯ãªãã¶ã¼ããã«(ãªã¢ã¯ãã£ã ããã°ã©ãã³ã° ã¹ã¿ã¤ã«)ãæä¾ããã¾ã。
移è¡ã®æºåã®ããã«ä½ããã¹ãã§ãã?
ãã¹ããã©ã¯ãã£ã¹ã«å¾ã、 AngularJS Style Guide ã§èª¬æããã¦ããããã«、Angular 1 ã®ã³ã³ãã¼ãã³ãããã³ãµã¼ãã¹ã使ç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ãéçºãã¦ãã ãã。
å½åã®ã¢ããã°ã¬ã¼ãè¨ç»ã§ã¯、æ°ããã³ã³ãã¼ãã³ã ã«ã¼ã¿ã¼ã使ç¨ãããã¨ã«ãªã£ã¦ãã¾ããã§ããã?
ng-conf 2015 ã§çºè¡¨ããã¢ããã°ã¬ã¼ãè¨ç»ã¯、ãã¥ã¼å
¨ä½ãä¸åº¦ã«ã¢ããã°ã¬ã¼ãã、2 ã¤ã®ãã¼ã¸ã§ã³ã® Angular éã®ã³ãã¥ãã±ã¼ã·ã§ã³ãã³ã³ãã¼ãã³ã ã«ã¼ã¿ã¼ã§å¦çãããã¨ãåæã¨ãã¦ãã¾ãã。
å
ã
ã¤ã³ã¯ãªã¡ã³ã¿ã«ãªç§»è¡ããããããã¦ãã¾ããã、ååã§ã¯ããã¾ããã§ãã。è¨ç»ãåèã、ä¸è¨ã®ãããªè¨ç»ã«å¤æ´ãããã¨ã«ãªãã¾ãã。
æä¾ãã¦ããã ããæ
å ±ã¯ã»ãã«ãããã¾ãã?
ã¯ã。Angular 1 ãã Angular 2 ã¸ã®ã¢ããã°ã¬ã¼ãæ¦ç¥è¨è¨ã®ããã¥ã¡ã³ãã«è¨è¼ããã¦ãã¾ã。
ä»å¾、次ã®ãããªé¢é£ãããã¯ã®æ稿ãäºå®ãã¦ãã¾ã。
Angular 1 ã®ç¥èã Angular 2 ããããã³ã°ãã。
Angular 2 ã®è©³ç´°ã«é¢ãã FAQ。
ã³ã¼ã ãµã³ãã«ã使ç¨ãã詳細ãªç§»è¡ã¬ã¤ã。
次å以éã®æ稿ãã楽ãã¿ã«!
Posted by Eiji Kitamura - Developer Relations Team