7æ21æ¥ï¼åï¼ã«æ°æ½çä¸è¶å¸ã§è¡ããããä¸è¶TechMeetup#2ã«åå ãã¦ãã¾ããã
çºå®¶ãæ¹è£ ããã¤ãã³ãã¹ãã¼ã¹ãé«ç°å°çºãã§ãç·å¢15åã§ã®ãåãããªé°å²æ°ã§ã®éå¬ã¨ãªãã¾ããã
ãªãã§ãã£ãã®
主å¬ã®äºåå·ãããRNã®è©±ãèãããã¨ãããã¨ã§ãå¼ã°ããã¾ãããä¸è¶ã¯å°å ãªã®ã§ãå°å ã§è¡ãããITåå¼·ä¼ã«ãå¼ã°ããªãã¦ããã³ã·ã§ã³ãããä¸ããã«ãªãäºæ¡ã§ãã
å人çãªã¨ããã¨ãã¦ã2010å¹´ããã«ä¸è¶ã§ããç¨åº¦ã®è¦æ¨¡ã®ITåå¼·ä¼ãéå¬ãããã¨ã諦ãã¦æ°æ½å¸ã§éå¬ãã¦ããã¨ããäºæ ãããã¾ãã¦ãèªåã諦ãããã¨ãå®ç¾ããåå¼·ä¼ãæ¯éå¿æ´ãããã¨ããæ°æã¡ãããã¾ããã
ãªã«ããã®
React Nativeã®å ã¨éã¨ããã¿ã¤ãã«ã§è¬æ¼ãã¦ãã¾ãããã¹ã©ã¤ãã¯æ¬¡ã®ã¨ããã§ãã
www.slideshare.net
ç´°ããå 容ã¯å¾è¿°ãã¾ãã
ä»ã®æ¹ã®çºè¡¨
å°è±¡ã«æ®ã£ãã話ã ãã
writer.appã®è©±
èªåæåèµ·ããã®Webã¢ããªã§ããå®ç¨ä¸ã®ãã¼ãºããçã¾ãã¦ããã®ã§ã使ããããã¯ãã«ã¤ãã¨ã®ãã¨ã
FirebaseãGCPãã¢ãªã¢ãªä½¿ã£ã¦ããã®ã¯æ¥½ãããã ãªãã¨æãã¾ããã
EventEmitterã®è©±
@lightnet328ããããããã©ã¦ã¶ã®æèã«EventEmitterãæã¡è¾¼ãã¨ãReactã§å°ããã¢ããªãä½ãã¨ãã«propsã®ãããåãã¨ãããªãã§æ¸ããã¨ããã£ã¦è¯ãããã¨ããã話ã§ããã
åºç¤ã¯ããã¼ãããã¦EventEmitteræ°ã大è¦æ¨¡ã«ä¹±ç¨ããã¨ããã¸ã§ã¯ããå´©å£ãããããªãã§ããã¼ãã¨æããªããèãã¦ãã¾ãããéä¸ã§å½äººãããã¾ããè¦æ¨¡ã大ãããªã£ã¦ããã¨Reduxã¨ãã®ã»ãã管çãããããªããã§ããã©ããã¨ãã話ããã£ãã®ã§ãå®å¿ãã¦èãã¦ãããã¾ããã
SOC2ã®è©±
ã¯ã©ã¹ã¡ã½ããã®æ¤æ¨ãããããâã®è£è©±ã«ã¤ãã¦ã
ISMSãªããããé¢åããããã ãªããã¨æããªããåããè¦ã¦ããã®ã§ãããããã¯è¼ªãããã¦é¢åããããã¤ã®ããã§ãã
ãããããããã¾ã§ç£æ»ãããã åããã¿ãããªæ°æã¡ã§èãã¦ãã¾ããããèªåãã¡ã§ã¯ããã¾ããããããªãã§ããã»ã»ã»ã
React Nativeã®å ã¨é
ãã£ããã¨ããå 容ã¨ãã¦ã¯ãããªæãã§ãã
å ãã¼ã
- Reactã¯ã¬ã¤ã¢ã¦ãããªã¼ã®å·®åæ´æ°ãå¾æãªã©ã¤ãã©ãªã ã
- React Nativeã¯Reactã®å¾æåéããã¤ãã£ããã¥ã¼ã®æ´æ°ã«æã¡è¾¼ãã ãã¤ã ã
- Androidã¨iOSã®åæéçºãã§ããã®ã¯å¬ããã
react-native init
ã§ä½ã£ãããã¸ã§ã¯ãã¯Xcode/Android Studioçµç±ã§ãã«ããããã¨ãå¤ãã- ãã¢ï¼ããã¯ã¨ã¡ãã£ã¨ããLive Reload
- React Nativeã¯C++å¦çç³»ã®ä¸ã§åãJavaScriptCoreã®ä¸ã§ãããã£ãJSãåããã¦ãã
- JSã¨C++ã®éã®éä¿¡æ¹å¼ã¯WebKitãæ ä¿ãã¦ãã®ã§ç´ æ§ãããã
- C++ã¨Obj-C/Javaã®éã®éä¿¡ãããããã®OSã§æ®éã®ããæ¹ãããã®ã§ç´ æ§ãããã
- ãã¢ï¼create-react-native-appï¼Expoï¼ã§QRã³ã¼ããªã¼ãã¼ãä½ã
- ãããã°æã«çªå¦ã³ã³ã½ã¼ã«ã«ç¾ããQRã³ã¼ã
- ã«ã¡ã©ãã¼ããã·ã§ã³ã®è«æ±ããã«ã¡ã©ãã¬ãã¥ã¼ã®é ç½®ããèªã¿è¾¼ãã QRã³ã¼ãã®ãã¼ã¿åãåãããExpoãªããµã¯ãµã¯ããã¡ãã
- JANãIMEIã®ãã¼ã³ã¼ããèªãã¡ãã
- ãã£ãç°¡åã§ããï¼
- Expoã¯ã©ã¤ã¢ã³ãã¢ããªãè²ã é è½ãã¦ããã¦ã¾ã
- æ´»ç¨äºä¾
- Quipper社ã®ã¹ã¿ãã£ãµããª
- å¼ç¤¾é¢ç©è¨ç®
- Togetter
- ä» react-native-jp/react-native-apps-jp
- React Native for Webã¨ããã®ããã£ã¦ãª
- ReactXPã¨ããã®ããã£ã¦ãª
- Skypeã¨ãOffice 2019ã¨ã
- MSãææ¢ãæããã®ã§ãæã ä¸è¬ã®ã¨ã³ã¸ãã¢ã使ããããã«ãªãã¾ã§2å¹´ããããããããããªããï¼ç§è¦ï¼
éãã¼ã
- ä¸äººã«ãªã¹ã¹ã¡ã§ããããã§ã¯ãªã
- ç¡çãéãã帳尻åããããè åã§ä½ã¨ããã¦ããé¨åããã
- è
åã®ä¾
- ã¨ã©ã¼ã¡ãã»ã¼ã¸ãèªãå
- JSC, Android, iOSã®ã¨ã©ã¼ã¡ãã»ã¼ã¸ãæ··å¨ããã®ã§ãã¡ã³ãã¼ã®èª°ãã¯ãããèªããªãã¨ããã©ã
- ãã«ãããå
- ãªãªã¼ã¹ãã«ãããã¨ãã¯ãJSæååãAndroidæååãiOSæååã®ããããã®ãä½æ³ãæ¼ããã¦ããå¿ è¦ããã
- ãªããExpoã¯ç¥ããªãã¾ã¾ãã«ããã¦ãä½ã¨ããªãé¨åãå¤ã
- Expoã¯æ¥½ãªãã ãã©ãæ¬æ¥ã®ããæ¹ãç¥ããªãã¾ã¾ã§ããã¨ãã©ãã£ãã¨ãã«èº«åããåããªããªãã®ã§ããã¯ãæ¬æ¥ã®ãä½æ³ãç¥ã£ã¦ãã人éã¯ããã»ãããã
- ã¹ãã¢ã«ãªãªã¼ã¹ããå
- Google Play Consoleã¨ãAppStore Connectã使ãã®ã¯åã
- ä½ã«ããAppleã®å¯©æ»å¡ã¨ã¯éã
- ãã¼ã¸ã§ã³ã¢ããããå
- RNèªä½ã®ãã¼ã¸ã§ã³ã¢ãããçµæ§ããã©ã
- ã¢ããã°ã¬ã¼ãã³ãã³ãã失æãããã¨ããã
ãã¸iOSãå- å°ã£ãã
react-native init
ããç°å¢æ§ç¯ãããç´ããã»ããæ©ãã¨ããã®ãç¾ç¶
- ã¨ã©ã¼ã¡ãã»ã¼ã¸ãèªãå
å ã¨éã®ã¯ãã¾ã§
- æè¡é¸æã¯çµç¹ã¨äºæ¥ã«è¦åã£ããã®ãé¸ã¶ã¹ã
- æ®æ®µä½¿ã£ã¦ããã責åãå°ããã©ã¤ãã©ãªãªããçµç¹ãäºæ¥ã¨ã®ç¸æ§ãæ·±ãèããªãã¦ããªã¹ã¯å°ãªãã§æ¡ç¨ã§ãããããï¼å¤±æãã¥ããï¼
- RNã¯ã¡ãªããããã¡ãªããã大ããã®ã§ãããèããªãã¨æ¡ç¨ãã¥ãã
- Airbnbã¯çµæçã«å»ã£ã¦ãã¾ã£ãããã©ãã©ããªçµç¹ã¨äºæ¥ã«ãããããããªãã®ãªã®ããåãã«èãããã¦ããã
- ã¡ãªããã¯æ大é享åãã¦ããã¡ãªãããå¯è½ãªéãåé¿ãããæåãããã§ããããããªçµç¹ãäºæ¥ã§æ¡ç¨ãããã§ãã
- ããããªããç®æãçµç¹ã»äºæ¥ã®éä¸ã§RNãå½¹ç«ã¦ãããããªã¨ããããã£ããã使ã£ã¦ã¿ã¦ãã ãã
ææ³
ãå ã¨éããªãã¦å¤§é¢¨åæ·ãåºãã¦ãã¾ã£ãããã§ãèªåã®ä¸ã§ã®æè¦ã®ãã©ã³ã¹èª¿æ´ã大å¤ã§ãããéãã¼ããå ã«ä»ä¸ããã®ã§ãããæ°æã¡ããã¬ãã£ãã«ãªã£ã¦ãã¾ãããªããªãå ãã¼ããæ¸ãå§ããããªãã¨ããäºæ ããã£ããã
åã¯RNã®è©±ãããã¨ãã«ä¸çªæãã®ã¯ããªã¼ãã£ã¨ã³ã¹ããReact Nativeã¯éã®å¼¾ä¸¸ã§ãããã¨æã£ã¦ã誤ã£ãã¯ã¯ã¯ã¯ãæã£ã¦å¸°ããã¨ã§ãããã®ãããæ®æ®µããéã®è©±ãå¤ãã«ãããã¨ã«ãã¦ãã¾ããããããã§ããåã¯RNãå«ããªã®ãï¼ãã¨è¨ããããã¨ãããã¾ãããããããªãã®ã§ããéã£ã¦è¨ã£ã¡ãã£ã¦ã¾ãããå®éã«ã¯è§£æ±ºãã¹ã課é¡ãã¡ãªã®ã§ãã課é¡ã解決ããããã®ã³ã¹ããã¡ãªããã«å¯¾ãã¦ãã¡ããã¡ã軽ããªãã°ãéãããæ¡ä»¶ã«ããã¦éã®å¼¾ä¸¸ã£ã½ããã®ã«ãªããã¨ã¯ããã¨æãã¾ããçµå±ã¯çµç¹ã¨äºæ¥ã«ããããããã©ããã§ãã
ã¨ã¯ããå¿é ã°ãããã¦ãã¦ãReact Nativeã®è¯ãã¨ãããä¸ã®ä¸ã«ä¼ãããªããã ããªããã¨ãæã£ã¦ããã®ã§ãä»åã¯æãåã£ã¦å ã®è©±ããã¦ã¿ã¾ãããWebã®äººããã©ã¦ã¶ä¸ã§ã¯ã©ããã£ã¦ãç²å¾ã§ããªãQRã³ã¼ãèªã¿è¾¼ã¿ããè¶ ãµã¯ãã¨ãã£ã¦ã¿ããã¨ãããã¢ãããã ãã§ãããåºãã人ã«ã¯åºãã£ãããããªãã§ããããã
ã¾ãããã¼ã¸ã£ã³ã«ã®ITåå¼·ä¼ã ã£ãã®ã§ããªã¼ãã£ã¨ã³ã¹ã«ã©ã®ç¨åº¦ã®ç¥èãè¦æ±ãããããã®ãã¨ããç¹ã§ãããªãè¿·ãã¾ããããã£ããã¨Reactã¨ããæ¦å¿µãå ã«èª¬æãããã¨ã§ããªãã¨ãJSã«æ®æ®µè§¦ãåã£ã¦ããªã人åãã«ãç解度ãä¸ããããã®ã§ã¯ãªããã¨æãã¾ãã
ä»ã¾ã§RNã®è©±ã¯æ±äº¬ã§ã³ã³ããã¹ãã®è¿ã人ãã¡åãã«åããã¨ãå¤ãã£ãããã§ãããä»åã®è³æä½ãã§æ°æ½åãã®é£æ度調æ´ã¿ãããªã¨ãããåãã£ã¦ããæ°ãããã®ã§ãä»å¾ã¯ããã¡ãã£ã¨çå ã§ãåã£ã¦ã¿ããã§ãã
æ親ä¼
åçãåãå¿ãã¾ãããããã¢ããã·ã¥ã§ããããããã¹ããã¦ããã»ã¨ãã©é£ã¹ã¦ãªãï¼ãã¤ãã®ãã¨ï¼ã
ãã¡ããããä»äºãããã¨å¤ããã ãã©ãRNãããããã¨æãï¼ã¿ãããªè©±ãã¡ãã»ããããã¾ããã
ç·æ¬
主ã«ç¾å°ã®ä¸è¶ããæ°æ½çå ããã®åå è ãå¤ãæãã§ããããé·éãç³å·ããã®åå è ããããä¸è¶å°æ¹ãªãã§ã¯ã®é¡ã¶ãã¨ããæãã®ç¹è²ããã¤ãã³ãã«ãªã£ã¦ããã¨æãã¾ãã
10å¹´åã«ãã®ã¤ãã³ããããã°ç§ã¯æ°æ½å¸ã«ç§»ä½ããªãã£ããããããªããããã®è©±ããã¦ãè©®ç¡ããã¨ãªã®ã§ãããæ¯éè²ã£ã¦ã»ããã¤ãã³ãã§ãã
ä»å¾ã¨ãçºè¡¨ãä¸å¿ã«ãå¿æ´ãã¦ããããã¨æãã¾ãã