SlideShare une entreprise Scribd logo
1  sur  31
クロスプラットフォーム
開発環境のすゝめ
こんな経験はありませんか
?か??
モバイルアプリの勉強を始めようとした方・・・
スタンダードなモバイルアプリ開発って・・・
どちらも勉強したい
IDEが違う
言語が違う
APIが違う
}
クロスプラットフォーム
開発環境がおすすめです
そんなあなたに・・・
• クロスプラットフォーム開発環境とは?
• ネイティブアプリとハイブリッドアプリの違い
• 開発言語、フレームワーク
本日はなすこと
• クロスプラットフォーム開発環境とは?
• ネイティブアプリとハイブリッドアプリの違い
• 開発言語、フレームワーク
本日はなすこと
Android,iOSなど
複数のプラットフォームに
対して開発可能な環境
Android,iOSなど
複数のプラットフォームに
対して開発可能な環境
クロスプラットフォーム開発環境ってなに?
“など”って?
×
+
• 基本はAndroid×iOS
• Windows, Linux, etc…のプ
ラットフォームについても
同じ言語&FWで開発が可
能
OS固有(GPS、カメラ、etc…) OS固有(GPS、カメラ、etc…)
画面(レイアウト、イベント処理)
ビジネスロジック
具体的には?
共通言語
コード共通化
プラグイン
個別実装
メリットとデメリット
• デザイン、ビジネスロジックのコード共有化
• OS固有(GPS、カメラ、etc…)の処理は、
プラグイン(≒ライブラリ)で実装可能
→個別実装ほどレイアウトを細かくいじれない可能性あり
→学習や実装の時間短縮
→学習や実装の時間短縮
→各プラットフォームの理解は必要
• クロスプラットフォーム開発環境とは?
• ネイティブアプリとハイブリッドアプリの違い
• 開発言語、フレームワーク
本日はなすこと
ネイティブアプリとは?
ネイティブAPI
アプリケーション }
スタンダードなIDEや言語で
作れる
ハイブリッドアプリとは?
ネイティブAPI
アプリケーション
WebView }
WebView
デザインをHTML/CSS
動作をJSで記載可能!
ネイティブアプリとハイブリッドアプリの比較
ネイティブ ハイブリッド
処理速度 ◎
iOS ◯
Android ▲
デザイン OS依存 ほぼ共通
機能制約 ほぼなし あり
Web資産の
流用
▲ ◯
ハイブリッドではiOSはほぼ問題なし
Androidは動作が重くなりがち}
} ハイブリッドはHTML/CSSのデザイン
が適応されるため差異が少なめ
}
ネイティブは環境毎にお作法が異なるが
基本制約なし
ハイブリッドは環境によっては制約あり
}
ネイティブはサーバ側ロジックなど
ハイブリッドはデザイン含め
流用しやすい
• 処理速度ならネイティブアプリ。アニメーションなど重
い動作無しならハイブリッドアプリでも可
• Web開発者なら、ハイブリッドアプリの方が入門しやす
そう
ネイティブアプリとハイブリッドアプリの比較
• クロスプラットフォーム開発環境とは?
• ネイティブアプリとハイブリッドアプリの違い
• 開発言語、フレームワーク
本日はなすこと
どれだけ種類があるの?
1
2
3
4
5
6
7
8
9
10
11
どれだけ種類があるの?
1
2
3
4
5
6
7
8
9
10
11
抜粋します
どれだけ種類があるの?
1
2
3
4
5
6
7
8
9
10
11
読み方 ザマリン
種類 ネイティブアプリ
対象
IDE Visual Studio(Windows,Mac) / Rider
言語 C# / F# / XAML(ザムル)
資産 Microsoft
概要
特徴
• Xamarin.Formsという開発手法で、プラットフォーム
固有(GPSなど)以外はコード共通化可能
• Visual Studio(無償版)をインストールすること環境構
築可能
• プラットフォーム固有機能は、Xamarin.Nativeと呼ば
れるAndroid,iOSのSDKを薄くラッパーしたAPIを利用
することで、100%実現可能
その他
• Xamarin概要 - slideshare
• Xamarin Overview - slideshare
• 事例紹介 - XLSOFT様
• Xamarin.Forms 入門 - XLSOFT様
• かずきのXamarin.Forms 入門 - pdf
読み方 リアクト ネイティブ
種類 ネイティブアプリ
対象
IDE なし(Visual Studio Code / Atom / etc…)
言語 HTML / CSS / JavaScript(FW:React)
資産 Facebook
概要
特徴
• React.jsをベースとした、JavaScriptで記述可能な
Android,iOSアプリ開発向けの環境
• npmコマンドを用いて「create-react-native-app」を
インストールするだけで環境構築可能
• プラットフォーム固有機能は、React NativeのAPIと
して実装している様子だが、無い場合は
Android(Java)、iOS(Obj-C,Swift)の実装が必要
その他
• React Nativeで始めるアプリ開発 - slideshare
• create-react-native-appの説明 - 技術ブログ
• ネイティブモジュールの作り方 - 技術ブログ
読み方 コトリン ネイティブ
種類 ネイティブアプリ
対象
IDE CLion + (XCode / Android Studio)
言語 Kotlin
資産 Jet Brains
概要
特徴
• 2017年にAndroid公式言語となったKotlin、クロスプ
ラットフォームに特化した言語(というよりFW?)
• IDEはCLionがメインだが、まだクロスプラットフォ
ーム向けのプロジェクトは作れない
• 2017年からWindows / iOS / WebAssemblyまでサポー
ト対象となった(勢いがある!)
その他
• KotlinConf 2017 まとめ - 技術ブログ
• Kotlin Enucation Tools - Jet Brains様
• Kotlin/NativeでiOSアプリを作ってみる - Qiita
まとめ
• C#(.Net / Mono)経験者ならXamarin、
Web(フロント)経験者ならReactNativeが入門しやすそう
→XamarinはOS固有機能が100%実現可能なので、
AndroidやiOSのSDK学習のためのツールとして
始めてもよいかも。
→ReactNativeは、React.js→ReactNativeと学習した方が
スムーズに入門できそう。
• Kotlin/Nativeはまだ荒削りだけど、Javaを使用していた
Android/Web開発者から人気!要チェック!
ご静聴ありがとうございました

