狠狠撸

狠狠撸Share a Scribd company logo
CodePushとReact Nativeで
緊急OTAリリース!了解!?
Masayuki Iwai@myb
#iosdc
CodePushとReact Nativeで
緊急OTAリリース!了解!?
Masayuki Iwai@myb
#iosdc
ホットパッチング
自己紹介
岩井雅幸@myb?
?
モバイル?アプリケーション?エンジニア?
at Unity Technologies Japan?
以前はWebデザイン?開発、Flashコンテ
ンツ制作、iOSアプリ、ゲーム制作など
著書に「uGUIではじめるUnityUIデザイン
の教科書」
自己紹介
岩井雅幸@myb?
?
モバイル?アプリケーション?エンジニア?
at Unity Technologies Japan?
以前はWebデザイン?開発、Flashコンテ
ンツ制作、iOSアプリ、ゲーム制作など
著書に「uGUIではじめるUnityUIデザイン
の教科書」
?
こんなアプリを作っています
Unity Meetup
? Unityユーザーのためのイベントアプリ?
イベント検索、タイムテーブル、参加申し?
込み、チェックイン、アンケート回答機能
? フルReact Native?
導入の経緯は昨年のiOSDC 2017 Reject Conf
での発表を参照?
/MasayukiIwai/
react-native-110226150
トラブルが…
2018年5月
Unite Tokyo 2018での出来事
Unite Tokyo 2018での出来事
? 毎年開催しているUnity公式のカンファレンス
? 今年は5月に3日間開催、2000人以上参加
? このイベントに合わせてチャット機能を実装
? 海外チームが開発しているAPIを利用する必要があり、?
連携を依頼していたがギリギリになってしまった
? 前バージョンでパフォーマンスが悪かったのでリファクタリング
Unite Tokyo 2018での出来事
? イベント3日前に新バージョン完成、申請→翌朝審査通過?
? イベント前日の夜、新機能の表示系バグを発見、修正→翌未明審査通過?
? イベント初日の夜、重大なバグを発見?
→特急審査を依頼して4時間で審査通過?
正直しんどかった?
CodePushを導入していれば
ホットパッチングできたのに…
なんで導入して
いなかったのか…?
なんで導入していなかったのか…?
? なんか面倒そうだったので後回しにしていた
? Appleの審査が十分早かったのであまり必要性を感じていなかった
后悔先に立たず
时すでにお?
What is CodePush?
の前に
ざっくりReact Native
ざっくりReact Native
? Reactベースでネイティブアプリ開発のためのフレームワーク
? React由来のコンポーネントベースで、reduxとも親和性が高い
? JavaScript(JSX)で記述、JavaScriptCore上で動作
https://facebook.github.io/react-native/
ざっくりReact Native
UIKitなど
React Native Library
JavaScriptCore
React JS
アプリケーションコード React Native JS Library
ざっくりReact Native
UIKitなど
React Native Library
JavaScriptCore
React JS
アプリケーションコード React Native JS Library
jsbundle
What is CodePush?
What is CodePush?
? Microsoft製のクラウドサービス
? React NativeやCordovaのJSコードをホットパッチング可能
? ウェブ、SDK、CLIが提供されている
? 以前は独立したサービス?
→現在はVisual Studio App Centerに統合
https://github.com/Microsoft/code-push
What is CodePush?
UIKitなど
React Native Library
JavaScriptCore
React JS
アプリケーションコード React Native JS Library
jsbundle
ここの部分
を配信?
Visual Studio App Center
? CodePushの他にも?
CI、テスト、Analytics、
Push通知など多機能
? 無料から利用可能?
(ビルド回数や時間に制限有)
? CodePushは無料で無制限に
利用可能
https://appcenter.ms
Visual Studio App Center
? CodePushの他にも?
CI、テスト、Analytics、
Push通知など多機能
? 無料から利用可能?
(ビルド回数や時間に制限有)
? CodePushは無料で無制限に
利用可能
https://appcenter.ms
Fantastic?
でも…
ホットパッチングって
大丈夫なの??
終わりなきリジェクト
との戦い?
Appleのガイドラインを?
振り返る
Appleのガイドラインを振り返る
2.7 Apps that download code in any way or form will be rejected
2.8 Apps that install or launch other executable code will be
rejected
App Store Review Guidelines (2015)
Appleのガイドラインを振り返る
2.7 Apps that download code in any way or form will be rejected
2.8 Apps that install or launch other executable code will be
rejected
App Store Review Guidelines (2015)
Appleのガイドラインを振り返る
2.5.2 Apps should be self-contained in their bundles, and may
not read or write data outside the designated container area,
nor may they download, install, or execute code which
introduces or changes features or functionality of the app,
including other apps. (抜粋)
App Store Review Guidelines (2016)
Appleのガイドラインを振り返る
2.5.2 Apps should be self-contained in their bundles, and may
not read or write data outside the designated container area,
nor may they download, install, or execute code which
introduces or changes features or functionality of the app,
including other apps. (抜粋)
App Store Review Guidelines (2016)
Appleのガイドラインを振り返る
3.3.2 An Application may not download or install executable code.
Interpreted code may only be used in an Application if all scripts,
code and interpreters are packaged in the Application and not
downloaded. The only exception to the foregoing is scripts and code
downloaded and run by Apple's built-in WebKit framework or
JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or
functionality that are inconsistent with the intended and advertised
purpose of the Application as submitted to the App Store.
Apple Developer Program License Agreement (2016)
Appleのガイドラインを振り返る
3.3.2 An Application may not download or install executable code.
Interpreted code may only be used in an Application if all scripts,
code and interpreters are packaged in the Application and not
downloaded. The only exception to the foregoing is scripts and code
downloaded and run by Apple's built-in WebKit framework or
JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or
functionality that are inconsistent with the intended and advertised
purpose of the Application as submitted to the App Store.
Apple Developer Program License Agreement (2016)
Appleのガイドラインを振り返る
3.3.2 An Application may not download or install executable code.
Interpreted code may only be used in an Application if all scripts,
code and interpreters are packaged in the Application and not
downloaded. The only exception to the foregoing is scripts and code
downloaded and run by Apple's built-in WebKit framework or
JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or
functionality that are inconsistent with the intended and advertised
purpose of the Application as submitted to the App Store.
Apple Developer Program License Agreement (2016)
Appleのガイドラインを振り返る
3.3.2 An Application may not download or install executable code.
Interpreted code may only be used in an Application if all scripts,
code and interpreters are packaged in the Application and not
downloaded. The only exception to the foregoing is scripts and code
downloaded and run by Apple's built-in WebKit framework or
JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or
functionality that are inconsistent with the intended and advertised
purpose of the Application as submitted to the App Store.
Apple Developer Program License Agreement (2016)
Appleのガイドラインを振り返る
? アプリは、機能を変えるようなコードをダウンロード、インストール、?
実行してはならない
? インタープリテッドコードは、すべてのスクリプトがアプリに含まれて?
いる必要がある
? 唯一の例外は、WebKitやJavaScriptCoreによってダウンロード、実行?
される場合のみ
React Nativeは
JavaScriptCore上で
動くので-
現在のAppleのガイドライン
3.3.2 Except as set forth in the next paragraph, an Application may
not download or install executable code. Interpreted code may be
downloaded to an Application but only so long as such code: (a) does
not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or
applications, and (c) does not bypass signing, sandbox, or other
security features of the OS.
Apple Developer Program License Agreement (Current)
現在のAppleのガイドライン
3.3.2 Except as set forth in the next paragraph, an Application may
not download or install executable code. Interpreted code may be
downloaded to an Application but only so long as such code: (a) does
not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or
applications, and (c) does not bypass signing, sandbox, or other
security features of the OS.
Apple Developer Program License Agreement (Current)
現在のAppleのガイドライン
3.3.2 Except as set forth in the next paragraph, an Application may
not download or install executable code. Interpreted code may be
downloaded to an Application but only so long as such code: (a) does
not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or
applications, and (c) does not bypass signing, sandbox, or other
security features of the OS.
Apple Developer Program License Agreement (Current)
現在のAppleのガイドライン
3.3.2 Except as set forth in the next paragraph, an Application may
not download or install executable code. Interpreted code may be
downloaded to an Application but only so long as such code: (a) does
not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or
applications, and (c) does not bypass signing, sandbox, or other
security features of the OS.
Apple Developer Program License Agreement (Current)
現在のAppleのガイドライン
3.3.2 Except as set forth in the next paragraph, an Application may
not download or install executable code. Interpreted code may be
downloaded to an Application but only so long as such code: (a) does
not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or
applications, and (c) does not bypass signing, sandbox, or other
security features of the OS.
Apple Developer Program License Agreement (Current)
現在のAppleのガイドライン
? App Storeに申請されたのと違う機能を提供して、アプリの主目的を?
変えない
? 他のコードやアプリのストアやストアフロントを作成しない
? 署名やサンドボックスその他OSのセキュリティ機能を迂回しない
→以上の条件を満たして入れば、実行可能なコードをダウンロードする?
ことはOK
CodePushによる
ホットパッチングは合法?
用法?用量を守って正しくお使いください
同様のサービスは??
同様のサービスは??
? Rollout.io、JSPatch
→2017年3月、これらを使用していた開発者にAppleから警告?
Apple Developer Program License Agreementと?
App Store Review Guidelinesに抵触
→リジェクト対象に?
https://forums.developer.apple.com/thread/73640
同様のサービスは??
“This includes any code which passes arbitrary parameters to
dynamic methods such as dlopen(), dlsym(), respondsToSelector:,
performSelector:, method_exchangeImplementations(), and
running remote scripts in order to change app behavior or call
SPI, based on the contents of the downloaded script. Even if the
remote resource is not intentionally malicious, it could easily be
hijacked via a Man In The Middle (MiTM) attack, which can pose a
serious security vulnerability to users of your app.”
https://forums.developer.apple.com/thread/73640
同様のサービスは??
“This includes any code which passes arbitrary parameters to
dynamic methods such as dlopen(), dlsym(), respondsToSelector:,
performSelector:, method_exchangeImplementations(), and
running remote scripts in order to change app behavior or call
SPI, based on the contents of the downloaded script. Even if the
remote resource is not intentionally malicious, it could easily be
hijacked via a Man In The Middle (MiTM) attack, which can pose a
serious security vulnerability to users of your app.”
https://forums.developer.apple.com/thread/73640
同様のサービスは??
“This includes any code which passes arbitrary parameters to
dynamic methods such as dlopen(), dlsym(), respondsToSelector:,
performSelector:, method_exchangeImplementations(), and
running remote scripts in order to change app behavior or call
SPI, based on the contents of the downloaded script. Even if the
remote resource is not intentionally malicious, it could easily be
hijacked via a Man In The Middle (MiTM) attack, which can pose a
serious security vulnerability to users of your app.”
https://forums.developer.apple.com/thread/73640
セキュリティの
観点からダメ?
ホットパッチング自体は合法?
颁辞诲别笔耻蝉丑を使ってみよう
颁辞诲别笔耻蝉丑を使ってみよう
1. App Centerでアプリを登録する
2. App Center CLIをインストール
3. React Native Client SDKをインストール
4. アプリケーションコードの修正
1. App Centerで?
アプリを登録する
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
1. App Centerでアプリを登録する
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
?
1. App Centerでアプリを登録する
2. App Center CLIを?
インストール
2. App Center CLIをインストール
$ brew install node
$ npm install -g appcenter-cli
2. App Center CLIをインストール
$ appcenter login
?
Opening your browser...?
? Visit https://appcenter.ms/cli-login?hostname=xxx.local and
enter the code:?
? Access code from browser:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Logged in as xxxxxxxx
2. App Center CLIをインストール
$ appcenter codepush deployment list -a <ORG>/<APP>?
!""""""""""""#"""""""""""""""""""""""""""""""""""""""$?
% Name % Key %?
&""""""""""""'"""""""""""""""""""""""""""""""""""""""(?
% Staging % xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %?
&""""""""""""'"""""""""""""""""""""""""""""""""""""""(?
% Production % xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %?
)""""""""""""*"""""""""""""""""""""""""""""""""""""""+
3. React Native Client SDKを
インストール
3. React Native Client SDKをインストール
$ cd /path/to/project
$ npm install --save react-native-code-push
3. React Native Client SDKをインストール
$ react-native link react-native-code-push
...
? What is your CodePush deployment key for Android (hit <ENTER>
to ignore)
...
? What is your CodePush deployment key for iOS (hit <ENTER> to
ignore)
4.アプリケーションコードの修正
4. アプリケーションコードの修正
App.js
export default class App extends React.Component<Props, State> {
// ...
}
4. アプリケーションコードの修正
App.js
import codePush from ‘react-native-code-push’
class App extends React.Component<Props, State> {
// ...
}
App = codePush(App)
export default App
4. アプリケーションコードの修正
App.js
import codePush from ‘react-native-code-push’
class App extends React.Component<Props, State> {
// ...
}
App = codePush({
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.ON_NEXT_RESUME,
)(App)
export default App
That’s it!
颁辞诲别笔耻蝉丑で配信してみよう
颁辞诲别笔耻蝉丑で配信してみよう
$ appcenter codepush release-react -a <ORG>/<APP> -d Staging
Demo
https://github.com/miyabi/iosdc18example
まとめ
? CodePushの導入は簡単!デプロイも簡単!
? Appleのガイドライン的にもOKなので安心して使える!?
(ガイドラインに従って適切に使いましょう)
? JavaScript部分のみの配信なので、適用できるところは限られる?
(既存アプリへの導入も可能)
Thank you!

More Related Content

What's hot (8)

Multi point fuel injection
Multi point fuel injectionMulti point fuel injection
Multi point fuel injection
RAVI KUMAR
?
Ball valve 2
Ball valve   2Ball valve   2
Ball valve 2
Khalid Hammadi
?
Introduction to Forging
Introduction to ForgingIntroduction to Forging
Introduction to Forging
Vibhas Purushu
?
Four stroke petrol engine
Four stroke petrol engine Four stroke petrol engine
Four stroke petrol engine
Vasavakalpeshbhai
?
Pneumatic Sheet cutter ppt for engg. students
Pneumatic Sheet cutter ppt for engg. studentsPneumatic Sheet cutter ppt for engg. students
Pneumatic Sheet cutter ppt for engg. students
Smrutipiyush Sahoo
?
gas turbine power plant
gas turbine power plantgas turbine power plant
gas turbine power plant
Dr. Ramesh B
?
Hydraulic Valves (Valves) (Pneumatics also)
Hydraulic Valves (Valves) (Pneumatics also)Hydraulic Valves (Valves) (Pneumatics also)
Hydraulic Valves (Valves) (Pneumatics also)
Mohammad Azam Khan
?
Steam condensers - Part 4 (Surface condensers)
Steam condensers - Part 4 (Surface condensers)Steam condensers - Part 4 (Surface condensers)
Steam condensers - Part 4 (Surface condensers)
AVDHESH TYAGI
?
Multi point fuel injection
Multi point fuel injectionMulti point fuel injection
Multi point fuel injection
RAVI KUMAR
?
Pneumatic Sheet cutter ppt for engg. students
Pneumatic Sheet cutter ppt for engg. studentsPneumatic Sheet cutter ppt for engg. students
Pneumatic Sheet cutter ppt for engg. students
Smrutipiyush Sahoo
?
gas turbine power plant
gas turbine power plantgas turbine power plant
gas turbine power plant
Dr. Ramesh B
?
Hydraulic Valves (Valves) (Pneumatics also)
Hydraulic Valves (Valves) (Pneumatics also)Hydraulic Valves (Valves) (Pneumatics also)
Hydraulic Valves (Valves) (Pneumatics also)
Mohammad Azam Khan
?
Steam condensers - Part 4 (Surface condensers)
Steam condensers - Part 4 (Surface condensers)Steam condensers - Part 4 (Surface condensers)
Steam condensers - Part 4 (Surface condensers)
AVDHESH TYAGI
?

Similar to CodePushとReact Nativeで緊急OTAリリース!了解!? (20)

JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
アシアル株式会社
?
kintone 連携スマホアプリの開発?配布体験
kintone 連携スマホアプリの開発?配布体験kintone 連携スマホアプリの開発?配布体験
kintone 連携スマホアプリの開発?配布体験
アシアル株式会社
?
クロスプラットフォーム开発を可能にする惭辞苍补肠补
クロスプラットフォーム开発を可能にする惭辞苍补肠补クロスプラットフォーム开発を可能にする惭辞苍补肠补
クロスプラットフォーム开発を可能にする惭辞苍补肠补
Monaca
?
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
?
础辫辫笔辞迟製品概要
础辫辫笔辞迟製品概要础辫辫笔辞迟製品概要
础辫辫笔辞迟製品概要
Ryohei Sogo
?
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
?
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
アシアル株式会社
?
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone papers
?
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
Tomomi Imura
?
骋颁笔の画像认识础笔滨の绍介
骋颁笔の画像认识础笔滨の绍介 骋颁笔の画像认识础笔滨の绍介
骋颁笔の画像认识础笔滨の绍介
虎の穴 開発室
?
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
ssuser39314d
?
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
?
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
?
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
?
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
LINE Corporation
?
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
?
静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応
Masaru Horioka
?
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
?
ACI Stateful APP 作ってみた
ACI Stateful APP 作ってみたACI Stateful APP 作ってみた
ACI Stateful APP 作ってみた
yushimaz
?
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
アシアル株式会社
?
kintone 連携スマホアプリの開発?配布体験
kintone 連携スマホアプリの開発?配布体験kintone 連携スマホアプリの開発?配布体験
kintone 連携スマホアプリの開発?配布体験
アシアル株式会社
?
クロスプラットフォーム开発を可能にする惭辞苍补肠补
クロスプラットフォーム开発を可能にする惭辞苍补肠补クロスプラットフォーム开発を可能にする惭辞苍补肠补
クロスプラットフォーム开発を可能にする惭辞苍补肠补
Monaca
?
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
?
础辫辫笔辞迟製品概要
础辫辫笔辞迟製品概要础辫辫笔辞迟製品概要
础辫辫笔辞迟製品概要
Ryohei Sogo
?
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
?
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
テ?フ?サミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
アシアル株式会社
?
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone連携スマホアプリの開発?配布体験_生形 可奈子氏
kintone papers
?
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
Tomomi Imura
?
骋颁笔の画像认识础笔滨の绍介
骋颁笔の画像认识础笔滨の绍介 骋颁笔の画像认识础笔滨の绍介
骋颁笔の画像认识础笔滨の绍介
虎の穴 開発室
?
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
ssuser39314d
?
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
?
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
?
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
?
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
LINE Corporation
?
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
?
静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応静的解析ツール Klocworkによる 機能安全規格への対応
静的解析ツール Klocworkによる 機能安全規格への対応
Masaru Horioka
?
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
?
ACI Stateful APP 作ってみた
ACI Stateful APP 作ってみたACI Stateful APP 作ってみた
ACI Stateful APP 作ってみた
yushimaz
?
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?

CodePushとReact Nativeで緊急OTAリリース!了解!?