ãã®èšäºã¯ãããã¥ã¢ã«ã®èŠçŽçã§ããããªã³ã¯ã®æåŸã«ãããŸãã
ç§ã¯åºããŽã£ãã§ã¹ã©ãã»ãã§ã«ãã³ãã«æž¡ããŸãã
ã¯ããã«
çŸåšãå€ãã®ãã¬ãŒã ã¯ãŒã¯èªäœããããŸãããã¢ãŒããã¯ãã£ã®èŠ³ç¹ããèŠããšãåºæ¬çã«PhoneGapãReactNativeãããã³Xamarinã«äŒŒãŠããããããã®3ã€ã®ãªãŒããŒã«çŠç¹ãåœãŠãŸãã Qtãã¬ãã¥ãŒã«è¿œå ããŸãããã¢ã¯ãã£ããªQtéçºè ãŸãã¯ä»¥åã«Qtéçºè ãšååããiOSããã³Androidã®ãµããŒãã«ã€ããŠèããããšããã人ããããèãããŸãã
ã¿ãŒã²ãããã©ãããã©ãŒã ãšããŠãiOSãAndroidãããã³Windows UWPã«çŠç¹ãåœãŠãŸãã
ãã€ãã£ãããã³ã¯ãã¹ãã©ãããã©ãŒã éçºããŒã«
æŽå²çã«ãã³ã³ãã¥ãŒã¿ãŒåžå Žã§ã¯åžžã«ç«¶äºããããåã¡ãŒã«ãŒã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšããã€ã¹ã®ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®æé©ãªã»ããã®ããããããã€ãã£ããïŒãã€ãã£ãïŒããŒã«ãæäŸããŠããŸããã ãã€ãã£ãéçºããŒã«ã¯ãæé©ãªããã©ãŒãã³ã¹ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã æ©èœãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã
ãã ãããããã®ããŒã«ã¯ãéçºèšèªã®ã¬ãã«ãåãå ¥ããããŠããèŠåãšã¢ãŒããã¯ãã£ã ãã§ãªãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã©ã€ãã©ãªãæäœããã¡ã«ããºã ã®ã¬ãã«ã§ãäºãã«äºææ§ããªãããšããã°ãã°å€æããŸããã ãã®çµæãåãã¢ã«ãŽãªãºã ããŠãŒã¶ãŒãŸãã¯ããžãã¹ã·ããªãªãå®è£ ããã«ã¯ãç°ãªãããã°ã©ãã³ã°èšèªã§è€æ°ã®ç°å¢çšã®ã¢ããªã±ãŒã·ã§ã³ãäœæããå¿ èŠããããŸããã ããšãã°ã2ã€ã®ãã©ãããã©ãŒã ããµããŒãããå¿ èŠãããå Žåã人件費ãšããŒã ã2åã«å¢ããå¿ èŠããããŸãã ããã«ããµããŒããšéçºã®ããã®2åã®äºç®ã å€ãã®äŒæ¥ããã§ã«å€§ããªã³ãŒãããŒã¹ãèç©ããŠããããšãä»ãå ããããšãã§ããŸãããããæ°ãããœãªã¥ãŒã·ã§ã³ã«ç¶æ¿ããããšæããŸãã
2çªç®ã®éèŠãªãã€ã³ãã¯ãããŒã å ã§å¿ èŠãªã³ã³ããã³ã·ãŒïŒç¥èãšçµéšïŒãå©çšã§ãããã©ããã§ããããŒã ã«ããªãå Žåã¯ããã¬ãŒãã³ã°ã«æéãããããŸãã
ãããã®åé¡ã®äž¡æ¹ã解決ããããã«ãã¯ãã¹ãã©ãããã©ãŒã éçºããŒã«ãåžå Žã«ç»å Žãã以äžãæäŸããŸããã
-補åã®éçºãšä¿å®ã容æã«ãªãããã«ãåäžã®ããã°ã©ãã³ã°èšèªã§å šäœçãªã³ãŒãããŒã¹ãæ倧åããŸãã
-æ¢åã®èœåãšå°é家ã䜿çšããŠãæ°ãããã©ãããã©ãŒã ã«ã¢ããªã±ãŒã·ã§ã³ãå®è£ ããŸãã
çŸåšãå€ãã®ããã°ã©ãã³ã°èšèªïŒããã³ç°å¢ïŒïŒããã³ãããã®èšèªãç¥ã£ãŠããå°é家ïŒããããããã¯ãã¹ãã©ãããã©ãŒã éçºçšã®ããŒã«ãããªããããŸãã ãã®æ¬ã§ã¯ãã¢ãã€ã«ããžãã¹ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ããŒã«ã®ã¿ã«é¢å¿ãããããã次ã®ç« ã§ã¯ãããããã©ã®ããã«æ©èœãããã«ã€ããŠããã«è©³ãã説æããŸãã ãããŸã§ã®éãã¯ãã¹ãã©ãããã©ãŒã éçºã®åå©ç¹ã«ã€ããŠããå°ã詳ãã説æããŸãã
å ±éã®ã³ãŒãããŒã¹ã éçºè ã¯ãéžæããããŒã«ã«å¿ããŠããã©ãããã©ãŒã éïŒã¢ããªã±ãŒã·ã§ã³ãªãœãŒã¹ïŒç»åããã©ã³ãããã®ä»ã®ãã¡ã€ã«ïŒãããŒã¿æäœããžãã¯ãããžãã¹ããžãã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã®èª¬æïŒãç°¡åã«æ¢ãããšãã§ããŸãã ãŸãããªãœãŒã¹ãšããžãã¯ïŒããŒã¿åŠçãšããžãã¹ïŒããã¹ãŠéåžžã«åçŽãªå Žåã¯ãåãã©ãããã©ãŒã ã«ç¬èªã®æšå¥šäºé ãšèŠä»¶ããããããã€ã³ã¿ãŒãã§ã€ã¹ã«æ³šæããå¿ èŠããããŸãã
æ¢åã®ã³ã³ããã³ã·ãŒãšããŒã ã䜿çšããŸãã ããã°ã©ãã³ã°èšèªã ãã§ãªããiOS / Android / Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åäœã¡ã«ããºã ãããã³è¿œå ã®ã©ã€ãã©ãªãšéçºããŒã«ã®ã»ããã«ã€ããŠãç解ãã䟡å€ããããŸãã
ãããã£ãŠãããã€ãã£ããããŒã«ã¯ãšã³ã·ã¹ãã ã®ææè èªèº«ã«ãã£ãŠæäŸãããã¿ãŒã²ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æ©èœãæ倧éã«æŽ»çšãããã€ãã£ãAPIãžã®ãã«ã¢ã¯ã»ã¹ãæé©ãªããã©ãŒãã³ã¹ãããã³ãã©ãããã©ãŒã ããšã«åå¥ã®éçºããŒã ãå¿ èŠã«ãªããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã¯ãè€æ°ã®ãã©ãããã©ãŒã ãåæã«ãµããŒãããå¿ èŠããããå¿ èŠãªèœåãããïŒãŸãã¯éçºäžïŒå Žåã«ã人件費ãåæžããã¢ããªã±ãŒã·ã§ã³ã®ãªãªãŒã¹ãå éã§ããŸãã é·ãç®ã§èŠãã°ãã¯ãã¹ãã©ãããã©ãŒã ãœãªã¥ãŒã·ã§ã³ã¯ããªãã®å·¥æ°ãç¯çŽããã®ã«åœ¹ç«ã¡ãŸããããã®ããã«ã¯ãéžæããããŒã«ã®æ©èœãæ€èšãã䟡å€ããããŸãã
IOS / Androidã¢ãŒããã¯ãã£ãšãã€ãã£ãAPI
ã¯ãã¹ãã©ãããã©ãŒã ãœãªã¥ãŒã·ã§ã³ã®åºç€ãšãªãäž»ãªååã¯ãã³ãŒãã2ã€ã®éšåã«åããããšã§ãã
- ã¯ãã¹ãã©ãããã©ãŒã ãä»®æ³ç°å¢ã«äœãã§ãããç¹å¥ãªããªããžãä»ããŠã¿ãŒã²ãããã©ãããã©ãŒã ã®æ©èœãžã®ã¢ã¯ã»ã¹ãå¶éãããŠããŸãã
- Nativeã¯ãã¢ããªã±ãŒã·ã§ã³ã®åæåãããŒãªããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«ç®¡çãããã³ã·ã¹ãã APIãžã®ãã«ã¢ã¯ã»ã¹ãæäŸããŸãã
ããã€ãã£ããã®äžçãšãã¯ãã¹ãã©ãããã©ãŒã ãã®äžçãæ¥ç¶ããã«ã¯ãç¹å¥ãªããªããžã䜿çšããå¿ èŠããããŸãã ãŸãã第3ç« ã§èª¬æããããã«ãã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã®æ©èœãšå¶éã決å®ããã®ã¯ããªããžã§ãã
ããªããžã䜿çšãããšããäžçãéã§ããŒã¿ãå€æããAPIåŒã³åºããšã©ã€ãã©ãªãå€æããããšã«ãããåžžã«ããã©ãŒãã³ã¹ã«æªåœ±é¿ãåãŒããŸãã ãã¯ãã¹ãã©ãããã©ãŒã ãã®äžçèªäœã¯ãããã€ãã£ããã®äžçãšåçã®ããã©ãŒãã³ã¹ãåããŠããŸãã
ãã®ããããã¹ãŠã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã€ãã£ãéšåãå¿ èŠã§ããããã§ãªããšããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯åã«ããããèµ·åã§ããŸããã ãŸããiOSãAndroidãããã³Windows UWPèªäœããã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã«å¿ èŠãªAPIãæäŸããŸãã
- WebView㯠ãPhoneGapãŸãã¯é¡äŒŒç©ã«åºã¥ããã€ããªããã¢ããªã±ãŒã·ã§ã³ã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«äœ¿çšãããå®éã«ã¯Webã¢ããªã±ãŒã·ã§ã³ã®ã©ã³ã¿ã€ã ãšããŠæ©èœããŸãã
- JavaScriptãšã³ãžã³ã¯ReactNativeããã³ãã®é¡äŒŒç©ã§äœ¿çšãããJSã³ãŒããè¿ éã«å®è¡ãããã€ãã£ããšJSã®éã§ããŒã¿ã亀æããŸãã
- OpenGL ESïŒãŸãã¯DirectXïŒã¯ ãã€ã³ã¿ãŒãã§ã€ã¹ãã¬ã³ããªã³ã°ããããã«Qt / QMLãŸãã¯åçã®ã²ãŒã ããã³ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŸãã
- UIãµãã·ã¹ãã ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãã€ãã£ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæ åœããŸããããã¯ãReactNativeããã³Xamarinã«é¢é£ããŠããŸãã
ãããã®ãµãã·ã¹ãã ã®ãã詳现ãªèª¬æã¯ãèšäºã®æåŸã«ãããªã³ã¯ã®ãã«ããŒãžã§ã³ã®ããã¥ã¢ã«ã§ãããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§èŠã€ããããšãã§ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã¢ãŒããã¯ãã£
ãã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ã¯ãã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãèµ·åããããã®ç¹å®ã®æè¡æ©èœããããŸãã æè¡çãªèŠ³ç¹ããæãç°¡åãªã®ã¯ããã¹ãŠã®OSã«åãã£ãŠããWebViewã®äœ¿çšã§ãïŒPhoneGapã«é¢é£ïŒã 2çªç®ã®ãªãã·ã§ã³ã¯ãOpenGL ESãC / C ++èšèªãªã©ã®äœã¬ãã«ã®ã¡ã«ããºã ã䜿çšããããšã§ã-ããã«ãããã»ãšãã©ã®ããžãã¯ããããžã§ã¯ãéïŒã²ãŒã ãŸãã¯QtïŒã§å ±æã§ããŸãããWindows UWPã§ã¯éãããç¯å²ã§æ©èœããŸãïŒãŸãã¯æ©èœããŸããïŒã æå°éã®ãªãŒããŒãããã§å®å šã«ãã€ãã£ããªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãšãã€ãã£ããªããã©ãŒãã³ã¹ãå¿ èŠãªå Žåã¯ãããã§ãããã¬ãã«ã®ã·ã¹ãã APIã®äœ¿çšãéå§ããŸãããã®ã¢ãããŒãã¯XamarinãšReactNativeã§å®è£ ãããŸãã
åãã¬ãŒã ã¯ãŒã¯ã®æ©èœãšå¶éãããããç解ããããã«ãããããã©ã®ããã«ã¢ãŒããã¯ãã£ãŒãšããŠèšèšãããã©ã®å¯èœæ§ãšå¶éãç¶ãããèŠãŠã¿ãŸãããã
Phonegap
PhoneGapããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã¯WebViewã䜿çšããå®è£ ã®ç¹ã§ã¯éåžžã«åçŽã§ã-çµã¿èŸŒã¿ã®Webãã©ãŠã¶ãŒãšåäžããŒãžã®HTMLãå®éã«è¡šç€ºããã ãã®å°ããªãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãäœæãããŸãã ãã€ãã£ãã³ã³ãããŒã«ãAPIãžã®çŽæ¥ã¢ã¯ã»ã¹ã¯ãããŸãããWebããŒãžå ã®ãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ã¯ãåã«ãã€ãã£ãèŠçŽ ãšããŠã¹ã¿ã€ã«èšå®ãããŸãã ã·ã¹ãã æ©èœã«ã¢ã¯ã»ã¹ããããã«ãWebãã©ãŠã¶å ã«JSã¡ãœãããè¿œå ããããããåãã©ãããã©ãŒã ã®ãã€ãã£ãå®è£ ã«é¢é£ä»ããç¹å¥ãªãã©ã°ã€ã³ãæ¥ç¶ãããŸãã
ã芧ã®ãšãããPhoneGapã䜿çšãããšããã©ãããã©ãŒã éã§ã»ãŒãã¹ãŠã®ã³ãŒããå ±æã§ããŸãããObjective-Cããã³JavaïŒããã³Windowsã®CïŒïŒã§ãã€ãã£ãéšåãå®è£ ããå¿ èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«å šäœãWebViewå ãééãããããWebéçºè ã¯æ°Žäžã®éã®ããã«æããã§ãããã ãã©ãããã©ãŒã ã®æ©èœãå¿ èŠã«ãªããŸã§ãããã§iOSãšAndroidãååã«ç解ããå¿ èŠããããŸãã
PhoneGapïŒå¥åApache CordovaïŒã¯ã人æ°ã®ããIonicãã¬ãŒã ã¯ãŒã¯ã§ã䜿çšãããŠããŸããIonicãã¬ãŒã ã¯ãŒã¯ã¯ãã·ã¹ãã æ©èœçšã®å€æ°ã®æ¢è£œã®ãã©ã°ã€ã³ãæäŸããŸãã
WebViewããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã€ãã£ãã§ã¯ãããŸããããHTML / CSSã¹ã¿ã€ã«ã䜿çšããå Žåã«ã®ã¿äŒŒãŠããŸãã
PhoneGapã§ã¢ããªã±ãŒã·ã§ã³ãéçºãããšãã¯ãHTMLãJavaScriptãCSSãObjective-CãJavaã®çµéšãããã³ãã€ãã£ããšã¯ãã¹ãã©ãããã©ãŒã ã®ããŒããçµ±åããããã®åªãããšã³ãžãã¢ãªã³ã°ç¥èãå¿ èŠã§ãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯1ããŒãžã®HTMLã®ååã«åŸã£ãŠæ§æãããŠããŸããè€éãªã€ã³ã¿ãŒãã§ã€ã¹ãåããå®éã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãçæ£ãé床äœäžãçºçããŸãïŒã¢ãã€ã«WebViewã®æ©èœã¯ãã¡ãŒã«ãŒã«ãã£ãŠç°ãªãå ŽåããããŸãïŒã ããªããžãä»ããŠããŒã¿ã転éããã«ã¯ãJsonã§ã·ãªã¢ã«å/éã·ãªã¢ã«åããå¿ èŠããããŸãã äžè¬ã«ãã¢ããªã±ãŒã·ã§ã³ã®å¯¿åœå šäœãWebViewãééãããããããªããžã¯ã»ãšãã©äœ¿çšãããŸããã
ãã€ãã£ãéšåãšWebViewã®éã§è€éãªããŒã¿æ§é ãšã¯ã©ã¹ã転éããã«ã¯ãããããJSON圢åŒã§ã·ãªã¢ã«å/éã·ãªã¢ã«åããå¿ èŠããããŸãã
æåŸã«ãPhoneGapã¯æ¢ã«å€æ°ã®æ¢è£œã®ãã©ã°ã€ã³ãåããéåžžã«æçãããœãªã¥ãŒã·ã§ã³ã§ããããšã«æ³šæããŠãã ããã
ãã®ãããPhoneGapã¯ãå°èŠæš¡ãŠãŒã¶ãŒïŒç€Ÿå ã®ãœãªã¥ãŒã·ã§ã³ãªã©ïŒãŸãã¯ãããã¿ã€ãã䜿çšããåçŽãªã¢ããªã±ãŒã·ã§ã³ïŒæ倧15ç»é¢ïŒã®è¿ éãªéçºã«æšå¥šã§ããŸãã
åå¿ç
ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ã¯ãã¹ãã©ãããã©ãŒã éçºã«ãããèå³æ·±ããœãªã¥ãŒã·ã§ã³ã®1ã€ã¯ãFacebookã§äœæãããReactNativeã§ãã ãã®ãã¬ãŒã ã¯ãŒã¯ã«ãããJavaScriptã䜿çšããŠãã€ãã£ãã€ã³ã¿ãŒãã§ã€ã¹ãšã¢ããªã±ãŒã·ã§ã³ããžãã¯ãèšè¿°ããããšãã§ããŸãã JSãšã³ãžã³èªäœã¯ããã€ãã£ãã«å¹æµããããã©ãŒãã³ã¹ãæäŸããŸãã ãã ããReactNativeã¢ãŒããã¯ãã£ã«ã¯ããã©ãããã©ãŒã ã®æ©èœãšUIã®æäœé床ãäœäžãããããªããžãããããšãå¿ããªãã§ãã ããã
ReactNativeã§ã¢ããªã±ãŒã·ã§ã³ãäœæãããšããéçºè ã¯ãJSãšã³ãžã³ãšãã®JSã³ãŒããåæåããObjective-CãJavaããŸãã¯CïŒã§ãã€ãã£ãéšåãå®è£ ããå¿ èŠããããŸãã 次ã«ãJSã¢ããªã±ãŒã·ã§ã³ã¯å¶åŸ¡ãç¬èªã®æã«åââããReactNativeã®å©ããåããŠããã€ãã£ããªããžã§ã¯ãã®äœæãšJavaScriptããã®ç®¡çãéå§ããŸãã ReactNativeã¢ãŒããã¯ãã£ã«ãããã¢ããªã±ãŒã·ã§ã³ãåèµ·åããããšãªãïŒããããªããŒãïŒJSã³ãŒããæŽæ°ã§ããããšãè¿œå ãã䟡å€ããããŸãã ããã«ãããã¢ããªã±ãŒã·ã§ã³ãAppStoreããã³Google Playã«åå ¬éããããšãªããã¯ãã¹ãã©ãããã©ãŒã ããŒããæŽæ°ã§ããŸãã Npmã®ã©ã€ãã©ãªãšå€æ°ã®ãµãŒãããŒãã£ãã©ã°ã€ã³ã䜿çšããããšãã§ããŸãã
iOSã®å¶éã®ããïŒJITãå®è£ ããæ¹æ³ã¯ãããŸããïŒãJavaScriptã³ãŒãã¯ãªã³ã¶ãã©ã€ã§è§£éãããã³ã³ãã€ã«ãããªãããšã«æ³šæããŠãã ããã äžè¬ã«ãããã¯å®éã®ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããããšã¯ãããŸããããèŠããŠãã䟡å€ã¯ãããŸãã
ãã€ãã£ãéšåãšJSãšã³ãžã³éã§è€éãªããŒã¿æ§é ãšã¯ã©ã¹ã転éããã«ã¯ãããããJSON圢åŒã§ã·ãªã¢ã«å/éã·ãªã¢ã«åããå¿ èŠããããŸãã
ReactNativeã§ã¢ããªã±ãŒã·ã§ã³ãäœæããå ŽåãJavaScriptãšiOSããã³Androidã®ååãªç¥èãå¿ èŠã§ãã å ¬åŒããã¥ã¡ã³ãã«ããã°ããã€ãã£ãããã³ã¯ãã¹ãã©ãããã©ãŒã ããŒãã®çµ±åã¯ç°¡åã§ãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯å®å šã«ãã€ãã£ãã§ãããJSã³ãŒãããã¹ã¿ã€ãªã³ã°ãããšãã«å¶éãšæ©èœããããæ £ããå¿ èŠããããŸãã ããªããžãä»ããŠããŒã¿ã転éããã«ã¯ãJsonã§ã·ãªã¢ã«å/éã·ãªã¢ã«åããå¿ èŠããããŸãã ããã«ãããªããžã¯ãã€ãã£ããªããžã§ã¯ããå¶åŸ¡ããããã«äœ¿çšãããéå¹ççã«äœ¿çšããããšããã©ãŒãã³ã¹ã®äœäžã«ã€ãªããå¯èœæ§ããããŸãïŒããšãã°ãæåã¢ãŒãã§ã®ã¢ãã¡ãŒã·ã§ã³äžã«JSã³ãŒããããã€ãã£ãUIãªããžã§ã¯ãã®ããããã£ãå€æŽããããšããããããŸãïŒã
ãŸãããã¬ãŒã ã¯ãŒã¯ã®è¥ããèæ ®ããå¿ èŠããããŸã-éçºäžã«ã®ã¿åŠç¿ããããã«ããã¯ãŸãã¯ãšã©ãŒããããŸãã ãããŠã»ãšãã©ã®å ŽåãObjective-Cããã³Javaã®ãã€ãã£ãéšåã®å®è£ ãå¿ èŠã§ãã
ãã®ãããReactNativeã¯äžçšåºŠã®è€éãïŒæ倧40ç»é¢ïŒã®ã¢ããªã±ãŒã·ã§ã³ã®è¿ éãªéçºã«æšå¥šã§ããŸããããŒã ã«ã¯çµéšè±å¯ãªJSéçºè ã ãã§ãªããiOSïŒObjC / SwiftïŒãšAndroidïŒJava / KotlinïŒã®åªããå°é家ãå«ããå¿ èŠããããŸãã
GitBookã§ã¬ã€ãã®å®å šçãèŠã€ããããšãã§ããŸãã
10æ31æ¥ãVyacheslavã¯Xamarinéçºè åãã®ã¢ãã€ã«DevOpsãŠã§ãããŒã§ãè¬æŒãã ãã¹ããšé ä¿¡ãã¹ããŒãã¢ããããŸã ã ãã€ãã®ããã«ãåå ã¯ç¡æã§ãã
ã¬ãã¥ãŒã®ç¬¬2éšã§ã¯ããã¬ãŒã ã¯ãŒã¯ãéžæããéã®äžè¬çãªæšå¥šäºé ãšåæ§ã«ãXamarinãšQtã«çŠç¹ãåœãŠãŸãã é£çµ¡ãåãåããã³ã¡ã³ãæ¬ã§è³ªåããŠãã ããïŒ
èè ã«ã€ããŠ
Vyacheslav Chernikov㯠ã Binwell ãMicrosoft MVPãããã³Xamarinèªå®éçºè ã®éçºè²¬ä»»è ã§ãã éå»ã«ã¯ãNokia Championããã³Qtèªå®ã¹ãã·ã£ãªã¹ãã®1人ã§ãçŸåšã¯Xamarinããã³Azureãã©ãããã©ãŒã ã®ã¹ãã·ã£ãªã¹ãã§ãã 圌ã¯2005幎ã«ã¢ãã€ã«åéã«åå ¥ãã2008幎ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãéçºããŠããŸããSymbianãMaemoãMeegoãWindows Mobileããå§ãããã®åŸiOSãAndroidãWindows Phoneã«åãæ¿ããŸããã Mediumããã°ã§ Vyacheslavã®èšäºãèªãããšãã§ããŸãã
èè ã«ããä»ã®èšäºã¯ã ïŒxamarincolumnã³ã©ã ã«ãããŸãã
UPDïŒ 2çªç®ã®éšåã¯ãã¡ãã§ãã