Share
Embed
Enabling team development of a secret React Native app that has been in operation for four years.
Shinnosuke Yamamoto
October 02, 2021
Transcript
29 slides
-
ࣗݾհ • ͱΒ͍(@mrtry) • Yamamoto Shinnosuke • גࣜձࣾJMDC (tech lead)
• v0.56.0͙Β͍͔Β৮ͬͯΔ -
ࡉԽ͞Εͯͳ͍ Component 😇 σΟϨΫτϦʹ͍ͬͺ͍ ࠶ར༻͋·Γ͞Εͯͳ͍ ap p !"" component
s # !"" AnimatedProgressCircle.j s # !"" AnnounceItemView.j s # !"" BarChart.j s # !"" CaloriePieChartPanelView.j s # !"" CarouselView.j s # !"" Chart.j s # !"" ChartTabBar.j s # !"" ChartView.j s # !"" DailyRecordBloodGlucoseView.j s # !"" DailyRecordBloodPressureView.j s # !"" DailyRecordBodyFatPercentageView.j s # !"" DailyRecordBodyTemperatureView.j s # !"" DailyRecordHeartRateView.j s # !"" DailyRecordHistoryView.j s # !"" DailyRecordListItemView.j s # !"" DailyRecordMealView.j s # !"" DailyRecordSleepView.j s # !"" DailyRecordWaistView.j s # !"" DailyRecordWeightView.j s # !"" DateInputTable.j s # !"" DateSpecificationBar.j s # !"" GoalWeightBar.j s # !"" HealthNewsItemView.j s # !"" InputButtonView.j s # !"" InputFooter.j s # !"" InputTable.j s # !"" KeyboardSpace.j s # !"" LineChart.j s # !"" LoginFormTable.j s # !"" MainTabBar.j s # !"" MealGridImageView.j s # !"" MealInputImageView.j s # !"" MealSectionHeader.j s # !"" MyDataTabBar.j s # !"" PepUpDatePicker.android.j s # !"" PepUpDatePicker.ios.j s # !"" PepUpDatePickerProps.j s # !"" PepUpSituationPicker.android.j s # !"" PepUpSituationPicker.ios.j s # !"" PickerInputTable.j s # !"" PieChartPanel.j s # !"" ProgressCircle.j s # !"" SleepBarChart.j s # !"" SortableListItem.j s # !"" StepPieChartPanelView.j s # !"" SummaryPanel.j s # !"" SummaryView.j s # !"" TextInputForTcomb.j s # %"" ValidateFormComponent.j s !"" container s # !"" DailyRecordChartSelectionScreen.j s # !"" DailyRecordDetailScreen.j s # !"" DailyRecordIconsView.j s # !"" DailyRecordInputScreen.j s # !"" DailyRecordMealDetailScreen.j s # !"" DailyRecordMealScreen.j s # !"" DailyRecordPreferenceScreen.j s # !"" GoalPreferenceScreen.j s # !"" HomeScreen.j s # !"" IndicatorView.j s # !"" InputStackNavigatorScreen.j s # !"" LicenseScreen.j s # !"" LoginIDConfigScreen.j s # !"" LoginScreen.j s # !"" MainTabNavigatorScreen.j s # !"" MealCamera.j s # !"" MealCameraRoll.j s # !"" MealEditScreen.j s # !"" MealInputScreen.j s # !"" MealPhotoTabNavigatorScreen.j s # !"" MedicineNotebookConfigScreen.j s # !"" MyDataDailyRecordScreen.j s # !"" MyDataMedicineHistoryScreen.j s # !"" MyDataMedicineNotebookScreen.j s # !"" MyDataTabNavigatorScreen.j s # !"" NotificationConfScreen.j s # !"" OtherMenusScreen.j s # !"" PasswordConfigScreen.j s # !"" PepUpRootNavigatorScreen.j s # !"" PepUpStackNavigatorScreen.j s # !"" PepUpWebView.j s # !"" ProfileCameraRoll.j s # !"" ProfileScreen.j s # !"" QrCameraScreen.j s # !"" SetupLocaleScreen.j s # !"" StartScreen.j s # !"" TermsOfUseView.j s # %"" TwoFactorAuthenticationScreen.js -
sr c !"" asset s !"" component s # !""
legac y # !"" atom s # !"" molecule s # !"" organism s # !"" template s # %"" page s !"" domain s # !"" common s # !"" object s # %"" service s !"" locale s !"" routes %"" store s !"" action s !"" reducer s !"" statu s %"" storage s ap p !"" action s !"" asset s !"" component s !"" container s !"" cor e !"" locale s !"" model s !"" reducer s !"" saga s %"" storage #FGPSF"GUFS -
sr c !"" asset s !"" component s # !""
legac y # !"" atom s # !"" molecule s # !"" organism s # !"" template s # %"" page s !"" domain s # !"" common s # !"" object s # %"" service s !"" locale s !"" routes %"" store s !"" action s !"" reducer s !"" statu s %"" storage s ap p !"" action s !"" asset s !"" component s !"" container s !"" cor e !"" locale s !"" model s !"" reducer s !"" saga s %"" storage Atomic DesignతʹࡉԽ -
Α͔ͬͨ͜ͱ🥳 • Fat Component͕ੜ·Εʹ͘͘ͳͬͨ • Atomic Designʹैͬͯ৽ن࣮ / ϦϑΝΫλ͢Δલఏ •
Componentͷʮ͍·Θ͠߹͍ʯ͕Θ͔Γ͘͢ͳͬͨ • ൚༻త UI Component: atoms / molecules • ઐ༻త UI Component: organisms / templates / pages -
FlowType to TypeScript 1. σΟϨΫτϦઓུΛݟͨ͠ • 1σΟϨΫτϦ͋ͨΓͷϑΝΠϧ͕ଟ͗͢ΔͱɺTSԽͨ࣌͠ʹࠩΛݟ͖Εͳ͍ 2. zxbodya/ fl
owts Λͬͯɺͻͱ·ͣશ෦ίʔυTSԽͨ͠ • babelͷTSԽPRͰΘΕ͍ͯΔ • FlowTypeͰ͔ͬ͠Γܕఆٛͯͨ͠ͱ͜Ζɺ͖ͪΜͱܕ͍ͭͨ 3. खಈͰίϯύΠϧΤϥʔΛ௵͍ͯ͘͠ • ܕ͚͍ͯ͠Δͷ͕গͳ͔ͬͨͷͰɺnull / unde fi ned ͷෆ߹͕͍ͬͺ͍Ͱͨ -
ಋೖͨ͠ͷ • Bugsnag • JavaScript͚ • ը໘ભҠͷཤྺऔͬͯ͘ΕΔͷͰศར • (Web frontʹ߹ΘͤͯೖΕ͕ͨɺSentryͷ΄͏͕ྑ͍ͱࢥ͏)
• Firebase Crashlytics • ωΠςΟϒ͚ • JSͷϩάऔΕΔ͕͋·Γ͑ͳ͍ͷͰɺωΠςΟϒ༻ͱͯ͠Δ