ã¯ããã«
ãFlutterã¯ããã¢ãã¤ã«ã¢ããªãã¬ã¼ã ã¯ã¼ã¯ãã¨ããä½ç½®ä»ãã§ç´¹ä»ããããã¨ãå¤ããªã£ã¦ãã¾ãããã¢ãã¤ã«ã¢ããªãã¬ã¼ã ã¯ã¼ã¯ãã¨ã¯ããã¢ãã¤ã«ãã¤ã¾ããAndroidã¨iOSãåãã½ã¼ã¹ãå ±æãã¦ãåæã«ä½æãããã¨ãã§ãããã®ããã¡ãããå³å¯ã«ã¯100ï¼ åãã½ã¼ã¹ã¨ã¯è¨ãåããªãå ´åãããã¾ããããã§ãããå°ãåºç¾©ã®æå³ã§ã¯åãè¨èªã§iOSï¼Androidã®ã¢ããªéçºãã§ããå ´åã§ããã°ãã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ãã¨å¼ã¶å ´åãããã¾ãã
対象
ãçè ã®ä¸»è¦³ãå«ã¾ãã¦ãã¾ãã¾ãããç¹ã«Flutterãããããããã人ã¯ä»¥ä¸ã®ãããªéçºè ã§ãã
- ã¢ãã¤ã«ã¢ããªéçºãããããæ¬æ ¼çã«å§ãããWebã¢ããªéçºè
- Androidã¢ããªéçºè ã ããiOSã®éçºãå§ãããéçºè
- React Nativeããªãããªãã¨æã£ã¦ããéçºè
- Apache Cordovaãåæ¥ãããã¢ããªéçºè
ãç¹ã«ãä¸è¨ã«å½ã¦ã¯ã¾ãæ¹ã«ã¯ãªãã¿ãããã½ãªã¥ã¼ã·ã§ã³ã§ããããã¡ãããã以å¤ã®æ¹ã§ãååå©ç¨ãã価å¤ããããã¬ã¼ã ã¯ã¼ã¯ã§ãã
Dartã¨ããè¨èª
ãFlutterã¯ããDartãã¨ããè¨èªã使ã£ã¦éçºããã¦ããã¾ããå¤ãã®æ¹ã«ã¨ã£ã¦ãå°ã èãæ £ããªãè¨èªããããã¾ãããAndroidãiOSã®ããã«JavaãSwiftãªã©å¥ã®æ°ããè¨èªãè¦ããã®ã大å¤ãªã®ã§ãã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ãæ¢ãã¦ããæ¹ã«ã¨ã£ã¦ã¯è¯ãå°è±¡ãæã¡ã¥ããã§ããããã§ããã°ãã§ã«ç¥ã£ã¦ããè¨èªã§ã¢ãã¤ã«ã¢ããªéçºãã§ããã°è¯ããªã¨æã£ã¦ããã¨ããã«ãæ°´ãå·®ããããããªæ°æã¡ã«ãªã£ãæ¹ãããããããã¾ãããããããJavaScriptãJavaãç¥ã£ã¦ããæ¹ã§ããã°ãDartã«ã¤ãã¦ããã»ã©æ§ããå¿ è¦ã¯ããã¾ããã
ããã¾ã§æ³¨ç®ããã¦ããªãã£ãDartè¨èª
ããã¨ãã¨ãDartãã¯ãJavaScriptã®ä»£æ¿è¨èªã¨ãã¦2011å¹´ã«ãªãªã¼ã¹ããã¾ããããã®ãããTypeScriptã¨ä¼¼ã¦ãããç®çãåãã®ããããããåçã¬ãã«ã®è¨èªã¨æãã¦ãè¯ãã§ããã¾ããFlutterã使ã£ãã¢ãã¤ã«ã¢ããªãä½ãããã«ãDartã«ã¤ãã¦åå¼·ãã¦ããªãã¦ã大ä¸å¤«ã§ãã
Dartè¨èªã®ã¡ãªãã
ãTypeScriptã¯å¤ãã®ã½ãªã¥ã¼ã·ã§ã³ã«ã¨ã£ã¦ããã°ãªã©ãçºçãã«ããJavaScriptãæ¸ãããã®å¤æãã¼ã«ã«ããã¾ãããçè ã以åã¯TypeScriptã使ã£ã¦ãã¾ããããä»ã§ã¯ä½¿ããªããªã£ã¦ãã¾ããããã®çç±ã¨ãã¦ã¯ãTypeScriptã§çæãããJavaScriptã§ã®åé¡ç¹ã調æ»ããã¨ãããã¨ãçºçããããã«ãªã£ã¦ããããã§ããTypeScriptèªä½ã®åé¡ã§ã¯ãªãã®ã§ãããTypeScriptãç¥ã£ã¦ãããã©JavaScriptãç¥ããªãéçºè ãããç¶æ³ãå¢ãããªã©ããããã£ãåé¡ãåºã¦ããããã«æãã¾ãã
ããããã£ãä¸éã½ãªã¥ã¼ã·ã§ã³ã¯ãåé¡ã«ã¶ã¤ãã£ãã¨ãããã®ç°å¢ã®ãã¤ãã£ãè¨èªãæ±ã£ã¦ããå ´åã«æ¯ã¹ã¦åé¡ãè¤éã«ãªãããã解決æ¹æ³ãé£ãããªãã±ã¼ã¹ãããã¾ããããã¦ãåé¡ã解決ã§ãããããã®ç¥èãã¤ãã¨ãä¸éã½ãªã¥ã¼ã·ã§ã³ããããªãã»ã©ãçç¥ãã¦ãã¾ã£ãã¨ãããã¨ã«ãªãã¾ãã
ãDartè¨èªããTypeScriptã®ããã«JavaScriptã«å¤æããããã®AltJSã¨ããå©ç¨æ¹æ³ãããã¾ãããããã以ä¸ã®ãããªã¡ãªãããããã¾ãã
- UIããããã¯ããªãéåæå¦çããUIå®ç¾©ãããããã³ã¬ã¯ã·ã§ã³è¨è¿°ãªã©UIå¦çãè¨è¿°ããããè¨èª
- éçºããªããåæã«åä½ã確èªã§ãããããªçç£æ§ãèæ ®ããéçºç°å¢
- AOTã³ã³ãã¤ã©ã«ããå¹ åºããã©ãããã©ã¼ã ã«ãã¤ãã£ã対å¿ãå¯è½ã§ãã¹ãã以å¤ã®å©ç¨ãèæ ®
ãããã¦ãDartã¯ãã®Flutterã¨ããã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ã«ã¨ã£ã¦ã¯ãã¤ãã£ãã®è¨èªã§ããããã®å©ç¹ããã¾ãã¾ãªã¨ããã§çãããã¦ãã¾ãã
ã¢ãã¤ã«ã¢ããªéçºã®èª²é¡
ãFlutterã®ç¹å¾´ãå©ç¹ã«ã¤ãã¦ç´¹ä»ããåã«ããã¢ãã¤ã«ã¢ããªéçºãã«ã¤ãã¦èª¬æãã¾ããããã¢ãã¤ã«ã¢ããªã«ã¤ãã¦éçºãããã¨ãããæ¹ãªããã§ã«ç¥ã£ã¦ããããããã¾ããããå®éã«Webã¢ããªãä½ã£ããã¨ã¯ãããã©ã¢ãã¤ã«ã¢ããªã¯ã¾ã ç¡ãã¨ããæ¹ãå¤æ°ããã¨æãã¾ãã
ããã®ãããªæ¹ã«ã¨ã£ã¦ã¯ãããã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ãæ¡ç¨ãã¦ä½¿ã£ã¦è¦ãã¨ãæåã«éè¦ã¨æã£ã¦ããé¨å以å¤ãå®ã¯éè¦ã§ãããã¨ã«æ°ãã¤ããã¨ã§ããããAndroidãiOSç¨ã®ã¢ããªãå®éä½ããã¨ããã¨ã以ä¸ã®ãããªãã¾ãã¾ãªéãã«ããåé¡ã«ã¶ã¤ããã¾ãã
- éçºè¨èªã®éã
- éçºç°å¢ã»ãã«ãç°å¢ã®éãï¼iOSã®ã¢ããªã¯Macã§ãªãã¨éçºã§ããªããªã©ï¼
- APIã®éãï¼ç«¯æ«ã®ã»ãã¥ãªãã£ãå¶ç´ã»æ¹åæ§ã®éãï¼
- UIã®éãï¼æä½æ¹æ³ã®éãï¼
ãã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ãé¸ã¶éã«å¤ãã®æ¹ã¯ããéçºè¨èªã®éããã«é¢å¿ãæã¡ã¾ããããããå®éã«éçºãé²ãã¦ããã°ãéçºè¨èªãã®åé¡ã¯ãã以å¤ã®åé¡ã«æ¯ã¹ã¦å¤§ãããªããã¨ãåããã¾ããç¹ã«ãMacã使ããªãå ´åã«ã¯ãiOSã®éçºç°å¢ã®éããªã©ãç解ãããã¨ãé£ãããAPIã®éããåã«å®è£ ã®éãããçãããã®ãããã»ãã¥ãªãã£ãå¶ç´ã»æ¹åæ§ã®éããããã¾ãã
ãä¾ãã°ãã¢ããªãããã¯ã¨ã³ãã«ãªã£ãå ´åã«ãAndroidã®å ´åã§ã¯å¦çãåä½ãã¦ããã®ã«ãiOSã§ã¯å¦çãæ¢ã¾ã£ã¦ããã¨ãããã¨ãçºçãã¾ããã¾ããããã·ã¥éç¥ãªã©ã§ã¯WiFiæ¥ç¶ãã¦ããã¨iOSã§ã¯åä¿¡ã§ããã®ã«ãAndroidã§ã¯åä¿¡ã§ããªãã»ããiOSã¨Androidã§ãµãã¼ãããã¦ããç»åãåç»ãã©ã¼ãããã®éããªã©å®éã«ä½¿ã£ã¦ã¿ãªãã¨æ°ã¥ãã«ããé¨åãããã¾ãã
ãã§ãããã¨ãåãã§ããã°ãAPIã®éãããã£ã¦ããã¬ã¼ã ã¯ã¼ã¯ãå¸åãã¦ãããå ´åãããã¾ããããããåOSãæã¤ã»ãã¥ãªãã£å¶ç´ãªã©ã¯ãã¬ã¼ã ã¯ã¼ã¯ã¯å¸åãããã¨ã¯ã§ãã¾ãããã¾ããå é¨ã§å©ç¨ãã¦ããã©ã¤ãã©ãªãéãããã«ãç°ãªãæåã«ãªã£ã¦ãã¾ãã¨ããã±ã¼ã¹ãããã¾ãããã¡ãããã¬ã¼ã ã¯ã¼ã¯å´ã§ã§ããã ãå¸åãããã¨ãã¾ããããã¹ã¦å¯¾å¿ããããªãã®ãç¾ç¶ã§ããå®ã¯ãã®ããã«ãè¨èªã®éãã以å¤ã«ããã¢ãã¤ã«ãã¬ã¼ã ã¯ã¼ã¯ãã©ã®ç¨åº¦ãããã®éããå¸åã§ããã®ããã大ããªææ¨ã®1ã¤ã§ãã