Xamarin.Formsã¯ã4æ¬è¶³ã®åºä¹³é¡ãé²åãéããŠ2æ¬è¶³ã«ãªã£ãç§ãã¡èªèº«ã®æŽå²ã®æ代ã®ããã«ããœãããŠã§ã¢éçºãã¢ãŒããã¯ãã£ãããã³èšèšã®æŽå²ã«ãã®è¶³è·¡ãæ®ãããšããŠããŸãã ãã®æ©èœã®ãããã§ãåãCïŒã³ãŒãããŒã¹ãšãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãåãã3ã€ã®ç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§å®è¡ã§ããã¢ããªã±ãŒã·ã§ã³ïŒä»¥åã«ç¬èªã®ç¬èªã®ãã¶ã€ã³ãäœææžã¿ïŒãç°¡åã«éçºã§ããã³ãŒããåå©çšããŠã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
ãŸãããœãããŠã§ã¢éçºã«ããããã®éèŠãªãã€ã«ã¹ããŒã³ã«åå ããããšã決ããŸããã æ£è
ã®å¥åº·ç®¡çã«åœ¹ç«ã€ã¢ããªã±ãŒã·ã§ã³ãéçºããåŸãXamarinã®é·æãšçæã«ã€ããŠæèŠãå
±æããããšã«ããŸããã
Xamarinã®ãã¹ãŠã®é·æãšçæãæ¯èŒæ€èšãã
ç§ãäœæãããã®
è¿å¹Žãç§ã¯ã»ãšãã©ã®æéãå¥åº·åé¡ã«å°å¿µããŠããŸãã ç§ã¯ãæ£è
ã®å¥åº·ç¶æ
ãããå¹æçã«ç£èŠããçäœèªèšŒããŒã¿ãèšé²ã§ããæ°ãããã®ãéçºãããšããã¢ã€ãã¢ã«è§ŠçºãããŸããã ãã®ç®çã®ããã«ãæ£è
ã®å¥åº·ããŒã¿ãåéããããã®ããã«ãéçºããŸããã ããã«ãããæ£è
ã«é¢ããæ
å ±ãåéããããšãã§ããŸããã³ã¬ã¹ãããŒã«å€ããŠãšã¹ããããæ¯ãããã£ãã¹ææ°ãå¿ææ°ãããã³ç¹å®ã®æéã«ããããããã®ãã©ã¡ãŒã¿ãŒã®å€æŽã远跡ã§ããŸãã
ç£èŠããããã¹ãŠã®ã€ã³ãžã±ãŒã¿ã¯ã9ã€ã®ã»ã«ãæã€æ£æ¹åœ¢ã®ã°ãªããã®åœ¢åŒã§è¡šç€ºãããŸãã ãŠãŒã¶ãŒã¯ãèªã¿åãå€ã远跡ãããç®çã®ã»ã«ïŒã³ã¬ã¹ãããŒã«ã¬ãã«ã€ã³ãžã±ãŒã¿ãŒãåããã»ã«ãªã©ïŒãéžæããŸãã ãã®ãããªã»ã«ãéžæãããšããŠãŒã¶ãŒã®åã«æ¬¡ã®ç»é¢ã衚瀺ãããŸãã
ã€ã³ãžã±ãŒã¿ãŒã®æŽæ°ãå¿
èŠãªå ŽåããŠãŒã¶ãŒã¯ã¡ã€ã³ã¡ãã¥ãŒã«ãããšãã«è²ä¿¡å·ãåãåããŸãã æè¿å°å
¥ãããã€ã³ãžã±ãŒã¿ã¯æããç·è²ã§è¡šç€ºãããŸãããæéã®çµéãšãšãã«è²ãé»ã«ãã§ãŒãããŸãã ã€ã³ãžã±ãŒã¿ãŒãé»ã«ãªã£ãããæŽæ°ããå¿
èŠããããŸãã ãã®ããã«ã«ã¯ãå
¥åããã€ã³ãžã±ãŒã¿ãŒã®å±¥æŽã衚瀺ãããŸãã å°æ¥çã«ã¯ãããã«ã€ã³ã¿ãŒãã§ã€ã¹ã«ããã«ã°ã©ãã£ãã¯ãè¿œå ããäºå®ã§ãã
æ¬ ç¹ãšå©ç¹ïŒAndroidåãã®éçºã¯iOSåãããã䟿å©ã§ãã
ãŸããAndroidçšã®Xamarin.Formsã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®éçºãšãã¹ããéå§ããŸããã ããŸããŸãã®æç¹ã§ãã»ãšãã©ã®å ŽåãObjective-Cã§iOSåãã®ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã Windowsã«Visual Studioãã€ã³ã¹ããŒã«ããããã䜿çšããŠã¢ã€ãã¢ãå®çŸããå¿
èŠããããŸããã Androidãšãã¥ã¬ãŒã¿ãŒã¯éåžžã«éåžžã«äœéã ã£ãã®ã§ãæµæãæå°éã«æããå¿
èŠããããŸããïŒWindowsã§æºåž¯é»è©±ã䜿çšãããããã°ã¯Androidããã€ã¹ã§ã®ã¿ãµããŒããããŠãããããããã»ã¹ãç£èŠããéåžžã®Androidæºåž¯é»è©±ã§ã¢ããªã±ãŒã·ã§ã³ã®æ©èœã確èªããŸããã
iOSåãã®åæãããããã«ã®æ£ããéçºãæ€èšŒããããã«ãããå°ã空ãã¹ããŒã¹ãå²ãå¿
èŠããããŸããã Windowsã§ã®éçºãç¶ããŠããéããããã°ã«äœ¿çšããiPhoneã¯åžžã«MacïŒãŸãã¯äœæ¥ããŒãïŒã«æ¥ç¶ããå¿
èŠããããŸããã 次ã«ãéçºã«çŽæ¥äœ¿çšããã³ã³ãã¥ãŒã¿ãŒãæ¥ç¶ãããŠããã®ãšåãWi-Fiãããã¯ãŒã¯ã«Macãæ¥ç¶ããŸããã ãªãã§ïŒ ç°¡åã§ããéçºããã³ãããã°äžã«ãVisual Studio IDEãšMacãçžäºäœçšããå¿
èŠããããŸããã SSHæ¥ç¶ã䜿çšããŠãAppleã³ã³ãã€ã©ãšå®è¡å¯èœã³ãŒãã«çœ²åããããã®ããŒã«ãžã®ã¢ã¯ã»ã¹ãèšå®ããããšã«ãããVisual Studioããã³Mac OSãšãåéãäœããããšãã§ããŸããã
å®éãAndroidãšiOSã®ã¢ããªã±ãŒã·ã§ã³ããã¹ãããçµéšã®éãã¯ãããã§ãã iOSçšã«éçºãããã¢ããªã±ãŒã·ã§ã³ããããã°ãããšããã³ã³ãã¥ãŒã¿ãŒã¯äœæ¥ããŒãã«æ¥ç¶ãããŠãããããåžžã«åãéšå±ã«ããªããã°ãªããŸããã§ããã Androidã«é¢ããŠã¯ãããèªç±ã«æãããããã¹ãã¯äœåãé«éã«ãªããŸãããã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããå¥ã®ããã€ã¹ã«åãæ¿ããŠãã¢ããªã±ãŒã·ã§ã³ãåã³èµ·åããŸããã ãããã£ãŠããŸãAndroidå°çšã®ã¢ããªã±ãŒã·ã§ã³ãéçºããã³ãã¹ãããããšã«ããŸããã Xamarinã§ã®ç§ã®çµéšã«é¢ããŠã¯ããã®ãã©ãããã©ãŒã ã§ã®ãã¹ãŠã®äœæ¥ã®äžã§ããã®ãããªäžå©ãªç¹ãšå©ç¹ãæãéèŠã«ãªããŸããã
å©ç¹ïŒXamarin.Formsã®çµã¿èŸŒã¿ã¬ã€ã¢ãŠãã§æ©èœãæäŸãã
æ£è
ã®å¥åº·ããŒã¿ãåéããããã®ããã«ãéçºããããã«ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã³ãŒãã䜿çšããŠãXamarin.Formsã®çµã¿èŸŒã¿ã¬ã€ã¢ãŠãã䜿çšããŸããã ã°ãªããã¬ã€ã¢ãŠããåã蟌ãŸãããªããžã§ã¯ãã®ç·åœ¢é
眮ãåããçµã¿èŸŒã¿ã¬ã€ã¢ãŠããéžæããŸããã ãããè¡ãããã«ãç¬èªã®ã¬ã€ã¢ãŠãã¯ã©ã¹ãäœæããŸããããããã§ãããå€ãã®æ©èœãå®çŸã§ããŸããã ãŸãã調æ»äžã®ç¹å®ã®ã€ã³ãžã±ãŒã¿ãŒã«é¢é£ããã°ãªããå
ã®ãã»ã«ãã®äžè¬çãªãã¥ãŒãéçºãããããã»ã«ã®ã³ãŒãã®ã»ãšãã©ïŒã€ã³ãžã±ãŒã¿ãŒãžã®æž¬å®å¶éã®å²ãåœãŠãè²ã®æ±ºå®ãªã©ïŒãä»ã®ã»ã«ã®éçºã«äœ¿çšãããŸããã
éèŠãªã®ã¯ãXamarin.Formsã®å©ããåããŠã¢ã€ãã¢ãçºå±ãããŠããæåã®ã»ã«ã«ã¯æ°ããè¡ãäœæãã2çªç®ã®ã»ã«ã«ã¯ã°ãªãããäœæããããšããã³ãŒããèšè¿°ããããšã§ãã ãã®ã¢ãããŒãã¯ãèªåã§æžããŠä»ã®äººã®ã³ãŒããç解ããããšã«æ
£ããŠããéçºè
ã«ãšã£ãŠéåžžã«äŸ¿å©ãªããã§ãã ããã§ããç¹ã«å°æ¥çã«ã³ãŒããå€æŽããŠã¬ã€ã¢ãŠããå床å€æŽããå¿
èŠãããå Žåã¯ãèªåã®ããŒãžã¬ã€ã¢ãŠããäœæããã®ãæ®éã®ããã«æããŸããã XAMLãã¶ã€ããŒã䜿çšãã以å€ã«çç±ããªãå Žåã¯ãç»é¢ã¬ã€ã¢ãŠããäœæããããšããå§ãããŸãã
Androidã¢ããªã±ãŒã·ã§ã³ã®ãã©ããããŒãžã§ã³ãäœæããã°ããã®ãšãã«ãããã€ã¹ã®å転ã«åãããŠåããå€ããããšã«é©ããããšãæ³åããŠãã ããã Xamarinã®çµã¿èŸŒã¿ã¬ã€ã¢ãŠãã®èšèšã¯ãã¢ããªã±ãŒã·ã§ã³ãããã€ã¹ã®ç»é¢ãå®å
šã«æºããããã«å¿çããããã«èšèšãããŸããã å人çã«ãç§ã¯ç»é¢ã¬ã€ã¢ãŠãã®å€æŽã®ãµããŒãã«åŸäºããã€ããã¯ãããŸããã§ããã Xamarinã䜿çšããŠããéçºããŒã ã«ãšã£ãŠç§ãç¥ãéãããã®ãã©ãããã©ãŒã ã®ãã®ãããªæ©èœã¯æéã倧å¹
ã«ç¯çŽããŸãã iOSã¬ãžã§ããã«ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããããæ©èœãããã®ãã¹ãŠã®ã¬ã¹ãã³ã·ãæ©èœãæ®ã£ãŠããããšã«æ°ä»ãããšããç§ã¯ããã«é©ããŸããã
é·æ/çæïŒã¢ãã«ãã¥ãŒViewModelã䜿çšããŠå¶çŽã解決ãã
ç§ã¯èªåã®ãããžã§ã¯ãã§äœæ¥ããããã«ãã¶ã€ããŒã䜿çšããªãã£ããããéçºè
ãšãã¶ã€ããŒã®éã«å€å
žçãªç·åŒµã¯ãããŸããã§ããïŒããšãã°ããã¶ã€ããŒã¯ãå€ãã®æè¡çãªçç±ã§å®è·µã§ããªãéçºè
ã«UX / UIãã¶ã€ã³ã®ã¬ã€ã¢ãŠããæäŸããŸãïŒã Xamarin.Formsã䜿çšããŠãšã¬ã¬ã³ããªUIãã¶ã€ã³ãå®çŸããã«ã¯ããã¶ã€ããŒãšéçºè
ã®é©åãªå¯Ÿè©±ãéèŠã§ãã
éçºè
ãXamarin.Formsã䜿çšããŠã¢ãã€ã«ããŒãžã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ãéå§ããå ŽåããŸãæãäžè¬çãªã·ã¹ãã ïŒiOSãAndroidãWindowsïŒã®ããã€ã¹ã®å
±éæ©èœãã©ã®ããã«ãªãããæ
éã«æ€èšããå¿
èŠããããŸãã åéçºè
ã¯æ¬¡ã®ããšãèªåããå¿
èŠããããŸãã ã©ãããã°ãããéæã§ããŸããïŒã
ãã®ãããªããã»ã¹ã«ã¯ã3ã€ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã¹ãŠã®çžäºäœçšã¹ããŒã ã®è©³çŽ°ãªç¥èã ãã§ãªããããå€ãã®çµç¹ãå¿
èŠã§ãã ã¢ããªã±ãŒã·ã§ã³ã®éçºäžã¯ãå¯èœãªéããã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«å
±éãããœãªã¥ãŒã·ã§ã³ãã¬ã€ãããå¿
èŠããããŸããããšãã°ãAndroidã®ã¿ã«äŸåãããiOSããã€ã¹ã®ãŠãŒã¶ãŒãå®å
šã«å¿ããŠããŸããŸãã
ããã§ããXamarin.Formsã䜿çšããŠæè»ãªã¬ã€ã¢ãŠããéçºããããšã¯ãã³ãŒããããå¹ççã«åå©çšã§ãã80ã90ïŒ
ã®æéãç¯çŽã§ããããšãããåçŽãªã¢ããªã±ãŒã·ã§ã³ã§ã¯UXãã¶ã€ã³ã«äŸåããŸããã ããã«ãXamarin.Formsã®DependencyServiceã䜿çšããŠãã·ã¹ãã ã®äžéšã®åäœãã¿ãŒã³ã远跡ã§ããŸãã
UX / UIãã¶ã€ã³ã«åã泚ãã®ã§ã¯ãªããç¹å®ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å¶éãç解ããŠãã ããã ãããè¡ãããšã«ããããã®ãããªå¢çã«ãããããããæ¬åœã«äŸ¡å€ã®ãããã®ãäœæã§ããããšã¯ééããããŸããã ãã¡ãããXamarin.Formsã䜿çšããå©ç¹ãéæããããã«è¡ããããã®ãããªè²æ©ã¯æ±ºå®çãªèŠå ã«ã¯ãªããŸããã ããã«ãããããããã·ã¹ãã ã«å¯ŸããŠããå
·äœçãªç¹ç°æ§ãå¿
èŠãªå Žåã¯ãéçºè
ãç¬èªã®ã¬ã³ããªã³ã°ãäœæã§ããããšã«æ³šæããŠãã ããã
Xamarin.Formsã䜿çšããèšèšåå
ïŒèŠåãéçºè
ã«ãããã¿ãã¬ïŒïŒä»¥äžã¯ãXamarinã®ãã¬ãŒã ãšçŸçã¬ã€ã¢ãŠãã®ãã¹ããã©ã¯ãã£ã¹ã®äŸã§ãã
- ãã¹ãŠã®ã·ã¹ãã ã«å
±éããã¢ããªã±ãŒã·ã§ã³ã®äœæã«åªããŸãã
- åã·ã¹ãã ã®å¶éã確èªããŠãã ããã
- ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®ã¹ããããã€ãŸããªãã¬ãŒãã£ã³ã°ã·ã¹ãã çšã«ã¢ããªã±ãŒã·ã§ã³ãéçºããæ¹æ³ãèãçŽããŠãã ããã
- æåã«åæã次ã«èšèš
- ç¹ã«CïŒãšSDKã«é¢ããŠã¯ãæ©èœãAppleããã€ã¹ã§ã®ã¿æ©èœãããã®ãšèŠãªãã¹ãã§ã¯ãããŸããã
- ããªãã¿ã®çžäºäœçšãã¿ãŒã³ãæŸæ£ããèªæãé¿ããŠãã ããã ãªãã§ïŒ å¯èœãªå ŽåãXamarinã¯çµã¿èŸŒã¿ã®ã³ã³ãããŒã«ã䜿çšãããããiOSããã³Androidã®ãããã¹ãç·šéãã³ã³ãããŒã«ã¯ã察å¿ããåOSã®ããã©ã«ãã³ã³ãããŒã«ã®ããã«èŠããæ©èœããŸãã
é·æãšçæïŒãŠãŒã¶ãŒã®ããŒãæã«ã¢ãã¡ãŒã·ã§ã³ãè¿œå ãã
ãã®èšäºã®æåŸã«ãæåããçŽé¢ããŠããããšãã€ãŸãã¢ããªã±ãŒã·ã§ã³ã®ããŠã³ããŒãã«å¿
èŠãªåŸ
ã¡æéã«æ³šæãæãããšããå§ãããŸãã ããã«ã§ã®äœæ¥ãçµããåŸãäºæ³ãããããŒãã«å°ãæéããããããšã«æ°ä»ããŸããããµãŒããŒããã®çµæã衚瀺ããããã«è¡šç€ºãããŠããŸããã ããŒãããã»ã¹äžã«è¡šç€ºãããã¢ãã¡ãŒã·ã§ã³ãæåããè¿œå ãããšããã®ãããªé
延ã¯æ°ä»ãããªããªããŸãã ãã¡ãããããã¯Xamarinã®é·æãšçæã«ã€ããŠã®è°è«ã§ã¯ããŸã詳ãããããŸãããã现ããéšåã§ããéèŠã§ãã
-RedditãMediumãBitcointalkããã®ãã©ãã£ãã¯ãæ¥å¢ãããŸãã