- ãã¸ã·ã§ã³
- MSãRNãã£ã¡ã使ã£ã¦ãã¨ãã話ã«ã¤ãã¦
- ãã¤ãã£ãã¢ããªéçºè ã®ä»äºã¯æ¸ãã®ã
- ã¾ã¨ã
- ã¿ããªã®åå¿
ãã¡ãã®è¨äºã¸ã®éãªææ³ã§ããææ³ã¯ç§ã®ä¸»è¦³ã§ããããã¸ã·ã§ã³ãã¼ã¯ã§ãããæå±ããçµç¹ã®æè¦ã¨ã¯ç¡é¢ä¿ã§ãããã¨ãå ã«è¿°ã¹ã¦ããã¾ãã
ã¾ãããã¤ãã£ããã¨ããè¨èã«ãC/C++ãªã©ããä½ãããæ©æ¢°èªãã¨ããæ¬æ¥ã®æå³ã«å ãã¦ãããã©ãããã©ã¼ã ã®æ¨æºè¨èªï¼Windowsã®C#, Androidã®Java, iOSã®Obj-Cï¼ãæ¨æºéçºãã¼ã«ã§ãããã¨ãããã¥ã¢ã³ã¹ãå«ãããã¨ãã容赦ãã ããã
ãã¸ã·ã§ã³
ãããªæãã®ãã¸ã·ã§ã³ã®äººã§ãã
- ä¸å°ä¼æ¥åãã«BtoBã§ã¢ããªãä½ããã¨ãå¤ãä¸å°ä¼æ¥ã®äººã§ã
- ã¨ã³ã¸ãã¢ã¨ãã¦ã®ãã£ãªã¢ã®å¤§åãAndroidã¢ããª
- æè¿ã¯React Nativeãã£ã¦ã
- ãã£ã¨æè¿ã¯PWAãã£ã¦ã
- ã©ããªãã¯ããã¸ãã¤ã±ã¦ããããããç®ã®åã®äºæ¥ãåã«é²ããã«ã¯ã©ããªãã¯ããã¸ãé©åããèããã®ã好ãã§ã
MSãRNãã£ã¡ã使ã£ã¦ãã¨ãã話ã«ã¤ãã¦
ã¾ãã¯ãã¡ãã
ããã¤ã¯ãã½ããã®iOSããã³Androidã¢ããªã®ä¸èº«ãã¹ãã£ã³ãã¦ã¿ãããã®ä¸ã§ãWordãExcelãXboxããã®ä»ãããã38æ¬ãã®ã¢ããªããæè¿ã®ã¢ãããã¼ãã§React Nativeãå©ç¨ããããã«ãªã£ããã¨ãçºè¦ããã
æ¨å¹´ã®6æã«ä¸ã®äººããã¤ã¼ããããéçºä¸ã®è©±é¡ããå®éã«ãªãªã¼ã¹ãããããã«ãªã£ããã¨ãåãã¦ã®è©±é¡ã§ããã
ãã¤ã¼ãã¯ãã¡ãã
(Ive never been able to say this yet)
— ðððð Sean Larkin (@TheLarkInn) 2018å¹´6æ13æ¥
ðWell Actually!ð
All of Office 365 is (almost finished) being completely rewritten in this little scripting language called #JavaScript.
And Skype
And Microsoft Teams
And @Code
And all of @MSEdgeDev Debug Protocol (instead of C++)
nbd https://t.co/WFahDhap6K
Twitterã ã¨è©±é¡ã®çºæ£ãããã©ãã¨ãããã¨ã§Redditã«ç§»åããã®ããã¡ãã
ããã§æ³¨ç®ãã¦ããããã®ã¯ã
Office 365's UI, a lot of it, but definitely not all of it, are pieces that are built using React Native (Windows). API's and Services are still going to be powered by C++, C#, or whatever is the most appropriate for that team. Nothing is converting to "all/completely" JavaScript/TypeScript.
ã¨ãã説æã§ãããOffice 365ã®UIã®å¤ããReact Nativeãreact-native-windowsã§çµã¾ãã¦ãããã®ã¯ç¢ºãã§ãããããããAPIããµã¼ãã¹ã¯åãã¼ã ã«ã¨ã£ã¦æé©ãªè¨èªã§ããC++ãC#ãä»ã®è¨èªã§æ¸ããã¦ãããã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ã¦ãJavaScriptãTypeScriptã§è¨è¿°ãããã®ã¯ãªããã¨ãè¨ã£ã¦ãã¾ãã
ããã¦PDSã®ç¨èªã§åãããªãããUIãã¨ããã®ã¯ãããããã¬ã¼ã³ãã¼ã·ã§ã³å±¤ã§ããããããAPIããµã¼ãã¹ãã¨ããã®ã¯ãã¡ã¤ã³å±¤*1ã«ãããã§ããããããã£ããè¨ããããã¨ãç»é¢ã¯React Nativeã¨JS/TSã§æ¸ãã¦ãã¨ãããå¤ããã©ããã¸ãã¹ãã¸ãã¯ã¯åãã¼ã ã«ã¨ã£ã¦é©åãªè¨èªã§æ¸ãã¦ãããã¨ãããã¨ã«ãªãããã§ãã
Brownfieldäºä¾ã¯å®è³ªçã«ãã¤ãã£ãã®äºä¾
React Nativeã®éç¨ã¨ãã¦ã¯Brownfieldã¨Greenfieldã¨ããè¨èããããã大é¨åããã¤ãã£ãã¢ããªã¨ãã¦éç¨ãã¤ã¤UIä»è¿ã§React Nativeãæ´»ç¨ããããã¨ãBrownfieldãããã¤ãã£ãå´ã¯ã§ããã ãinitæã®ã¾ã¾ã«ãã¤ã¤ãã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦ã®ãã¹ã¦ã®ãã¸ãã¯ãJSå´ã«æ¸ãããã¨ãGreenfieldã¨å¼ã³ã¾ããGreenfieldã®å ´åã¯å¿ è¦ãªAndroid/iOSéçºã®ç¥èãå°ãªãã«ãªãã®ã§ãJavaScriptåºèº«è ã«ã¯ãªã¹ã¹ã¡ã§ãã
ãã¦ãOffice 365ã®äºä¾ã¯å ¸åçãªBrownfieldã§ããæ¬æ¥ãªããã¤ãã£ãUIã§éçºãè¡ã£ã¦ãããããããã®ç人éå£ããReactã¨ããUIç¶æ 管çãã©ãã¤ã ã«ããéçºã®å¹çåããUI人æã®å¹ççãªéç¨ã®ããã«å®æ½ããæ½çã§ããã¨æãã¾ãããUIã®å ±éåã¨ããç®çãå ¥ã£ã¦ããå¯è½æ§ã¯å¦ãã¾ãããããä½ãæ¹ãã ãããåãã§ãããã¨ããæç¹ã§äººæéç¨ä¸ã®ä¾¡å¤ãé«ãï¼Learn Once, Write Anywhereï¼ã®ã§ããã©ãããã©ã¼ã ãã¨ã«ãã¼ããä½ãç´ãã¦ãã¦ãå¥ã«ä¸æè°ã§ã¯ãªãããªã¨æã£ã¦ãã¾ãã
ããã¯ãReact Nativeã¨ãããUI管çDSLã©ã¤ãã©ãªã使ã£ã¦ããã¤ãã£ãã¢ããªã®UIå®è£ ãå¹çåããããã¨ããUIå®è£ ãWebãã¼ã ã®äººã«æä¼ã£ã¦ããããããã«ãªã£ãããã¿ãããªè©±ã§ãããéçºã¹ã¿ã¤ã«ã¨ãã¦ã¯ä¾ç¶ã¨ãã¦ãã¤ãã£ãã¢ããªéçºè ã®åãå¤å¤§ã«å¿ è¦ã§ããã¯ãã§ãã
XAMLãUIKitãStoryboardãã¬ã¤ã¢ã¦ãXMLãDataBindingã¨ãã£ãããã¤ãã£ãUIã®ãã¼ã«ãããã使ãæ©ä¼ãæ¸ã£ã¦ããå¯è½æ§ã¯é«ãã§ãããGUIã¢ããªã±ã¼ã·ã§ã³ã¯ãããã ãã§ã§ãã¦ããããã§ã¯ããã¾ããããããè¤éãªã¢ããªã±ã¼ã·ã§ã³ã§ããã°ãPDSã®PããDã®ã»ãã大ãããªããã¨ãããã§ããããOfficeã®éçºã§ã¯ããã¤ãã£ãã¢ããªéçºè ãããã¡ããã¡ãæ´»èºãã¦ããã¯ããªã®ã§ãããã¶ãã
ãããã£ã観ç¹ãããOfficeã®äºä¾ãçç±ã«ãã¦ãã¤ãã£ãã¢ããªéçºè ã®éè¦ãèªãåãå£ã¯ãå°ãçãå¤ãã¦ããããã«çè ã¯æãã¾ããã
Skypeã®äºä¾ãªãã©ããªã®ã
è¨äºå ã§ã¯è§¦ãããã¦ãã¾ããããSkypeãã¼ã ã¯React XPã¨ããèªä½ã®React Nativeã©ããã¼ãéçºãã¦ãããããããä»ã§ããããéç¨ãã¦ãã¾ãã
ããã¯ãWrite Once, Run Anywhereãå¯ãã®ææ³ã§ä½ããã¦ããããã«çè ã«ã¯è¦ãã¦ãããæ¯è¼çã«Greenfieldå¯ãã®éç¨ããã¦ããã®ããªã¨æ³åãã¦ãã¾ãï¼æ³åã§ãï¼ãSkypeå ã§ã®æ´»ç¨äºä¾ã®è¨äºãè¦ã¦ããJavaScriptã©ã³ã¿ã¤ã ã§ã®è©±ã°ãããåºã¦ãã¾ãã
React XPã¯React NativeãWebãWindowsã«ãæ¡å¼µãã¦éç¨ããããã®ã©ããã¼ãªã®ã§ãç¹æ®ã¨ããã°ç¹æ®ãªã®ã§ããããã¡ãã®éç¨ã§ã¯ãã¤ãã£ãã¢ããªéçºè ãç»å ´ããå ´é¢ã¯å°ãªãã®ããããã¾ããï¼æ³åã§ãï¼ãAndroidå°ç¨ã¢ã¸ã¥ã¼ã«ï¼hoge.android.tsxï¼ããWebå°ç¨ã¢ã¸ã¥ã¼ã«ï¼hoge.web.tsxï¼ã¿ãããªãã®ãä½ãã±ã¼ã¹ã¯ãããããªã®ã§ãã¼ã人ã¨ãããã¨ã¯ãããã¾ããããOfficeãã¼ã ããã¯ãã¤ãã£ãã¢ããªéçºè ã®å²åãæ¸ãããããªæ°ããã¾ããï¼ä¸ã®äººï¼éã£ã¦ãããããï¼éã£ã¦ããããµã«ãªæãã¦ããï¼ï¼ããç´ãï¼ï¼ï¼ï¼
ãã£ã¡ãæ ¹æ ã«ãã¦è¨äºãæ¸ãã¦ããã¦ãããã¡ãã£ã¨ã ãç´å¾æä¸ãã£ãã®ã«ãªããã¨æã£ã¦ã¾ãã
ãã¤ãã£ãã¢ããªéçºè ã®ä»äºã¯æ¸ãã®ã
ããããã¯çè ã®æ¥µãã¦å人çãªæè¦ã§ããçè ã¯èªåã®ãã£ãªã¢ãèãã¦ããä¸ã§ãç¾å¨ã®æ¥çããããã観ç¹ã§è¦ã¦ããããã¨ããæç« ãªã®ã§ãéã£ãèãæ¹ãæã£ã¦ãã人ã¯ãã£ã±ãããã¨æãã¾ããããããã¯ãã¹ã¦ç´ æ´ããã観ç¹ã§ããæ¯éãã®è¨äºã®ãã³ã¡ã«çãæ¸ãããããã«ããèªèº«ã®ããã°çã§æè«ãå±éãã¦ãã ãããèªã¿ããã§ãã
ãã¼ãã¦ã§ã¢å©ç¨ã¨ãããã¯ã°ã©ã¦ã³ãåä½ã®è¦ä»¶ãå¼·ããã®ã¯ãã¤ãã£ãã¢ããªã¨ãã¦ä½ããããªããã®ãããã¾ããããªãã©ã¤ã³æã®åä½ãããã§ããã°ãService Workerãªã©ã®é²åï¼ããããPWAï¼ã«ãã£ã¦è§£æ±ºããã¤ã¤ããåéãå¤ããªã£ã¦ãã¾ããããµã¼ãã¼ããããã£ããã¼ã¿ãç»é¢ã«è¡¨ç¤ºãã¦ãã¦ã¼ã¶ã¼ã®å ¥åããµã¼ãã¼ã«æããã ã*2ã®è¦ä»¶ã«ãã¤ãã£ãã¢ããªãä½ãå¿ è¦ãããã®ãã¨ããã¨ãçè ã®ä¸ã§ã¯å°ããã¤çå符ãä»ãããã«ãªã£ã¦ãã¦ãã¾ãã
BtoBã§ã客ããããã¢ããªã欲ãããã¨è¨ã£ãå ´åã«ãå®ã¯ããã¯ç´ æ´ãªWebã¢ããªã§ããè¦ä»¶ã ã£ãããå°ãè¾¼ã¿å ¥ã£ã¦ãPWAã®ç¯å²ã§ãªãã¨ããªããã®ã¯ãæå¤ã¨å¤ãã®ã§ã¯ãªãã§ããããï¼èæè¦ã§ãï¼ããã¡ããããã¤ãã£ãã¢ããªã§ä½ãã¹ãè¦ä»¶ãä¸ã®ä¸ã«å¤ãããã¾ãããããã¯ãã¹ã¦ã§ã¯ããã¾ãããå·¥æ°ãæéããéãããã¦ãAndroidã¨iOSã®ãã¤ãã£ãã¢ããªãããããä½ãã³ã¹ããããããã»ã©ã®è¦ä»¶ãæã£ã顧客ã¯ãå®ã¯ããã¾ã§å¤ããªãã®ã§ã¯ãªãã§ããããï¼å®å ¨ã«èæè¦ã§ãï¼ã
2010å¹´ãããAjaxã®æµè¡ã¨ã¨ãã«ã.NET製ã®ãã¹ã¯ãããã¢ããªã±ã¼ã·ã§ã³ã®ä¸é¨ããWebã¢ããªã±ã¼ã·ã§ã³ã«ç½®ãæããæ¡ä»¶ãå¤ããã£ãããã«æãã¾ããããã¨åãããã«ãã¢ãã¤ã«ã¢ããªã®ä¸çããã©ã¦ã¶æè¡ã«ç½®ãæãã£ã¦ããé¨åãåºã¦ããã¨ãçè ã¯èãã¦ãã¾ããå½æã¨ã¯ãã©ã¦ã¶æè¡ã®é°å²æ°ãéåã¨éãã®ã§ãå½¢ã¯éããã¨ã«ãªãããããã¾ãããããã©ãããã©ã¼ã ãã¤ãã£ããªéçºä¸è¾ºåã ã£ãæ¥çããç¾å®çãªå¥ã®é¸æè¢ãå¾ã¦ãå¤æ§åãã¦ãããã¨ããç¹ã§ã¯ä¼¼ããããªãã¨ã«ãªãã®ããªã¨ã
ãããã観ç¹ã§ã¯ãç¸å¯¾çã«ãã¢ãã¤ã«åãã®ãµã¼ãã¹æä¾ã¨ããåéã«ããããã¤ãã£ãã¢ããªã®æ¯çã¯ãä¸ãã£ã¦ããã®ããããã¾ãããããããæå³ã§ã¯ããã¤ãã£ãã¢ããªéçºè ã®ä»äºãæ¸ãã¨ãã話ããããããªãã¯ãªãã§ãã
ãã¾ãã¤ãã£ãã¢ããªéçºè ã§ãã人ã¯ãããããã·ã§ã¢ãåºãã£ã¦ããï¼ãããããªãï¼ãã©ã¦ã¶åãã®éçºãè¦ããã®ãããã®ããããã¾ãããããããã¤ãã£ãã¢ããªéçºè ã¨ãã¦ã®åãä»ãã¦ä»äºãåã£ã¦ããã®ãããã®ããããã¾ããããã¢ãã¤ã«ã¢ããªéçºè ãã¨ããè©æ¸ãã§ãAndroidãã¤ãã£ããiOSãã¤ãã£ãããã©ã¦ã¶ãå ¨é¨ããããï¼ã¨ãããã¸ã·ã§ã³ãåã£ã¦ããã®ãããããããã¾ããã
ã¾ã¨ã
ããããå ã¯åã®ç®ã§ç¢ºããã¦ããï¼ã¨ããç¡è²¬ä»»ãªç· ãã«ãªã£ã¦ãã¾ãã®ã§ãããåãã¾ã Androidã¢ããªã¨ã³ã¸ãã¢ãèªç§°ãã¦ããç«å ´ã§ãããä»å¾ãããã£ãæ代ã®æ¸¦ä¸ã«æ¾ãè¾¼ã¾ããç«å ´ãªã®ã§ããåå¼ãã ãããããããã©ããªãã®ãã¯åã ã£ã¦ç¥ãããã
åé ã®è¨äºã«ã¤ãã¦ã¯ãã¡ãã£ã¨é£ã°ãéãã ãã©ç¤ºåã«å¯ãã§ããã®ã§ã話ååã§èªãã§ããããããããã®æ°æã¡ã§ãã
ãã¸ã·ã§ã³ãã¼ã¯ã¯ä»¥ä¸ã§ãã
ã¿ããªã®åå¿
æ¯éãã®è¨äºã®ãã³ã¡ã«çãæ¸ãããããã«ããèªèº«ã®ããã°çã§æè«ãå±éãã¦ãã ãããèªã¿ããã§ãã
ã¡ããã¨ããã°ãæ¸ãã¦ãã ãã£ãæ¹ã ãè¦ãããã®ã§ããã®è¨äºã®æ¬¡ã«èªãè¨äºã¨ãã¦ãªã¹ã¹ã¡ãã¦ããã¾ãã
Xamarinå¢ã®åå¿
ããªãã§ããã§Xamarinãããã¼ãã ãï¼ãã«å¯¾ããã¢ã³ãµã¼ã§ãã
Cordovaå¢ã®åå¿
æã®ã¤ã¡ã¼ã¸ã§Cordovaãdisããªãã§ããé ¼ããã¨ããã話ã
iOSãã¤ãã£ãã¢ããªéçºè ã®åå¿
ãã¤ããªããã¢ããªçãªæè¡ã¨ã©ãåãåãããã©ãè¦ãªãããã¨ããã話ãï¼ãããããã£ãï¼