SlideShare a Scribd company logo
React Nativeで
開発するマルチプラットフォームアプリ
Masayuki Iwai @myb
#iosdcrc
+Redux
React Nativeで
開発するマルチプラットフォームアプリ
Masayuki Iwai @myb
#iosdcrc
自己紹介
岩井雅幸 @myb



モバイル・アプリケーション・エンジニア

@Unity Technologies Japan

それ以前はWebデザイン・開発、Flashコン
テンツ制作、iOSアプリ、ゲーム制作など
著書に「uGUIではじめる Unity UIデザイン
の教科書」
React Native
Unity Meetup
• Unityユーザーのためのイベント

アプリ(フルReact Native)
• 既存のUnity県人会議という

イベント情報サイトがベース
• 2016年10月iOS/Androidリリース
• 設計〜プロトタイプ制作約2ヶ月、

iOS実装+サーバーAPIで約3ヶ月、

Android実装+デバッグで約1ヶ月
React Native
採用のモチベーション
時は2016年初頭…
• マルチプラットフォーム📱(iOS/Android)
• ネイティブのパフォーマンス、気持ちいい操作感⚡
• 開発は少人数(実質1人#)
イベントアプリ(Unity Meetup)の制作にあたって
フレームワークを検討…
Cordova、Titaniumなども検討

(もちろんUnityも)
• Cordova - やはりWebViewベースなので…
• Titanium - 以前流行ってたけど、オワコン感ある…
• Unity - オーバースペックな上、UIではネイティブのパフォーマンスは出ない
• /* Xamarin.Formsはこのとき存在を知らなかった😝 */
React Native
• JavaScriptCore上で動作し、ネイティブのビューを生成

→ つまりほぼネイティブ👍
• コードの大半を共有しつつ、各プラットフォーム標準のUIに準拠できる🙌
• Facebook Group Appなどの実績がある💪
• FacebookのOSSで安心感がある💪
• これから流行りそう!😆
ざっくりReact Native
(+Redux)
React
• Facebook製のJavaScriptライブラリ

(🌟77.6k)

https://reactjs.org
• コンポーネントベースでUI(ビュー)を構築
• JSX - スクリプト中にDOMでビューを記述
• propsとstateに基づいてrender関数で
ビューを描画
• propsやstateが変化すると、自動的にビュー
の差分のみが再描画される
import React from 'react'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<div className="container">
<div className="content">
<h1 className="name">
{this.props.name}
</h1>
<p className="label">
{this.state.label}
</p>
</div>
</div>
)
}
}
Redux
• 状態管理のためのJavaScript

ライブラリ(🌟34.6k)

http://redux.js.org
• データの流れを1方向にし、

状態の保持と更新を集約

→ 複雑なアプリケーションの品質と

  メンテナンス性の向上
• Swift界においてもReSwiftとして実装
されるなど、注目のアーキテクチャ
Store
UI

(ビュー)
Action
Reducer
Dispatch
更新
イベント
更新されたState
State

(状態)
React+Redux
• react-redux - ReduxのReactバインディング(公式)

https://github.com/reactjs/react-redux
• Reactはコンポーネントの状態(propsとstate)によってビューを描画する

ので、相性が良い
• Container ComponentとPresentational Component

- Container Component - Reduxと連携する

(StoreからStateを得たり、Actionをdispatchする)

- Presentational Component - 直接Reduxに関与せず、props経由でのみ

データを受け取る(ビューの描画に専念)
React Native
• Reactを用いてネイティブアプリケーションを作成するためのライブラリ

(🌟54.2k)

https://facebook.github.io/react-native/
• iOS/Androidに対応

Microsoft製react-native-windowsでWindows(UWP/WPF)にも対応
• JavaScriptCore上で動作し、ネイティブのビューを生成
• 標準でView、Text、Image、ScrollViewなどのコンポーネントを提供
React Native
import React from 'react'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<div className="container">
<div className="content">
<h1 className="name">
{this.props.name}
</h1>
<p className="label">
{this.state.label}
</p>
</div>
</div>
)
}
}
import React from 'react'
import { ScrollView, View, Text } from 'react-
native'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<ScrollView style={styles.container}>
<View style={styles.content}>
<Text style={styles.name}>
{this.props.name}
</Text>
<Text style={styles.label}>
{this.state.label}
</Text>
</View>
</ScrollView>
)
}
}
React Native

