狠狠撸
Submit Search
厂驰厂罢贰惭滨勉强会まとめ资料(日记アプリ作成)
Mar 29, 2019
Download as PPTX, PDF
0 likes
191 views
Y
YoshikiWatanabe1
2018年度における株式会社システムアイの勉强会资料の一部です。
Read less
Read more
1 of 19
Download now
Download to read offline
Recommended
Storybook web-and-circleci
Storybook web-and-circleci
Jesse Katsumata
?
Efficiently develop mobile apps with React Native using storybook, react-native-web, and circle ci
骋谤补诲濒别フ?ラク?インを作成してみた
骋谤补诲濒别フ?ラク?インを作成してみた
shinya sakemoto
?
#potatotips 13 での発表資料です。 骋谤补诲濒别フ?ラク?インを作成してみた。
React native vol3
React native vol3
dcubeio
?
Nov. 24, 2016 React Native vol.3 GraphQL & Relay
研修成果フ?レセ?ン资料
研修成果フ?レセ?ン资料
Wataru Yamaura
?
研修成果発表资料
Google PageSpeed Insights 得点向上のための改善 - VASILY フロントエンドインターン 成果報告-
Google PageSpeed Insights 得点向上のための改善 - VASILY フロントエンドインターン 成果報告-
Shizuma Kubo
?
VASILY フロントエンドインターンの成果報告です。 Google PageSpeed Insightsの得点を向上させるためにさまざまな改善策を取りました。
React Nativeて?始めるアフ?リ開発
React Nativeて?始めるアフ?リ開発
Ryosuke Hara
?
简単な搁别补肠迟狈补迟颈惫别の绍介です
搁别补肠迟闯厂の开発导入について
搁别补肠迟闯厂の开発导入について
Riki Kenmochi
?
导入资料です
搁别补肠迟.箩蝉?搁别补肠迟狈补迟颈惫别?搁别诲耻虫入门
搁别补肠迟.箩蝉?搁别补肠迟狈补迟颈惫别?搁别诲耻虫入门
Kazuhiro Yoshimoto
?
https://d-cube.connpass.com/event/49935/ 2017/2/9実施
React Nativeて?Twitterクライアントを作ってみよう
React Nativeて?Twitterクライアントを作ってみよう
dcubeio
?
2016年12月8日に開催した勉強会で使った資料です。 TwitterAPIを使ってTwitterクライアントをReact Nativeで実装することを通して、 コンポーネントの特徴理解やパフォーマンス、ストレージなどについて解説を行います。
react-native.pdf
react-native.pdf
DaikiSato10
?
个人开発尝罢で発表したスライド
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
2018年12月7日(金)に開催された「GrapeCity Web TECH FORUM 2018」より、グレープシティ株式会社 ツール事業部 プロダクトマーケティングマネージャー 村上功光のセッション資料です。
UnicastWS vol.2
UnicastWS vol.2
Unicast Inc.
?
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
?
フレームワークを利用したシングルページアプリケーションの制御 GMOインターネット次世代システム研究室の勉強会発表資料。 2015年12月作成。 案件対応期間は2015年4月-8月。
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
yuichi kubota
?
自社プロダクト開発でReact Nativeは導入できるのか?社内勉強会で発表した資料。
スマートフォンアプリケーション开発の最新动向
スマートフォンアプリケーション开発の最新动向
Tsutomu Ogasawara
?
某社勉强会で発表した内容。一部伏せ字にしてあります。
搁耻产测プログラミング教育に対する取り组みと事例绍介
搁耻产测プログラミング教育に対する取り组みと事例绍介
Yasushi Ishikawa
?
2014年10月8日に开催した搁耻产测アソシエーションヒ?シ?ネスセミナーでの讲演资料です。
Rails composerでrails newを楽にしよう
Rails composerでrails newを楽にしよう
健太 田上
?
rails newをするときに自動で環境構築してくるテンプレート機能を利用してみましょう。
GraphQL with React
GraphQL with React
Taketoshi 青野健利
?
搁别补肠迟?搁别诲耻虫で骋谤补辫丑蚕尝を扱う
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
オープンソースカンファレンス2012TokyoFall 笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
Kanako Kobayashi
?
Swiftビギナーズ勉強会第四回で発表させていただいたスライドです。 タフ?ハ?ーを作る過程で学べる 「AppDelegate」と「AS演算子」についてまとめています。
デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会
Takeaki Tada
?
2013年2月14日のデベロッパーズサミットのコミュニティ尝罢で使用したスライドです。
2018年度新入社员研修実绩绍介
2018年度新入社员研修実绩绍介
CASAREAL, Inc.
?
2018年8月24日にカサレアルで开催したフリーセミナー用の発表资料です。
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
MasashiOtsuka1
?
2022/3/3に開催された SAP Inside Track Tokyo 2022 での登壇資料です。
Testing react-native with storybook on web
Testing react-native with storybook on web
Jesse Katsumata
?
Testing react-native with storybook on web
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
2018年度における株式会社システムアイの勉强会の资料の一部です。
础苍诲谤辞颈诲プログラミング入门
础苍诲谤辞颈诲プログラミング入门
OESF Education
?
OESF公認 础苍诲谤辞颈诲プログラミング入门 公式トレーニングテキスト Contributed by: 【作成】株式会社リーディング?エッジ社 【ご注意】 本テキストは、Creative Commons License BY-NC-SA 4.0のもとで提供されます。OESF会員またはコンソーシアムメンバーでない場合、本編の改変の有無にかかわらず、いかなる形態でも商用目的での利用は禁止されています。
奥别产エンジニアによるスマートフォンアプリ开発
奥别产エンジニアによるスマートフォンアプリ开発
takeuchi-tk
?
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
?
More Related Content
Similar to 厂驰厂罢贰惭滨勉强会まとめ资料(日记アプリ作成)
(20)
React Nativeて?Twitterクライアントを作ってみよう
React Nativeて?Twitterクライアントを作ってみよう
dcubeio
?
2016年12月8日に開催した勉強会で使った資料です。 TwitterAPIを使ってTwitterクライアントをReact Nativeで実装することを通して、 コンポーネントの特徴理解やパフォーマンス、ストレージなどについて解説を行います。
react-native.pdf
react-native.pdf
DaikiSato10
?
个人开発尝罢で発表したスライド
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
2018年12月7日(金)に開催された「GrapeCity Web TECH FORUM 2018」より、グレープシティ株式会社 ツール事業部 プロダクトマーケティングマネージャー 村上功光のセッション資料です。
UnicastWS vol.2
UnicastWS vol.2
Unicast Inc.
?
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
?
フレームワークを利用したシングルページアプリケーションの制御 GMOインターネット次世代システム研究室の勉強会発表資料。 2015年12月作成。 案件対応期間は2015年4月-8月。
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
yuichi kubota
?
自社プロダクト開発でReact Nativeは導入できるのか?社内勉強会で発表した資料。
スマートフォンアプリケーション开発の最新动向
スマートフォンアプリケーション开発の最新动向
Tsutomu Ogasawara
?
某社勉强会で発表した内容。一部伏せ字にしてあります。
搁耻产测プログラミング教育に対する取り组みと事例绍介
搁耻产测プログラミング教育に対する取り组みと事例绍介
Yasushi Ishikawa
?
2014年10月8日に开催した搁耻产测アソシエーションヒ?シ?ネスセミナーでの讲演资料です。
Rails composerでrails newを楽にしよう
Rails composerでrails newを楽にしよう
健太 田上
?
rails newをするときに自動で環境構築してくるテンプレート機能を利用してみましょう。
GraphQL with React
GraphQL with React
Taketoshi 青野健利
?
搁别补肠迟?搁别诲耻虫で骋谤补辫丑蚕尝を扱う
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
オープンソースカンファレンス2012TokyoFall 笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
Kanako Kobayashi
?
Swiftビギナーズ勉強会第四回で発表させていただいたスライドです。 タフ?ハ?ーを作る過程で学べる 「AppDelegate」と「AS演算子」についてまとめています。
デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会
Takeaki Tada
?
2013年2月14日のデベロッパーズサミットのコミュニティ尝罢で使用したスライドです。
2018年度新入社员研修実绩绍介
2018年度新入社员研修実绩绍介
CASAREAL, Inc.
?
2018年8月24日にカサレアルで开催したフリーセミナー用の発表资料です。
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
MasashiOtsuka1
?
2022/3/3に開催された SAP Inside Track Tokyo 2022 での登壇資料です。
Testing react-native with storybook on web
Testing react-native with storybook on web
Jesse Katsumata
?
Testing react-native with storybook on web
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
2018年度における株式会社システムアイの勉强会の资料の一部です。
础苍诲谤辞颈诲プログラミング入门
础苍诲谤辞颈诲プログラミング入门
OESF Education
?
OESF公認 础苍诲谤辞颈诲プログラミング入门 公式トレーニングテキスト Contributed by: 【作成】株式会社リーディング?エッジ社 【ご注意】 本テキストは、Creative Commons License BY-NC-SA 4.0のもとで提供されます。OESF会員またはコンソーシアムメンバーでない場合、本編の改変の有無にかかわらず、いかなる形態でも商用目的での利用は禁止されています。
奥别产エンジニアによるスマートフォンアプリ开発
奥别产エンジニアによるスマートフォンアプリ开発
takeuchi-tk
?
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
?
React Nativeて?Twitterクライアントを作ってみよう
React Nativeて?Twitterクライアントを作ってみよう
dcubeio
?
react-native.pdf
react-native.pdf
DaikiSato10
?
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
UnicastWS vol.2
UnicastWS vol.2
Unicast Inc.
?
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
?
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
yuichi kubota
?
スマートフォンアプリケーション开発の最新动向
スマートフォンアプリケーション开発の最新动向
Tsutomu Ogasawara
?
搁耻产测プログラミング教育に対する取り组みと事例绍介
搁耻产测プログラミング教育に対する取り组みと事例绍介
Yasushi Ishikawa
?
Rails composerでrails newを楽にしよう
Rails composerでrails newを楽にしよう
健太 田上
?
GraphQL with React
GraphQL with React
Taketoshi 青野健利
?
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
swiftビギナーズ倶楽部:タフ?ハ?ーから学ふ? 「App delegate」と「as演算子」
Kanako Kobayashi
?
デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会
Takeaki Tada
?
2018年度新入社员研修実绩绍介
2018年度新入社员研修実绩绍介
CASAREAL, Inc.
?
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
MasashiOtsuka1
?
Testing react-native with storybook on web
Testing react-native with storybook on web
Jesse Katsumata
?
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
础苍诲谤辞颈诲プログラミング入门
础苍诲谤辞颈诲プログラミング入门
OESF Education
?
奥别产エンジニアによるスマートフォンアプリ开発
奥别产エンジニアによるスマートフォンアプリ开発
takeuchi-tk
?
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
?
厂驰厂罢贰惭滨勉强会まとめ资料(日记アプリ作成)
1.
勉強会まとめ資料 株式会社システムアイ 日記アプリの作成
2.
前書き 【概要】 このスライドでは、ReactNativeの独学で勉強して結果を整理し、簡単な日記アプリを作成していきます。 ReactNativeはReactベースでスマホアプリを作成可能なフレームワークです。 JavaScriptとReactの知識があれば作成可能なため、Reactの知識があれば学習コストが少なくてすみます。 【対象者】 このスライドはプログラミングの経験はあるが、ReactNativeの経験がない人が対象者になります。 【サンプルソース】 サンプルソースはGitHubに公開しています。 https://github.com/2018SYSTEMI34/sample_source/tree/master/react-native/sample- app/dairy
3.
目次 1. 日記アプリ概要 2. プロジェクト作成 3.
日記アプリ実装 4. まとめ
4.
1-1.日記アプリ概要 【日記アプリの画面構成】 ホーム 登録 【ホーム画面】 日記 日記 日記 【更新画面】 【登録画面】 ホーム 登録 【ホーム画面】 日記を一覧表示する画面です。 【更新画面】 日記の内容を更新する画面です。 【登録画面】 日記の内容を新規登録する画面です。 以上、3つの画面を作成していきます。
5.
1-2.日記アプリ概要 【日記アプリのデータベース】 このアプリではSQLliteというアプリに組み込むRDBを使用して、データを保存していきます。 【テーブル構成】 物理名 概要 id primary
key date 日記の記入日 titile 日記のタイトル body 日記の内容
6.
2-1.プロジェクト作成 npm install –g
expo-cli yarn add –global expo-cli 【前提事項】 Node.jsがインストールされ、npmまたはyarnのパッケージマネージャがある前提です。 このサンプルアプリでは、Expoと言われる開発/build環境を導入して、 ReactNativeのスマホアプリを開発していきます。 【Expo導入コマンド】 npmまたはyarnコマンドからexpoを導入してください。
7.
2-2.プロジェクト作成 expo init dairy tabs
// tabsを選択してください cd dairy 【Expoコマンドでプロジェクト作成】 以下のコマンドでプロジェクトを作成してください。 プロジェクトの作成するときにtabsとblankを選択可能です。 今回はtabsを選択して、Navigationのサンプルソースを改修しながらアプリを作成してきます。
8.
2-3.プロジェクト作成 expo start 【プロジェクト起動&初期画面の表示】 以下のコマンドでプロジェクトを起動して、QRコードが表示されれば成功です。 【スマートフォンでアプリ起動】 Expoの機能を利用する場合、expoの会員登録とスマートフォンののアプリインストールが必要です。 以下のURLにアクセスして、expoの会員登録をお願いいたします。 https://expo.io/login
9.
2-4.プロジェクト作成 【Expoの利点】 ReactNativeのアプリは、Expoを利用する以外にも方法がありますが、Expoを使用するメリットは以下になります。 ?実機でのテストがQRを読み込むことですぐにできる。 ?SQLLiteなど様々なモジュールが最初からインストールされているため、手間が少ない。 日記アプリのような簡単なアプリは最小の労力で作成可能なため、 特殊な要件がなければExpoで機能を十分に表現できます。
10.
3-1.日記アプリ実装 【日記アプリのプログラム一覧】 この日記アプリで修正もしくは新規で作成するプログラムファイルを一覧化します。 dairy/ ┝navigation/ ┝ MainTabNavigator.js ┝ screens/ ┝
HomeScreen.js ┝ RegistrationScreen.js ┝ UpdateScreen.js 修正 新規作成 新規作成 新規作成
11.
3-2.日記アプリ実装 【 MainTabNavigator.js 】 このプログラムはアプリ下部に表示されるツールバーを作成しています。 import
{ createStackNavigator, createBottomTabNavigator } from 'react-navigation’; import HomeScreen from '../screens/HomeScreen’; import RegistrationScreen from '../screens/RegistrationScreen’; import UpdateScreen from '../screens/UpdateScreen’; /** * ホーム画面の読み込み */ const HomeStack = createStackNavigator({ Update: UpdateScreen, Home: HomeScreen },{ initialRouteName: 'Home', mode:'card' }); HomeStack.navigationOptions = { tabBarLabel: 'ホーム', }; /** * 登録画面の読み込み */ const RegisrationStack = createStackNavigator({ Settings: RegistrationScreen, }); RegisrationStack.navigationOptions = { tabBarLabel: '登録', }; /** * Tab Navigation 管理部品 */ export default createBottomTabNavigator( { HomeStack, RegisrationStack, }, { initialRouteName: 'HomeStack’ } ); このアプリではreact-navigationを使用して、画面遷移を実現しています。 ポイント ポイント
12.
3-3.日記アプリ実装 【 MainTabNavigator.js のポイント】 const
HomeStack = createStackNavigator({ Update: UpdateScreen, Home: HomeScreen },{ initialRouteName: 'Home', mode:'card' }); React-navigationでは、stackを作成することで、react-navigation上で画面遷移をさせることが 可能になります。 i** * Tab Navigation 管理部品 */ export default createBottomTabNavigator( { HomeStack, RegisrationStack, }, { initialRouteName: 'HomeStack’ } ); React-navigationでは、作成したstackを用いてツールバーを作成していきます。 Stackを指定した数だけメニューができていきます。 このような形で表示されます。
13.
3-4.日記アプリ実装 【 HomeScreen.js 】 このプログラムは日記を一覧化して表示します。 ソースコードが長いため、GitHubを参照してください。 https://github.com/2018SYSTEMI34/sample_source/blob/master/react-native/sample- app/dairy/screens/HomeScreen.js
14.
3-5.日記アプリ実装 【HomeScreen.jsのポイント 】 SQLliteのデータベースを定義しています。 画面表示するときに日記のレコードをすべて取得します。 const db
= SQLite.openDatabase('dairy.db'); componentDidMount = () => { // タブ押下ごとにイベント発生させる this.props.navigation.addListener('didFocus', () => this._didFocus()); } /** * タブ押下時のイベント定義 */ _didFocus = () => { this.selectAllDaireies() } // 日記の件数を全件取得 selectAllDaireies = () => { db.transaction( tx => { tx.executeSql('select * from dairies order by date desc;', [], (_, { rows }) => { this.setState({list:rows._array}) }); } ) }
15.
3-6.日記アプリ実装 【HomeScreen.js のポイント】 React native
の標準機能Flatlistを用いて、日記を一覧化しています。 render() { return( <View style = {style.container}> <FlatList data={this.state.list} style={style.flatList} keyExtractor={(item,index) => (item.id)} renderItem={({item}) => this.flatListRenderItem(item)}/> </View> ) } <TouchableOpacity onPress={() => this.props.navigation.navigate('Update',{item})}> <View style={style.line}> <View style={style.date}> <Text style={style.text}>{date.getFullYear()}</Text> <Text style={style.text}>{date.getMonth()+1}/{date.getDate()}</Text> </View> <View style={style.title}> <Text style={style.titileText}>{item.title}</Text> </View> </View> </TouchableOpacity> TouchableOpacity は画面タッチ時に何らかのアクションをさせるコンポーネントです。 この場合、タッチ時にnavigateの関数を使用して画面を遷移させています。 FlatList TouchableOpacity
16.
3-7.日記アプリ実装 【 RegistrationScreen.js 】 このプログラムは日記をデータベースに登録します。 ソースコードが長いため、GitHubを参照してください。 https://github.com/2018SYSTEMI34/sample_source/blob/master/react-native/sample- app/dairy/screens/RegistrationScreen.js
17.
3-8.日記アプリ実装 【 RegistrationScreen.jsのポイント 】 画面表示時に日記のテーブルを作成しています。 //
テーブルの作成 componentDidMount() { db.transaction( tx => { tx.executeSql( 'create table if not exists dairies (id integer primary key autoincrement not null, date numeric, title text, body text);’ ); } ); } <DateTimePicker isVisible={this.state.isDateTimePickerVisible} onConfirm={this.handleDatePicked} onCancel={this.hideDateTimePicker} /> DatePickerの部品はReact標準のものは使いにくいため、外部のモジュールをインストールして使用しています。 react-native-modal-datetime-pickerをnpmまたはyarnでインストールしてくだい。
18.
3-9.日記アプリ実装 【 UpdateScreen.js 】 このプログラムは日記を更新します。 ソースコードが長いため、GitHubを参照してください。 https://github.com/2018SYSTEMI34/sample_source/blob/master/react-native/sample- app/dairy/screens/UpdateScreen.js このソースコードはほぼRegistraionScreen.jsと同じため説明は省略します。
19.
まとめ 【まとめ】 ReactNativeでのアプリ作成の強みはiosとandroidの両方で動くことが強みとされています。 しかし、ReactNativeの標準コンポーネントはandroidでしか動作しない部品などが存在しています。 今回の日記アプリなど簡単なものならよいのですが、複雑なものになるとかゆいところに手が届かない状態です。 また、ReactNativeでは個人が作ったようなコンポーネントが多数を占めていて、開発の効率化させる場合、 このような部品をいれなければならないケースが存在します。 そういった意味でも、業務で使用する場合はReactNativeを使用する難しさは感じました