ã¯ããã«
æã
ã®ç掻ã¯æ¥ã
ããžã¿ã«åãé²è¡ãããã®äžå¿ã«ããã®ããœãããŠã§ã¢ã§ãããã®ãœãããŠã§ã¢ãéçºããããã®å€ãã®ããã°ã©ãã³ã°èšèªãååšããŸããããã®äžã§ã泚ç®ãããŠããã®ã
Dartãšã¯
Dartã¯ãGoogleãéçºããæ°ããããã°ã©ãã³ã°èšèªã®äžã€ã§ãããã¯ã©ã€ã¢ã³ãéçºãäž»ãªç®çãšããŠèšèšãããŠããŸãããŠã§ããã¢ãã€ã«ããã¹ã¯ããããšãã£ããããããã©ãããã©ãŒã ã§åäœããããšãç®æããŠãããç¹ã«Googleãæšé²ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³éçºãã¬ãŒã ã¯ãŒã¯ã§ããFlutterã䜿çšããããšã§ãiOSãšAndroidã®äž¡æ¹ã§å®è¡ã§ããã¢ããªã±ãŒã·ã§ã³ãDartäžã€ã§éçºå¯èœãšãªããŸããããã«ããéçºå¹çã®åäžãã³ãŒãã®ä¿å®æ§åäžãã¯ããããšãå¯èœãšãªããŸãã
ãã¬ãŒã ã¯ãŒã¯ãšã¯
ããã°ã©ãã³ã°ã«ãããŠãã¬ãŒã ã¯ãŒã¯ãšã¯ããœãããŠã§ã¢ã®æ§é ããã®æ¯ãèããçµ±äžåããéçºè ãäž»ã«ããã°ã©ã ã®ç¹å®ã®åŠçãæžãããšã«éäžã§ããããã«ããä»çµã¿ã®ããšãæããŸããããã¯ããçš®ã®ã«ãŒã«ã®ãããªãã®ã§ããã®ã«ãŒã«ã«åŸãããšã§ããæ©ããããç°¡åã«ããããŠããå質ã®é«ããœãããŠã§ã¢ãéçºã§ããŸããã€ãŸãããã¬ãŒã ã¯ãŒã¯ã¯è€éãªãœãããŠã§ã¢éçºãæ¯ããéçºè ãããé«åºŠãªæ©èœã«éäžã§ããããã«ããããŒã¹ãšãªããœãããŠã§ã¢ã®ããšã§ãã
Dartã®æŽå²ãšç¹åŸŽ
èªãç¶ãããããã°ã©ãã³ã°èšèªã®äžã€ã«ãGoogleãçã¿åºããDartèšèªããããŸãã
Dartã®æŽå²
Dartã¯ãäžè¬çã«ã¯Googleãéçºããããã°ã©ãã³ã°èšèªãšããŠç¥ãããŠããŸãããã®å ¬éã¯2011幎ã®ããšã§ããã®ç®çã¯å€§èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå©ããããã§ããã
ãã®èšèªã¯JavaScriptã®å¶çŽã解æ¶ãããããã¯ãã«ã§å¹ççãªWebéçºãå®çŸãããšãã倧ããªç®æšãæ²ããŸãããããããåæã®Dartã¯JavaScriptãžã®å€æãå¿ èŠã ã£ããããæ¡çšã®ããŒãã«ã«ãªããŸããã
ãã®åŸã2017幎ã«çºè¡šãããDart 2ã§ã¯ããã®åé¡ãã»ãŒè§£æ¶ãããããã«ã¯ããã©ãŒãã³ã¹ã®åäžãã°ããŒãã«å€æ°ã®åæžããããªãåå®å šæ§ã®æ¯æçãå€§å¹ ãªæ¹åãè¡ãããŸããããŸããGoogleãæšé²ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ãFlutterãDartãæ¡çšã«ããããã®èªç¥åºŠãšäººæ°ã¯äžå±€å¢ããŠããŸãã
Dartã®ç¹åŸŽ
Dartã¯ããã°ã©ãã³ã°èšèªãšããŠå€ãã®ç¹åŸŽãæã¡åãããŠããŸãããã®äž»ãªç¹åŸŽã¯ã¹ããŒãããããã¯ãã£ããã£ãã©ã€ãã©ãªã®å å®ããšèšããã§ãããã
å®è¡é床ã«åªããŠããããšã¯ãDartã®ããã°ãã€ã³ãã§ããããªã³ã³ãã€ã«ããããã€ãã£ãã³ãŒããšããŠå®è¡ã§ãããããåŠçãæ©ããªãã®ã§ãããŸããã¹ã¯ãªããèšèªãšããŠã䜿çšã§ããåçã«JavaScriptãžãšãã©ã³ã¹ãã€ã«ãå¯èœã§ãã
ãŸããDartã¯ãããã¯ãã£ããã£ã«ãåªããŠããŸããäžã€ã¯ãDartPadãšãããã©ãŠã¶ããŒã¹ã®ããã°ã©ãã³ã°ç°å¢ã§ãããã«ããæ軜ã«Dartã®ã³ãŒããæžããŠå®è¡ã§ããŸããã¯ã©ã¹ãé¢æ°ãé«åºŠãªåã®ãµããŒãã«ããJavaScript以äžã«æ§é åãããã³ãŒããæžãããšãå¯èœã§ããããã«ãHot Reloadãšããæ©èœããããããã«ããã³ãŒãã®å€æŽç¹ããªã¢ã«ã¿ã€ã ã«åæ ããã€ã€ãã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãä¿æããããšãå¯èœã§ãã
æåŸã«ãè±å¯ãªã©ã€ãã©ãªãæäŸãããŠããŸãããããã¯pubãšåŒã°ããããã±ãŒãžãããŒãžã£ãéããŠç°¡åã«å©çšã§ããŸããããã±ãŒãžãããŒãžã£ã«ã¯æ°å€ãã®ã©ã€ãã©ãªãçšæãããŠããŠããããã䜿çšããããšã§ãããããçš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ãå¹ççã«éçºããããšãã§ããŸãã
Dartã®ãã¬ãŒã ã¯ãŒã¯ãšãã®çš®é¡
Dartã¯ããšããšGoogleãéçºããããã°ã©ãã³ã°èšèªã§ãããããèªäœãéèŠãªæ©èœãå èµããŠããŸããããããè€éãªWebã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã«ãããŠã¯ãããé«åºŠãªæ©èœãæäŸãããã¬ãŒã ã¯ãŒã¯ãå©çšãããŸãã
ãã¬ãŒã ã¯ãŒã¯ãšããŠã®Dart
ãã¬ãŒã ã¯ãŒã¯ãšã¯ãã¢ããªã±ãŒã·ã§ã³ãçæéã§å¹ççã«éçºã§ããããã«ãäžé£ã®ã©ã€ãã©ãªãããŒã«ãæäŸãããœãããŠã§ã¢ã®ããšãæããŸããDartã®ãã¬ãŒã ã¯ãŒã¯ã¯ãDartã«å¯Ÿå¿ããçš®ã ã®ããã±ãŒãžãšããŠæäŸãããããããçµã¿åãããããšã§ã¢ããªã±ãŒã·ã§ã³ã®éçºã容æã«è¡ãããšãå¯èœã§ãã
Dartãã¬ãŒã ã¯ãŒã¯ã®çš®é¡
Dartèšèªã«å¯Ÿå¿ãããã¬ãŒã ã¯ãŒã¯ãšããŠã¯ãäž»ã«ãFlutterãããAngularDartãããAqueductãã®ïŒã€ã代衚çã§ãã
Flutterã¯ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã«ç¹åãããã¬ãŒã ã¯ãŒã¯ã§ããAndroidãšiOSã®äž¡æ¹ã«å¯Ÿå¿ããçŸããæ»ãããªãŠãŒã¶ã€ã³ã¿ãã§ãŒã¹ã®å®è£ ãå¯èœã§ãã
AngularDartã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºã«ç¹åãããã¬ãŒã ã¯ãŒã¯ã§ãGoogleèªèº«ã倧èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ãéçºããããã«äœ¿ã£ãŠããŸãã
Aqueductã¯ããµãŒããŒãµã€ãã®éçºã«ç¹åãããã¬ãŒã ã¯ãŒã¯ã§ããRESTful APIãOAuth 2.0ãªã©ã®ãµãŒããŒãµã€ãã®ã³ã³ããŒãã³ããç°¡åã«éçºããããšãã§ããŸãã
代衚çãªDartãã¬ãŒã ã¯ãŒã¯ã®æ¯èŒ
ãããã®ãã¬ãŒã ã¯ãŒã¯ãæ¯èŒãããšããããããç°ãªãç®çã®ããã«èšèšãããŠããããšãããããŸããFlutterã¯ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³éçºã«ãAngularDartã¯Webã¢ããªã±ãŒã·ã§ã³éçºã«ãAqueductã¯ãµãŒããŒãµã€ãã®éçºã«æé©ã§ãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ãéžã¶éã®èæ ®ãã¹ããã€ã³ããšããŠã¯ãããããã®æå¹æ§ã䜿çšããéã®å¹æããªãã³ã«ããªãèªèº«ã®ãããžã§ã¯ãã«å¯ŸããèŠä»¶ãæããããŸãã
ã€ãŸããé©åãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããã«ã¯ããããžã§ã¯ãã®èŠä»¶åã³ãã¬ãŒã ã¯ãŒã¯éã®éããç解ããããšãå¿ èŠã«ãªããŸããããã«ãããå¹æçãªã¢ããªã±ãŒã·ã§ã³ã®éçºãè¡ããã§ãããã
ãã¬ãŒã ã¯ãŒã¯ã®éžã³æ¹
ãã¬ãŒã ã¯ãŒã¯ãéžã¶éã«èæ ®ãã¹ãã¯ããã€ããããŸããããã®äžã§ãéåžžã«éèŠãªãã€ã³ãã¯ããããžã§ã¯ãã®èŠæš¡ãšç®çãæè¡ã¹ã¿ãã¯ããããŠã³ãã¥ããã£ã®æŽ»çºãã§ãããããã«èŠéãåããããšã«ãããæé©ãªãã¬ãŒã ã¯ãŒã¯éžã³ãå¯èœãšãªããŸãã
ãããžã§ã¯ãã®èŠæš¡ãšç®ç
å§ãã«éèŠãã¹ãã¯ããããžã§ã¯ãã®èŠæš¡ãšç®çã§ããç°¡æçãªãŠã§ãããŒãžãè©Šäœåãäœãã®ã§ããã°ãåŠç¿ã³ã¹ãã®äœããå°èŠæš¡åãã®ãã¬ãŒã ã¯ãŒã¯ãåããŠããŸããäžæ¹ã倧èŠæš¡ãªãããžã§ã¯ããæ¬æ ŒçãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåã¯ãæ¡åŒµæ§ãã«ã¹ã¿ãã€ãºæ§ãé«ããã¬ãŒã ã¯ãŒã¯ã®éžæãæ±ããããŸãããŸããéçºç®çã«ãã£ãŠãæ±ãããããŒã¿éãã»ãã¥ãªãã£å¯Ÿçãªã©ãå¿ èŠãšããããã¬ãŒã ã¯ãŒã¯ã®æ©èœã¯å€ãã£ãŠããŸãã
æè¡ã¹ã¿ãã¯
次ã«èããã¹ãã¯ãæè¡ã¹ã¿ãã¯ã§ãããã§ã«äœ¿çšããŠããããã°ã©ãã³ã°èšèªãããŒã¿ããŒã¹ããµãŒããŒãµã€ãã®æè¡ãããã«ã¯ããŒã ã¡ã³ããŒã®ã¹ãã«ã»ããçã«åããããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšããéçºå¹çã倧ããåäžãããŸããäŸãã°ãJavaScriptã«ç¿çããŠããããŒã ã§ããã°ãReactãAngularãªã©ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ãéžã¶ã®ãåççã§ãã
ã³ãã¥ããã£ã®æŽ»çºã
æåŸã«æããã¹ãéèŠãªãã€ã³ãã¯ãã³ãã¥ããã£ã®æŽ»çºãã§ãã掻çºãªã³ãã¥ããã£ã¯ãè±å¯ãªããã¥ã¡ã³ããŒã·ã§ã³ãæ°å€ãã®è§£æ±ºçãé »ç¹ãªã¢ããããŒãããããŠæ°ããªæ©èœã®éçºãšãã圢ã§ãã¬ãŒã ã¯ãŒã¯ããµããŒãããŸããç©æ¥µçã«è³ªåãè°è«ãè¡ããæ°ããªè§£æ±ºçãçã¿åºã掻çºãªã³ãã¥ããã£ã¯ãç¹ã«åŠç¿æ®µéãåé¡è§£æ±ºã§å€§ããªå©ããšãªããŸãã
Dartãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœ¿ãæ¹
Dartãã¬ãŒã ã¯ãŒã¯ã䜿çšããããã«ã¯ç°å¢èšå®ããµã³ãã«ãããžã§ã¯ãã®äœæãã³ãŒãã£ã³ã°ã®3ã€ã®ã¹ããããå¿ èŠã§ããå ·äœçãªæé ãèŠãŠãããŸãããã
ç°å¢èšå®
å§ãã«ãDartãåäœãããããã®ç°å¢ãæ§ç¯ããŸããDart SDKïŒSoftware Development KitïŒãã€ã³ã¹ããŒã«ããããšã§ãDartã®ã³ãã³ãã©ã€ã³ããŒã«ã䜿ããããã«ãªããŸããã€ã³ã¹ããŒã«ã¯å
¬åŒãµã€ãããããŠã³ããŒãã§ããæé ã詳ãã解説ãããŠããã®ã§ãåããŠã®äººã§ãå®å¿ã§ãã
Dart SDKãã€ã³ã¹ããŒã«ãããããã䜿ãã®IDEïŒIntegrated Development EnvironmentïŒã«Dartèšèªãèªèãããããã®ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŸãã人æ°ã®ããIDEãäŸãã°Visual Studio CodeãIntelliJ IDEAãªã©ã«ã¯DartããµããŒãããããã®ãã©ã°ã€ã³ãååšããŠããŸãã
ãµã³ãã«ãããžã§ã¯ãã®äœæ
次ã«ãDartãã¬ãŒã ã¯ãŒã¯ã䜿çšããããã°ã©ã ãäœãããã®ãããžã§ã¯ããäœæããŸãããflutter createããšãã£ãã³ãã³ãã䜿çšããŠãæ°ãããããžã§ã¯ããäœæããããšãã§ããŸãããããå®è¡ãããšããããžã§ã¯ãã®é圢ãçæãããå¿ èŠãªãã¡ã€ã«ãèªåçã«äœãããŸããããã«ãããäžãããŒããããããžã§ã¯ããç«ã¡äžããæéãçããŸãã
ã³ãŒãã£ã³ã°
æåŸã«ãå ·äœçãªããã°ã©ã ã®èšè¿°ãè¡ããŸããDartã§ã¯ããmainãé¢æ°ãããã°ã©ã ã®èµ·ç¹ãšãªããŸããããããå§ããŠãå ·äœçãªåŠçãèšè¿°ããŠãããŸãããŸãDartãã¬ãŒã ã¯ãŒã¯ã§ã¯ãã³ã³ããŒãã³ãæåã®èãæ¹ãããŒã¹ã«ããã°ã©ã ãçµã¿ç«ãŠãŸããããããã®ã³ã³ããŒãã³ãã¯ç¬ç«ããŠæ©èœããå¿ èŠãªããŒã¿ãåãæž¡ãããšã§ãç·äœãšããŠã®ã¢ããªã±ãŒã·ã§ã³ãæ§æããŠãããŸããããã«ãããåå©çšæ§ãä¿å®æ§ãé«ããããšãã§ããŸãã
Dartãã¬ãŒã ã¯ãŒã¯ã®ä»çµã¿
Dartãã¬ãŒã ã¯ãŒã¯ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã«ã€ããŠç解ããããã«ã¯ãããã€ãã®éèŠãªæŠå¿µãææ¡ããããšãæ±ããããŸãããã®äžã§ãç¹ã«éèŠãªã®ããMVCã¢ãã«ãããã³ã³ããŒãã³ãåãããã©ã€ããµã€ã¯ã«ãã®äžã€ã§ãã
MVCã¢ãã«
MVCã¢ãã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èšèšãã¿ãŒã³ã®äžã€ã§ããModel-View-Controllerãã®é æåããšã£ããã®ã§ããã¢ããªã±ãŒã·ã§ã³ããããŒã¿ã®ç®¡çïŒModelïŒããã衚瀺ïŒViewïŒãããå¶åŸ¡ïŒControllerïŒãã®äžã€ã®æ©èœã«åããŠèšèšã»éçºããæ¹æ³ã§ããDartãã¬ãŒã ã¯ãŒã¯ã§ããã®MVCã¢ãã«ãæ¡çšãããŠããŸãã
ããã«ãããã¢ããªã±ãŒã·ã§ã³ã®åéšåãç¬ç«ããŠåäœãããããäžéšãå€æŽããŠãä»ã®éšåã«åœ±é¿ãäžãã«ããããšããå©ç¹ããããŸãããœãããŠã§ã¢éçºã«ãããéèŠãªååã§ãããé¢å¿ã®åé¢ããå®çŸããã®ãMVCã¢ãã«ã§ãã
ã³ã³ããŒãã³ãå
ãŸããDartãã¬ãŒã ã¯ãŒã¯ã§ã¯ã³ã³ããŒãã³ãåã倧ãã«å©çšãããŠããŸããã³ã³ããŒãã³ãåãšã¯ãUIãç¬ç«ããåå©çšå¯èœãªéšåïŒã³ã³ããŒãã³ãïŒã«åå²ããããããçµã¿åãããŠã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããšããæè¡ã§ãã
ãã®ã¢ãããŒãã«ãããåå©çšæ§ãé«ãŸããèªã¿ãããä¿å®æ§ã®é«ãã³ãŒããæžãããšãå¯èœãšãªããŸãããŸããã³ã³ããŒãã³ãã¯ããããç¬èªã®ç¶æ ãæã€ããšãã§ãããã®ç¶æ ã¯ãŠãŒã¶ãŒã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãã·ã¹ãã ã®ä»ã®éšåããã®å ¥åã«å¿ããŠæŽæ°ãããããšãã§ããŸãã
ã©ã€ããµã€ã¯ã«
æåŸã«ãDartãã¬ãŒã ã¯ãŒã¯ã®ã©ã€ããµã€ã¯ã«ã«ã€ããŠç解ããããšãéèŠã§ããããã§ã®ãã©ã€ããµã€ã¯ã«ãã¯ãã¢ããªã±ãŒã·ã§ã³ããã®ã³ã³ããŒãã³ããçæãããŠããç Žæ£ããããŸã§ã®äžé£ã®ããã»ã¹ãæããŸãã
åãã¬ãŒã ã¯ãŒã¯ã§ã¯ã©ã€ããµã€ã¯ã«ã®ç®¡çæ¹æ³ãç°ãªããããç¹å®ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããéã«ã¯ããã®ãã¬ãŒã ã¯ãŒã¯åºæã®ã©ã€ããµã€ã¯ã«ç®¡çæ¹æ³ãç解ãé©åã«åãæ±ãããšãå¿ èŠã§ããDartãã¬ãŒã ã¯ãŒã¯ã§ãã©ã€ããµã€ã¯ã«ã¯éèŠãªèŠçŽ ã§ãåã³ã³ããŒãã³ãã®çæïŒããŠã³ãïŒãæŽæ°ãã¢ã³ããŠã³ãã®å段éã§ç¹å®ã®åäœãå¶åŸ¡ããããšãå¯èœã«ãªã£ãŠããŸãã
Dartãã¬ãŒã ã¯ãŒã¯ã§ã®æé©ãªã³ãŒãã£ã³ã°æ¹æ³
Dartãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãã³ãŒãã£ã³ã°ã§ã¯ãã¯ãªãŒã³ã§æ©èœçãªã³ãŒããæžãããã®äžé£ã®ååãšæ¹æ³ããããŸããããã€ãã®äž»èŠãªèŠçŽ ã«ã€ããŠè©³ããèŠãŠãããŸãããã
DRYåå
DRYååïŒDon’t Repeat YourselfïŒã¯ããéè€ã®æé€ããšãåŒã°ããã³ãŒãå ã®æ å ±ã®éè€ãé¿ããããšãæšå¥šãããœãããŠã§ã¢éçºã®ååã§ãããã®ååã«åŸãããšã§ãã³ãŒãã®åé·æ§ãæžãããä¿å®æ§ãšåå©çšã®å¯èœæ§ãé«ããããšãã§ããŸãã
Dartãã¬ãŒã ã¯ãŒã¯ã§ã¯ãå¯èªæ§ã®ããã³ãŒããæžããããããããã«ããã®DRYååãèæ ®ããããšãéèŠã§ããäŸãã°ãè€æ°ã®å Žæã§åãæ©èœãå¿ èŠãªå Žåããã®æ©èœãäžåºŠäœæããåå©çšããããšã§ãã³ãŒãå šäœã®åé·æ§ãæžããããšãã§ããŸãã
ãã¹ããã©ã¯ãã£ã¹
Dartãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠéçºãé²ããäžã§ã以äžã®ãããªãã¹ããã©ã¯ãã£ã¹ïŒæè¯ã®ææ³ïŒãèæ ®ãããšå¹ççã§ãã
1. Dartã®å ¬åŒã¬ã€ãã©ã€ã³ã«åŸã: Dartã«ã¯å ¬åŒã®ã¹ã¿ã€ã«ã¬ã€ããšå¹æçãªDartã³ãŒããæžãããã®ãã³ããä»å±ããŠããŸãããããã®ã¬ã€ãã©ã€ã³ã«åŸãããšã¯ãäžè²«æ§ãšå¯èªæ§ã確ä¿ããããã«éèŠã§ãã
2. ãã¹ãé§åéçºïŒTDDïŒ: ãã®ã¢ãããŒãã§ã¯ãå®è£ ãå§ããåã«ãã¹ããå ã«æžãããšã§ãæ£ç¢ºãªèŠä»¶ãæã€ã³ãŒããããæ©ãäœæã§ããŸãã
3. ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çããªããªãŒïŒCI/CDïŒ: ã³ãŒãã®å質ãç¶æããããã«ãCI/CDãã€ãã©ã€ã³ã䜿ã£ãŠèªåçã«ã³ãŒãããã¹ãããã«ãããããã€ããŸãã
ãªãã¡ã¯ã¿ãªã³ã°
ãããžã§ã¯ããé²è¡ããã«ã€ããŠãã³ãŒãã¯å€æŽãè¿œå ãç¹°ãè¿ãããç°å¢ãè€éã«ãªã£ãŠãããŸãããã®çµæãã³ãŒãã®åå©çšæ§ãå¯èªæ§ãäœäžããããšããããŸããããã§ããªãã¡ã¯ã¿ãªã³ã°ãšããæè¡ã圹ç«ã¡ãŸãã
ãªãã¡ã¯ã¿ãªã³ã°ãšã¯ãã³ãŒãã®å€éšã®æ¯ãèããå€ããããšãªãå éšã®æ§é ãæ¹åããããšãæããŸãããã®ããã»ã¹ã«ãããã³ãŒãã®å¯èªæ§ãåäžãããæªæ¥ã®ãã°ãé²ããæ°ããæ©èœãè¿œå ããããããŸãã
å¹æçãªãªãã¡ã¯ã¿ãªã³ã°ã®ããã«ã¯ãé©åãªãã¹ãã¹ã€ãŒããããããšãéèŠã§ãããã¹ããããããšã§ããªãã¡ã¯ã¿ãªã³ã°åŸããã¹ãŠã®æ©èœãæ£ããåäœããŠããããšãä¿èšŒã§ããŸãã
Dartãã¬ãŒã ã¯ãŒã¯ã®å¿çšäŸ
Dartã®åŒ·åãªãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãäœãäœãããšãã§ããã®ã§ãããããããã§ã¯ãDartãã¬ãŒã ã¯ãŒã¯ãå ·äœçã«ã©ã®ããã«å¿çšããããã«ã€ããŠãWebã¢ããªã±ãŒã·ã§ã³ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã®èŠ³ç¹ãã解説ããŸãã
Webã¢ããªã±ãŒã·ã§ã³ã®éçº
Dartãã¬ãŒã ã¯ãŒã¯ã䜿çšããWebã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ããã®å¹çã®è¯ãããåºãå©çšãããŠããŸããç¹ã«ãããã³ããšã³ãéçºã«ãããDartã®å©çšã¯æ³šç®ã«å€ããŸããçãã³ãŒãã£ã³ã°æéã§ãªãããªã€ã³ã¿ãŒãã§ãŒã¹ãæã€Webã¢ããªã±ãŒã·ã§ã³ãéçºã§ãããããéçºè ããé«ãè©äŸ¡ãåããŠããŸãã
äŸãã°ãGoogleãæäŸããDartãã¬ãŒã ã¯ãŒã¯ãAngularDartãã¯ãé«åºŠãªWebã¢ããªã±ãŒã·ã§ã³ãå¹çè¯ãéçºããããã®ããŒã«ããããæäŸããŸããSPAïŒSingle Page ApplicationïŒã®äœæããåå©çšå¯èœãªã³ã³ããŒãã³ãã®äœæãªã©ãå¯èœã§ãã
ãŸãããBlazorãã¯ãAzureãšé£æºããããç¹æ§ãæã€ãªã©ãããžãã¹ã·ãŒã³ã§ã®Webã¢ããªã±ãŒã·ã§ã³éçºã«ãé©ããŠããŸãã
ãããã®äŸãããåããããã«ãDartãã¬ãŒã ã¯ãŒã¯ã䜿çšããWebã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ããã®å¯èœæ§ã倧ãã«ç€ºããŠããŸãã
ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçº
Webã¢ããªã±ãŒã·ã§ã³ã ãã§ãªããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºãDartãã¬ãŒã ã¯ãŒã¯ã®å©çšäºäŸãšããŠã¯æ¬ ãããŸããããFlutterãã¯ãGoogleãäž»å°ããDartããŒã¹ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³éçºãã¬ãŒã ã¯ãŒã¯ã§ãã¯ãã¹ãã©ãããã©ãŒã ã®éçºãå¯èœãšããŸãã
iOSãšAndroidã®äž¡æ¹ã察象ãšããã¢ããªã±ãŒã·ã§ã³ãåæã«éçºã§ããããšã§ãéçºå·¥æ°ãå€§å¹ ã«åæžããäžè²«ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãå¯èœã«ãªããŸãã
ãŸãããFlutterãã«ã¯è±å¯ãªãŠã£ãžã§ããïŒã³ã³ããŒãã³ãïŒãçšæãããŠãããèŠèŠçã«åªããUIãç°¡åã«å®è£ ããããšãå¯èœã§ãã
ãã®ããã«ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã«ãããŠãDartãã¬ãŒã ã¯ãŒã¯ã®åšåã¯ååã«çºæ®ãããŠããŸãã
ãŸãšã
ãããŸã§Dartãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠæ·±ããèŠãŠããŸãããæåŸã«ãDartãã¬ãŒã ã¯ãŒã¯ãéžã¶ã¹ãçç±ãšãä»åŸã®Dartãã¬ãŒã ã¯ãŒã¯ã®å±æã«ã€ããŠèŠãŠãããŸãããã
Dartãã¬ãŒã ã¯ãŒã¯ãéžã¶ã¹ãçç±
Dartãã¬ãŒã ã¯ãŒã¯ã¯ãã®åŒ·åãªæ©èœãšæ¡åŒµæ§ããããŠåªããããã©ãŒãã³ã¹ã«ãããå€ãã®éçºè ããæ¯æãåããŠããŸãã ãããã®ç¹æ§ã«ãããDartãã¬ãŒã ã¯ãŒã¯ã¯ããªãã®ãããžã§ã¯ããäžæ®µäžããããšãå¯èœã«ããŸãã
ãŸããDartèšèªèªäœãGoogleã«ããéçºãããããšãããGoogleã®åºç¯ãã€é²æ©çãªãã¯ãããžãŒã¹ã¿ãã¯ãšé£æºãå¯èœã§ãããšããã¡ãªããããããŸãã
ããã«ãDartèšèªã®ç°¡æœãªæ§æãšåŒ·åãªåæšè«ã·ã¹ãã ã¯ãã³ãŒãã®èªã¿æžãã容æã«ãããã°ã®çºèŠãšä¿®æ£ãå©ããŸãããã®ãããåå¿è ããããã®éçºè ãŸã§ãå€ãã®äººã ãDartãã¬ãŒã ã¯ãŒã¯ãæ¡çšããŠããŸãã
ä»åŸã®å±æ
Dartèšèªãšãã®ãã¬ãŒã ã¯ãŒã¯ã¯æ¥ã é²åãç¶ãããŸããŸãå€ãã®éçºè ã«æ¡çšãããŠããŸãããã®æµãã¯ä»åŸãç¶ãããšã§ãããã
ç¹ã«FlutterãšããDartãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã ãã§ãªãããã¹ã¯ããããWebãšãã£ãä»ã®ãã©ãããã©ãŒã ãžã®å¯Ÿå¿ã匷åããŠãããšå ¬åŒã«çºè¡šãããŠããããã®éçºã¹ããŒããšèŠæš¡ã¯å¢ããå¢ããŠããŸãã
ãããã®ååãããDartèšèªãšãã®ãã¬ãŒã ã¯ãŒã¯ãä»åŸãéçºè ã®éã§ããåºãæ¡çšãããéçºã®åéã§ãäžå¿çãªåœ¹å²ãæããå¯èœæ§ãéåžžã«é«ããšèšããŸãããã®ãããDartãã¬ãŒã ã¯ãŒã¯ãåŠã³å§ããä»ã絶奜ã®ãã£ã³ã¹ã§ãããšãèšããã§ãããã