ここが良い!
コンポーネントベースが良い
• コンポーネント単位でテストできる
• 開発が進んで複雑になった部分を

後からでも分離しやすい
• ファイル名でプラットフォームごと
にコンポーネントを読み分けられる

→ (例)Foo.ios.jsとFoo.android.js
import React from 'react'
import { ScrollView, View, Text } from
'react-native'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<ScrollView style={styles.container}>
<View style={styles.content}>
<Text style={styles.name}>
{this.props.name}
</Text>
<Text style={styles.label}>
{this.state.label}
</Text>
</View>
</ScrollView>
)
}
}
コンポーネントベースが良い
• コンポーネント単位でテストできる
• 開発が進んで複雑になった部分を

後からでも分離しやすい
• ファイル名でプラットフォームごと
にコンポーネントを読み分けられる

→ (例)Foo.ios.jsとFoo.android.js
import React from 'react'
import { ScrollView, View, Text } from
'react-native'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<ScrollView style={styles.container}>
<View style={styles.content}>
<Text style={styles.name}>
{this.props.name}
</Text>
<Text style={styles.label}>
{this.state.label}
</Text>
</View>
</ScrollView>
)
}
}
コンポーネントベースが良い
• コンポーネント単位でテストできる
• 開発が進んで複雑になった部分を

後からでも分離しやすい
• ファイル名でプラットフォームごと
にコンポーネントを読み分けられる

→ (例)Foo.ios.jsとFoo.android.js
import React from 'react'
import { ScrollView } from 'react-native'
import ContentView from 'ContentView'
class App extends React.Component {
state = {
label: 'It works!',
}
render() {
return (
<ScrollView style={styles.container}>
<ContentView
style={styles.content}
name={this.props.name}
label={this.state.label}
/>
</ScrollView>
)
}
}
Flexbox/スタイルシートで思い通りのレイアウト
• React Nativeのビューのレイアウトは

Flexboxに基づく
• Auto Layoutと違い、Web的なアプ
ローチでレスポンシブなデザインが可
能
• ビューの属性はスタイルシートで記述

- レイアウトに関する属性

(flex, width, height, margin etc.)

- 視覚的な属性

(borderWidth, opacity etc.)
Flexbox/スタイルシートで思い通りのレイアウト
• React Nativeのビューのレイアウトは

Flexboxに基づく
• Auto Layoutと違い、Web的なアプ
ローチでレスポンシブなデザインが可
能
• ビューの属性はスタイルシートで記述

- レイアウトに関する属性

(flex, width, height, margin etc.)

- 視覚的な属性

(borderWidth, opacity etc.)
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#f5fcff',
},
label: {
fontSize: 30,
fontWeight: 'bold',
color: '#262729',
},
box: {
justifyContent: 'center',
alignItems: 'center',
width: 100,
height: 100,
backgroundColor: '#f1f3f4',
},
});
デバッグもしやすい
• 再ビルド不要で⌘+Rでjsbundleをリロードできるので(ブラウザ感覚)、

トライ&エラーが楽😄

※デバッグビルド
• Chrome上で動くReact Native Debuggerが付属

→ ブレイクポイントも張れるし、スタックトレースも見られる
• redux-loggerを使うと、Actionによって変更される前後のStateを見られる
React Native対応のパッケージもたくさん
• 豊富なJavaScriptライブラリを利用できる - moment、numeral etc.
• 標準で提供されていない機能でも、ググると大抵パッケージがある

→ SFSafariViewController、iBeacon、Firebase etc.
• なくても、ネイティブモジュールを簡単に作れる

→ 最近react-native-safe-areaというモジュールを作った

https://github.com/miyabi/react-native-safe-area
• コンポーネントベース
• 思い通りのレイアウト
• デバッグしやすい
• パッケージもたくさん
つまり、React Nativeなら
動くものを早く作れる!😆
React Native

ここがツライ…!
JavaScriptゆえのつらみ
• 型のない世界

- とはいえTypeScriptやFlowがある

- jsファイルのままアノテーションを追加できて

静的にチェックできるFlowがいい感じ

- バージョンの組み合わせによってエラーに

なったりならなかったりすることも…
• 自由度が高すぎていろんなスタイルで書け
ちゃう

- 開発メンバーが増えたときが心配

- Airbnbが公開しているスタイルガイドを

ベースにeslintを設定