Contenu connexe

Similaire à クロスプラットフォーム開発環境のすヽめ

できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
Masami Yabushita
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
 
[JAG神戸] グループ開発趣旨
[JAG神戸] グループ開発趣旨[JAG神戸] グループ開発趣旨
[JAG神戸] グループ開発趣旨
takagig
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Saiki Iijima
 
Universal Windows app 入門
Universal Windows app 入門Universal Windows app 入門
Universal Windows app 入門
一希 大田
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
Yusuke Ito
 

Similaire à クロスプラットフォーム開発環境のすヽめ (20)

Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
 
Herlockサービス紹介
Herlockサービス紹介Herlockサービス紹介
Herlockサービス紹介
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
あの手この手で楽して覚えるAndroid開発Tips
あの手この手で楽して覚えるAndroid開発Tipsあの手この手で楽して覚えるAndroid開発Tips
あの手この手で楽して覚えるAndroid開発Tips
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 
[JAG神戸] グループ開発趣旨
[JAG神戸] グループ開発趣旨[JAG神戸] グループ開発趣旨
[JAG神戸] グループ開発趣旨
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界
 
Rinko 1 Android
Rinko 1 AndroidRinko 1 Android
Rinko 1 Android
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
Universal Windows app 入門
Universal Windows app 入門Universal Windows app 入門
Universal Windows app 入門
 
浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621
 
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
 
Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
 

クロスプラットフォーム開発環境のすヽめ