泚ïŒHackerèªã®èšäºã®å®å šçã®åºçç©ã·ãªãŒãºãç¶ç¶ããŸãã èè ã®ã¹ãã«ãšå¥èªç¹ãä¿åãããŸããã
èè ã«çºèšæš©ãäžããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã人çã®ãã¹ãŠã®åé¡ã解決ããã®ãåŸ ã£ãŠããéçºè ãããã°ãæµæãæã£ãŠãããèªèããéçºè ãããŸãã ã©ã¡ãã®ãæŠäºãã£ã³ããããã©ã®ããã«ããããŠäœãæ©èœãããã«ã€ããŠã®èª€è§£ã«ãã£ãŠåŒãèµ·ããããç¬èªã®èª€è§£ãæã£ãŠããŸãã æè¡çãªè°è«ã®ä»£ããã«ææ ã䜿çšããããããããã¯ç«ã«çæãè¿œå ããŸãã
éçºè ãç¹ã«åå¿è ã®éã§ããã¯ãã¹ãã©ãããã©ãŒã ã¢ãã€ã«ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠå€ãã®ç¥è©±ããããŸãã ãã®èšäºã§ã¯ãæã人æ°ã®ãããã®ãåæããŸãã ãããããŸããITãã©ãã¯ãžã£ãã¯å šäœã«ãéãæäŸããããžãã¹ã®ç®ãéããŠãã¢ãã€ã«éçºãèŠãŠã¿ãŸãããã
ã¯ãã¹ãã©ãããã©ãŒã ããŒã«ã䜿çšããçç±
æŽå²çã«ãã³ã³ãã¥ãŒã¿ãŒåžå Žã«ã¯åžžã«ç«¶äºããããåã¡ãŒã«ãŒã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšããã€ã¹çšã®ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®æé©ãªã»ããã®ãããããã€ãã£ãïŒãã€ãã£ãïŒããŒã«ãæäŸããŠããŸããã
ãã€ãã£ãããŒã«=ãšã³ã·ã¹ãã ã®ææè ã«ãã£ãŠæäŸãããŸãã
ããã€ãã£ãæ§ãã®ä»ã®ãã¹ãŠã®å åã¯äºæ¬¡çã§ã-åäœãšã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ãOSæ©èœãžã®ã¢ã¯ã»ã¹ãããã©ãŒãã³ã¹ãªã©ã
ããã«ããã€ãã£ãããŒã«ã¯ãéçºèšèªãåãå ¥ããããŠããèŠåããã³ã¢ãŒããã¯ãã£ã®ã¬ãã«ã ãã§ãªãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã³ã©ã€ãã©ãªãæäœããã¡ã«ããºã ã®ã¬ãã«ã§ãäºãã«äºææ§ããªãããšãã»ãšãã©åžžã«å€æããŠããŸãã ãã®çµæãåãã¢ã«ãŽãªãºã ãšã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããã«ã¯ãç°ãªãããã°ã©ãã³ã°èšèªã§è€æ°ã®ç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã©ãããã©ãŒã ããšã«1ã€ã®ã³ãã³ããã«åºã¥ããŠã¢ããªã±ãŒã·ã§ã³ããµããŒãããå¿ èŠããããŸããã åæã«ãç°ãªããã©ãããã©ãŒã äžã®ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãšå€èŠ³ã¯ãã»ãŒåžžã«90ïŒ åäžã§ãã 楜ãã¿ã®ããã«ãiOSãšAndroidã®ãæ°ã«å ¥ãã®ããã°ã©ã ã®å®è£ ãæ¯èŒããŠãã ããã
2çªç®ã®éèŠãªãã€ã³ãã¯ãããŒã å ã§å¿ èŠãªç¥èãšçµéšãå©çšã§ããããšã§ãã圌ããããã«ããªããã°ãåŠã¶ã«ã¯æéãããããŸãã
ãããã®äž¡æ¹ã®åé¡ã解決ããããã«ãã¯ãã¹ãã©ãããã©ãŒã éçºããŒã«ïŒã¢ãã€ã«ã ãã§ãªãïŒãåžå Žã«é·ãç»å Žãã以äžãæäŸããŸãã
-補åã®éçºãšä¿å®ã容æã«ãªãããã«ãåäžã®ããã°ã©ãã³ã°èšèªã§å šäœçãªã³ãŒãããŒã¹ãæ倧åããŸãã
-æ¢åã®èœåãšå°é家ã䜿çšããŠãæ°ãããã©ãããã©ãŒã ã«ã¢ããªã±ãŒã·ã§ã³ãå®è£ ããŸãã
çŸåšãå€ãã®ããã°ã©ãã³ã°èšèªïŒããã³ç°å¢ïŒïŒããã³ãããã®èšèªãç¥ã£ãŠããå°é家ïŒããããããã¯ãã¹ãã©ãããã©ãŒã éçºçšã®ããŒã«ãããªããããŸãã äŸãšããŠããã®å°åã§äººæ°ã®ããPhoneGapãXamarinãReact Nativeãããã³Q tã«çŠç¹ãåœãŠãŸãã
ä»ãããªãã¯ç¥è©±ã«ã€ããŠè©±ãããšãã§ããŸãã
ç¥è©±1.ããžãã¯
åå¿è ã®éçºè ã®å¿ãåºæ¿ããæãäžè¬çãªç¥è©±ã¯ãã¯ãã¹ã¢ã«ãŽãªãºã ã¢ããªã±ãŒã·ã§ã³ããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã«éæ³ã®ããã«å€æããã¹ãŒããŒã¢ã«ãŽãªãºã ïŒããã³ããããäœæããã¹ãŒããŒããã°ã©ããŒïŒã®ä¿¡å¿µã«é¢é£ããŠããŸãã ãJavaScriptã³ãŒããSwiftã«å€æããSwiftã¢ããªã±ãŒã·ã§ã³ãããã«ã³ã³ãã€ã«ããããšãã粟ç¥ã«åºã¥ãããã®ã ã¯ãã¹ãã©ãããã©ãŒã ããŒã«ã®éçºè èªèº«ããã®ç¥è©±ã«åãå ¥ããŠãããåºåãšããŠããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ããäœæããããšãçŽæããŠããŸãã ãããŠã誰ããããã§cããŠããããã§ã¯ãããŸããããè±ããªæ³ååãšåºæ¬çãªã¡ã«ããºã ã®ç解äžè¶³ã«ãããéçºè ã¯ã·ã£ãŒããã¹ãã£ãã¯ãªããªãã¯ã«ã€ããŠèããããã«ãªããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ãœãªã¥ãŒã·ã§ã³ã®åºç€ãšãªãäž»ãªååã¯ãã³ãŒãã2ã€ã®éšåã«åããããšã§ãã
- ã¯ãã¹ãã©ãããã©ãŒã ãä»®æ³ç°å¢ã«äœãã§ãããç¹å¥ãªããªããžãä»ããŠã¿ãŒã²ãããã©ãããã©ãŒã ã®æ©èœãžã®ã¢ã¯ã»ã¹ãå¶éãããŠããŸãã
- Nativeã¯ãã¢ããªã±ãŒã·ã§ã³ã®åæåãããŒãªããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«ç®¡çãæäŸããã·ã¹ãã APIãžã®ãã«ã¢ã¯ã»ã¹ãæäŸããŸãã
ããã€ãã£ããã®äžçãšãã¯ãã¹ãã©ãããã©ãŒã ãã®äžçãæ¥ç¶ããã«ã¯ãã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã®å¯èœæ§ãšå¶éã決å®ããç¹å¥ãª**ããªããž**ã䜿çšããå¿ èŠããããŸãã
ããªããžã䜿çšããå Žåããäžçãéã®ããŒã¿å€æãããã³APIåŒã³åºããšã©ã€ãã©ãªã®å€æã«ãããåžžã«ããã©ãŒãã³ã¹ãäœäžããŸãã
ãã®ããããã¹ãŠã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã€ãã£ãããŒããå¿ èŠã§ããããã§ãªãå Žåããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯åã«ããããå®è¡ã§ããŸããã ããã§ã¯ãiOSãAndroidãããã³Windowsèªäœã«ãã£ãŠæäŸãããã·ã¹ãã APIãšã¡ã«ããºã ã詳ããèŠãŠã¿ãŸãããã 次ã®ç¥è©±ã«é²ã¿ãŸãã
ç¥è©±2.ãã€ãã£ãïŒ
ãã®ãããä»®æ³ç°å¢ã«ååšãããã¬ãŒã ã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ãšããªããžãä»ããŠãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšããåãããã¢ããªã±ãŒã·ã§ã³ã®ã¯ãã¹ãã©ãããã©ãŒã éšåããããŸãã
ãã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒiOSãAndroidãããã³Windows UWP-次ã®ãµãã·ã¹ãã ïŒã·ã¹ãã APIã®ã»ããïŒãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã
- WebViewïŒã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãŸããWebãã©ãŠã¶ãŒïŒã¯ãPhoneGapã«åºã¥ããã€ããªããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããå®éã«ã¯ããŒã«ã«Webãµã€ãã®ã©ã³ã¿ã€ã ãšããŠæ©èœããŸãã
- JavaScriptãšã³ãžã³ã¯React Nativeããã³ãã®é¡äŒŒç©ã§äœ¿çšãããJSã³ãŒããè¿ éã«å®è¡ãããã€ãã£ããšJSã®éã§ããŒã¿ã亀æããŸãã
- OpenGL ESïŒãŸãã¯DirectXïŒã¯ãã€ã³ã¿ãŒãã§ã€ã¹ãã¬ã³ããªã³ã°ããããã«ãQt / QMLãŸãã¯åçã®ã²ãŒã ãšã³ãžã³ãšã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŸãã
- UIãµãã·ã¹ãã ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãã€ãã£ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæ åœããŸããããã¯ãReact Nativeããã³Xamarinã«é¢é£ããŠããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã€ãã£ãéšåããããããã€ãã£ããã¢ããªã±ãŒã·ã§ã³ãšåãã·ã¹ãã APIãžã®ãã«ã¢ã¯ã»ã¹ããããŸãã éãã¯ãã·ã¹ãã ã¡ãœããåŒã³åºããããªããžãšãã¬ãŒã ã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ãééããããšã§ãã
WebView-ã¢ããªã±ãŒã·ã§ã³ã¯ã1ããŒãžã®Webãµã€ãã«äŒŒãWebãã©ãŠã¶ãŒã§åäœããŸãã ãã€ãã£ãã³ã³ãããŒã«ïŒãã¿ã³ããªã¹ããªã©ïŒãžã®ã¢ã¯ã»ã¹ã¯ãªãããã¹ãŠãHTML / CSS / JavaScriptã«åºã¥ããŠããŸãã äžæ¹ãWebéçºè ã¯æ°Žäžã®éã®ããã«æããã§ãããã
iOSã§ã¯åæ§ã®ã¡ã«ããºã ãããŒãžã§ã³7.0ã§ã®ã¿è¿œå ãããããã JavaScriptãšã³ãžã³ã¯æ¯èŒçæè¿äººæ°ããããŸãã ãããã®æ©èœã®ãã¡ãJavaScriptãšãã€ãã£ãç°å¢éã§è»¢éãããè€éãªããŒã¿æ§é ã®JSONã§ã®ã·ãªã¢ã«åã®å¿ èŠæ§ãèæ ®ãã䟡å€ããããŸãã ãã®ãããªãœãªã¥ãŒã·ã§ã³ã®ã¯ã©ã¹ãç°¡åã«èª¬æãããšãJavaScriptç°å¢ã§ã¯ããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãå¶åŸ¡ããJSã³ãŒããå®è¡ãããŸãã
OpenGL ESããã³DirectXã¯äœã¬ãã«ã®ãµãã·ã¹ãã ã§ãããã²ãŒã ããããšãã°Qt / QMLã§ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãã¬ã³ããªã³ã°ããããã«äœ¿çšãããŸãã ã€ãŸããOpenGL / DirectXã䜿çšããå Žåãéçºè èªèº«ããã€ãã£ãã®ãã®ã«ããèŠããªãã³ã³ãããŒã«ãšã¢ãã¡ãŒã·ã§ã³ãæç»ããŸãã äžæ¹ãããã¯éåžžã«é«ãããã©ãŒãã³ã¹ãåããäœã¬ãã«ã®ãµãã·ã¹ãã ã§ãããããã¯ãã¹ãã©ãããã©ãŒã ã²ãŒã ãšã³ãžã³ã§ã䜿çšãããŠããŸãã
ãã¹ãŠã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã€ãã£ãéšåããããããã·ã¹ãã APIãžã®ããã€ãã£ããã¢ããªã±ãŒã·ã§ã³ãšåããã«ã¢ã¯ã»ã¹ãæœåšçã«ãããŸãã ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãããã€ãã£ãããŒã«ã«ãã£ãŠãã€ãã£ãã€ã³ã¹ããŒã«ããã±ãŒãžã«ã¢ã»ã³ãã«ããã³ããã±ãŒãžåãããŸãã éèŠãªè³ªåã¯ãã¯ãã¹ãã©ãããã©ãŒã éšåãšãã€ãã£ãã®éã®çžäºäœçšãã©ã®ããã«ç·šæããããã§ãã ããšãã°ãWebViewå ãŸãã¯Open GL ES / DirectXã䜿çšãããšãå®å šã«ãã€ãã£ããªã«ãã¯ã¢ã³ããã£ãŒã«ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãäœæããæ¹æ³ã¯ãããŸããããåæã«GPSãããã·ã¥éç¥ãããã³ãã®ä»ã®æ©èœã«å®å šã«ã¢ã¯ã»ã¹ã§ããŸãã JavaScriptãŸãã¯CïŒã®ã³ãŒãã¯ããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãšãã®åäœãéåžžã«èªç±ã«å¶åŸ¡ã§ããå®å šã«ãã€ãã£ããªã«ãã¯ã¢ã³ããã£ãŒã«ãæäŸããŸãã
èŠçŽãããšãã¯ãã䜿çšãããŠããéçºããŒã«ïŒAppleãGoogle以å€ïŒã®èŠ³ç¹ããã¯ããã€ãã£ãã§ã¯ãããŸãããã ããããã¢ããªã±ãŒã·ã§ã³ã¯ã·ã¹ãã APIãžã®ã¢ã¯ã»ã¹ã«é¢ããŠå®å šã«ãã€ãã£ãã§ãããå®å šã«ãã€ãã£ãã®å€èŠ³ãšåäœãæäŸã§ããŸãã ãããŠãç§ãã¡ã¯æ¬¡ã®ç¥è©±ã«åãã£ãŠããŸãã
ç¥è©±3.æŸèæã®æŸèæ
ãã€ãã£ãAPIã¯ããã©ã«ãã§ã¯æŸèæãšã¯èŠãªãããŸããïŒç°ãªãæèŠããããŸããïŒããããã¹ãŠã®digãã¯ã¯ãã¹ãã©ãããã©ãŒã ã®éšåã察象ãšããŠããŸãã æããã«ãã©ã³ã¿ã€ã ç°å¢ïŒWebViewãJavaScriptãšã³ãžã³ãMonoãªã©ïŒãæŸèæãšåŒã¶ã®ã¯å°é£ã§ã-é·ãæŽå²ãæã€æçããæçãããœãªã¥ãŒã·ã§ã³ã§ãã
æŸèæã¯ãã¯ãã¹ãã©ãããã©ãŒã éšåããã€ãã£ãéšåãšçµ±åããæ¹æ³ãšåŒã°ããŠããããã§ãã ããŸããŸãªãã¬ãŒã ã¯ãŒã¯ãã©ã®ããã«æ©èœããããããããç解ããããã«ãPhoneGapãXamarinãQtãããã³React Nativeã®äŸã䜿çšããŠãã¯ãã¹ãã©ãããã©ãŒã éšåãšãã€ãã£ãéšåããªã³ã¯ããããã«äœ¿çšããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¡ã«ããºã ã調ã¹ãŸãã
PhoneGapããå§ããŸãã 以äžã¯ããã®ãã¬ãŒã ã¯ãŒã¯ã«åºã¥ãããããã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã§ãã
PhoneGapã¢ããªã±ãŒã·ã§ã³ã¯ãå®éã«ã¯ãWebViewãå¯äžã®UIã³ã³ãããŒã«ãšããŠè¡šç€ºãããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã§ãã ãã€ãã£ãéšåãšã®çžäºäœçšãããã®ã¯åœŒãéããŠã§ãã iOSãAndroidãããã³Windows UWPã®ãã¹ãŠã®æšæºWebViewã¯ãJSããããã£ããã³ã¡ãœããã®ãã€ãã£ããã³ãã©ãŒãè¿œå ããæ©èœããµããŒãããŠããŸãã åæã«ãJSã³ãŒãã¯ç¬èªã®éé¢ãããç°å¢ã«ååšãããã€ãã£ãéšåã«ã€ããŠã¯äœãç¥ããŸãããå¿ èŠãªJSã¡ãœããããã«ããããå¿ èŠãªJSããããã£ãå€æŽããã ãã§ãã ãã¹ãŠãæšæºã®WebããŒã¹ã®DOMå ã«ãããããã«ãã€ãã£ãå®è£ ã«é¢é£ããæ°ããèŠçŽ ãåçŽã«è¿œå ãããŸãã
次ã«ãReact Nativeãæ€èšããŸãã
React Nativeã§ã¢ããªã±ãŒã·ã§ã³ãäœæããå Žåãéçºè ã¯ã»ãšãã©ã®å ŽåãObjective-CãJavaããŸãã¯CïŒã§ãã€ãã£ãéšåãå®è£ ããå¿ èŠãããããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã®ç®¡çã¯JavaScriptããè¡ãããŸãã å®éãJavaScriptãšã³ãžã³ã¯ãåå¥ã«å©çšå¯èœãªWebViewèŠçŽ ã§ãã PhoneGapã®å Žåãšåæ§ã«ãçžäºäœçšã¯åãJSããªããžãçµç±ããŸãã ãã ããReact Nativeã§ã¯ãJSã³ãŒãã¯Web DOMããªãŒã§ã¯ãªãããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãå¶åŸ¡ããŸãã
iOSã®å¶éã®ããïŒJITãå®è£ ããæ¹æ³ã¯ãããŸããïŒãJavaScriptã³ãŒãã¯ãªã³ã¶ãã©ã€ã§è§£éãããã³ã³ãã€ã«ãããªãããšã«æ³šæããŠãã ããã äžè¬ã«ãããã¯å®éã®ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«ã¯ç¹ã«åœ±é¿ããŸããããèŠããŠãã䟡å€ããããŸãã
Xamarin.FormsïŒWindows UWPããµããŒãïŒã¯ãããã®ã¢ããªã³ã§ãããããä»åºŠã¯å€å žçãªXamarin.iOSãšXamarin.AndroidãèŠãŠã¿ãŸãããã
Xamarinã¯Monoã©ã€ãã©ãªã䜿çšããŠã¿ãŒã²ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšå¯Ÿè©±ããŸããããã«ããã[P / Invoke]ã¡ã«ããºã ïŒhttps://en.wikipedia.org/wiki/Platform_Invocation_ServicesïŒã䜿çšããŠãã€ãã£ãã³ãŒããåŒã³åºãããšãã§ããŸãã ãŸããiOS / Androidã®ãã€ãã£ãAPIãšã®éä¿¡ã«ã䜿çšãããŸãã ã€ãŸãããã¹ãŠã®ãããªãã¯ãã€ãã£ãAPIã¡ãœããã«å¯ŸããŠãCïŒã®ã©ãããŒãäœæããã次ã«ã·ã¹ãã APIãåŒã³åºãããŸãã ãããã£ãŠãXamarinã¢ããªã±ãŒã·ã§ã³ãããã¹ãŠã®ã·ã¹ãã APIã«ã¢ã¯ã»ã¹ã§ããŸãã
ãããŠæåŸã«ãçµéšè±å¯ãªéçºè ããå€ãã®è³ªåãããã®ã§ãQtãæ€èšããŠãã ããã
Qtã¯ãããèªäœãã®ãã®ã§ãããããã«ã¯ãã©ã¹é¢ãšå¶éããããŸãã Qtã©ã€ãã©ãªã¯ããã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãåããŠããC ++ã·ã¹ãã APIã«æ¥ç¶ããã ãã§ãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ã¬ã³ããªã³ã°ã«ã¯äœã¬ãã«ã®ã¡ã«ããºã ã䜿çšãããŸããããã€ãã£ãã¹ã¿ã€ãªã³ã°ããµããŒãããã°ã©ãã£ãã¯ãšã³ãžã³ã䜿çšãããŸãã åæã«ãAndroidã§ã¯ãç¹å¥ãªããªããžïŒJNIããªããžïŒãä»ããŠJava APIã«ã¢ã¯ã»ã¹ããå¿ èŠããããŸãããŸããWindows UWPã§ã¯ãOpen GL ESããDirectXåŒã³åºãã³ã³ããŒã¿ãŒã䜿çšããŸãã
èŠçŽãããšããã¹ãŠã®ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æšæºãã€ãã£ãæ©èœã䜿çšããæçããŠãããITæ¥çã®å·šäººã®æ¯æŽãåããŠçµéšè±å¯ãªããŒã ãšãªãŒãã³ãœãŒã¹ã³ãã¥ããã£ã«ãã£ãŠäœæãããŸãã ãããŠæåŸã«ãæãã匷ããè°è«ã®æãæ¥ãŸããã
ç¥è©±4.ãã£ãã
ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã«é¢ããè°è«ã§äººã ã奜ãéèŠãªåãæã¯ãçç£æ§ãäœãããšã§ãã ç¹°ãè¿ããŸãããäœãæ¯èŒããã©ã®ãªãŠã ãæ°ãããã«ãã£ãŠç°ãªããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®æ©èœã¯ãããªããžã§æ¥ç¶ããã2ã€ã®äžçã䞊è¡ããŠååšããããšãæãåºããŠãã ããã
- PhoneGapïŒHTML / JSããã³ãã€ãã£ãJava / Objective-C / CïŒ;
- React NativeïŒJSããã³Native Java / Objective-C / CïŒ;
- XamarinïŒMonoããã³Native Java / Objective-C;
- QtïŒC ++ããã³ãã€ãã£ãJava / Objective-Cã
ãããã£ãŠãããã©ãŒãã³ã¹ãæ¯èŒãããšãã¯ãäœæ¥ã®é床ãèæ ®ããå¿ èŠããããŸãã
- ã¯ãã¹ãã©ãããã©ãŒã éšåã
- ãã€ãã£ãéšå;
- æ©ã
ããšãã°ããã€ãã£ããšè¿ éãªããã©ãŒãã³ã¹ãåå¿ããããªã©ã®æ€çŽ¢ãšã³ãžã³ãå ¥åãããšãå€ãã®ç°ãªããã¹ããèŠãããšãã§ããŸãããŸããå€ãã®ãã¹ãã§ã¯ãã¯ãã¹ãã©ãããã©ãŒã ã³ãŒãããã®UIã®ã¢ã¯ãã£ããªæäœãªã©ãããªããžãã¢ã¯ãã£ãã«äœ¿çšãããšããã©ãŒãã³ã¹ãæ¥æ¿ã«äœäžããããšã«æ³šç®ããŠããŸãã Xamarinã®å Žåãç¶æ³ã¯åãããã«èŠããŸããã¯ãã¹ãã©ãããã©ãŒã éšåã¯éåžžã«é«éã§ãããŒã¿åŠçã®ãã€ãã£ãéšåã«å¹æµããŸãããããªããžã䜿çšãããšãããã©ãŒãã³ã¹ãäœäžããå ŽåããããŸãã Qtã¯éåžžãC ++ã¬ãã«ã§åäœããŸãããããèªäœã¯é«éã§ãã PhoneGapã«åºã¥ãããœãªã¥ãŒã·ã§ã³ãæ€èšããå Žåãããã©ãŒãã³ã¹ã¯WebViewã«å€§ããäŸåããŸãããJavaScriptã³ãŒãã®UIãç©æ¥µçã«å€æŽããããç§åŠçãªèšç®ãè¡ã£ããããªãã§ãã ããã
ãã£ããïŒ ã¯ããããªããžãä»ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã®äžé©åãªçžäºäœçšã«ãããããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã ãã ããã¯ãã¹ãã©ãããã©ãŒã ã®äžçèªäœã¯ãã€ãã£ãã®ãã®ãšåããããé«éã§ãã
ãããã«
ä»æ¥ã¯ã人æ°ã®ããã¯ãã¹ãã©ãããã©ãŒã ã¢ãã€ã«ãã¬ãŒã ã¯ãŒã¯ã®èšèšã«æ³šç®ããããããåãå·»ãåºæ¬çãªç¥è©±ã«ã€ããŠè°è«ããŸããã
æ¥ç¶ããŠãã³ã¡ã³ãã«è³ªåãæžããŠãã ããïŒ
èè ã«ã€ããŠ
ãŽã£ãã§ã¹ã©ãã»ãã§ã«ãã³ã -éçºéšé·ã ãã³ãŠã§ã« éå»ã«ã¯ãNokia Championããã³Qtèªå®ã¹ãã·ã£ãªã¹ãã®1人ã§ãããçŸåšã¯Xamarinããã³Azureãã©ãããã©ãŒã ã®ã¹ãã·ã£ãªã¹ãã§ãã 圌ã¯2005幎ã«ã¢ãã€ã«åéã«åå ¥ãã2008幎ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãéçºããŠããŸããSymbianãMaemoãMeegoãWindows Mobileããå§ãããã®åŸiOSãAndroidãWindows Phoneã«åãæ¿ããŸããã
Mediumããã°ã§ Vyacheslavã®èšäºãèªãããšãã§ããŸãã
ããã¯ããã«ãŒèªã®èšäºã®å®å šããŒãžã§ã³ã§ããããšãæãåºããŸãã