https://github.com/airbnb/javascript
import React from 'react'
import { ScrollView } from 'react-native'
import ContentView from 'ContentView'
class App extends React.Component {
state = {
label: 10000,
}
render() {
return (
<ScrollView style={styles.container}>
<ContentView
style={styles.content}
name={this.props.name}
label={this.state.label}
/>
</ScrollView>
)
}
}
JavaScriptゆえのつらみ
• 型のない世界

- とはいえTypeScriptやFlowがある

- jsファイルのままアノテーションを追加できて

静的にチェックできるFlowがいい感じ

- バージョンの組み合わせによってエラーに

なったりならなかったりすることも…
• 自由度が高すぎていろんなスタイルで書け
ちゃう

- 開発メンバーが増えたときが心配

- Airbnbが公開しているスタイルガイドを

ベースにeslintを設定

https://github.com/airbnb/javascript
import React from 'react'
import { ScrollView } from 'react-native'
import ContentView from 'ContentView'
type Props = {
name: string, // string(nullやundefinedは許可されない)
};
type State = {
label: ?string, // string(null許可)
};
class App extends React.Component<Props, State> {
state = {
label: 10000, // ERROR!!
}
render(): React.Node {
return (
<ScrollView style={styles.container}>
<ContentView
style={styles.content}
name={this.props.name}
label={this.state.label}
/>
</ScrollView>
)
}
}
バージョンアップが早い
そのうえ変更も多い
• この1年半でも、0.26.0 → 0.49.1(2017年10月現在最新)
• 大体のマイナーバージョンアップはBreaking Changesを含んでいる

- 使っているパッケージによってはビルドエラーになることもあるので、

直したりPR送ったり…

- そのままメンテナンスされずに放置されるパッケージももちろんある…
主要なコンポーネントが結構deprecatedになる
• Navigator - 0.44.3でdeprecated😢

- NavigatorIOSは残っているがAndroidで使えない

- 公式でもreact-navigation(react-community)やnative-navigation
(Airbnb)を推奨
• ListView - 0.48.0でdeprecated😢

- FlatList、SectionListに移行
• MapView - 0.44.3でdeprecated😢

- react-native-maps(Airbnb)推奨
良くも悪くも

Facebookに依存している
• 少し前にApache Software FoundationがFacebookプロジェクトを

使用禁止にして話題になっていた

- ライセンスの条項が問題になっていたが、先日あらためてMITライセンスにすると

発表されてひと安心😌

https://code.facebook.com/posts/300798627056246
まとめ
React Native(+Redux)
• 小規模なプロダクトあるいはチームでのマルチプラットフォームアプリ開発に
最適😆
• 短期間で動くものが作れる - プロトタイプ制作にも😄
• 規模が大きくなってもスケールはする😎
• が…色々とつらみが出てくる😢
• つらみを乗り越えて頑張るぞい!👊
Thank you.

More Related Content

Similar to React Nativeで開発するマルチプラットフォームアプリ

React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話
GIG inc.
 
React Native 入門
React Native 入門React Native 入門
React Native 入門
Seiichi Okumiya
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Imamura Masayuki
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
Fumiya Sakai
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
 
React Nativeってどうなの?
React Nativeってどうなの?React Nativeってどうなの?
React Nativeってどうなの?
Ryosuke Hara
 
Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
kmiyako
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
Takashi Okamoto
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
Unity Technologies Japan K.K.
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Shotaro Suzuki
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
日本マイクロソフト株式会社
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
Ryosuke Hara
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発Kazuki Nakajima
 
LT発表資料
LT発表資料LT発表資料
LT発表資料
murajun1978
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDCNobuhiro Sue
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介Shotaro Suzuki
 
Firefoxosハンズオン
FirefoxosハンズオンFirefoxosハンズオン
Firefoxosハンズオン
Kazutoshi Kashimoto
 

Similar to React Nativeで開発するマルチプラットフォームアプリ (20)

React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話
 
React Native 入門
React Native 入門React Native 入門
React Native 入門
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
React Nativeってどうなの?
React Nativeってどうなの?React Nativeってどうなの?
React Nativeってどうなの?
 
Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
 
LT発表資料
LT発表資料LT発表資料
LT発表資料
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 
Firefoxosハンズオン
FirefoxosハンズオンFirefoxosハンズオン
Firefoxosハンズオン
 

Recently uploaded

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 

Recently uploaded (10)

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 

React Nativeで開発するマルチプラットフォームアプリ