SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
JUCEを利用した
モバイル
クロスプラットフォーム開発
クリプトン・フューチャー・メディア株式会社
渡部陽太
2016.10.16
No Maps JUCE開発環境ワークショップ
渡部 陽太
• クリプトン
• モバイルアプリ開発
• (募)Androidの勉強会
今日お話しすること
•活用事例
なぜスマホで動く
こいつ…動くぞ
活用事例
これの事例
SONOCA Player
• 音楽プレーヤー
• ファイルダウンローダー
全部JUCEで作られていない
オーディオ処理
じゃない
この辺をJUCEで
• ネットワーク通信
• ファイル操作
• 暗号処理
その、経緯を
SONOCA Player
• 音楽プレーヤー
• ファイルダウンローダー
それぞれ独自の文化ある
•android.provider.MediaStore
•android.media.MediaPlayer
•MPMediaQuery
•AVAudioPlayer
音楽プレーヤー機能は
それぞれのプラットフォームで
提供さている機能を使う
音楽プレーヤー機能は
それぞれのプラットフォームで
提供さている機能を使う
SONOCA Player
• 音楽プレーヤー
• ファイルダウンローダー
•http通信
•ファイル操作
•暗号処理
ファイルダウンローダー
機能がやること
それぞれ独自の文化
関係ない
じゃー共通化したい!
一般化してみる
GUI → ネイティブ
ビジネスロジック → JUCE
なぜスマホで動く
AndroidってJavaじゃない?
JUCE ってC++だよね?
どんな風に言語の壁を超えて
どうやって動いているのか
ダウンロード機能の
GUI
ダウンロード機能の
GUI
JUCEを使ったダウンロードロジック
GUI GUI
JUCE 共通ロジック
C++
Java
Swift
Objective-C
Java
C++
Java
Swift
Objective-C
Java
JNI
(Java Native Interface)
JUCEにはJavaコード
も含まれている
Objective-C
C++
Java
Swift
Java
Obj-CはC++と仲良く出
来るように作られている
どっちもAppleなので
もともと仲良し
C++
Java
Swift
Java
Objective-C
GUI GUI
JUCE 共通ロジック
GUI JUCE 共通ロジック
Java
C++
Java
Java
C++
JavaからC++を
呼び出すためのI/F
C++の独自実装
巡り巡ってAndroidの
Application Frameworkに
たどり着く
JUCEの中身
ある意味、
巨大なラッパー
独自ランタイム 無い
信頼性
アプリの機能開発に注力できる
これ、大事
こいつ…動くぞ
https://www.juce.com/doc/tutoria
l_android_studio
This tutorial introduces the use of Android
Studio for creating JUCE-based projects.
Level: Beginner
Platforms: Android
JUCEを利用したモバイル クロスプラットフォーム開発
JUCEを利用したモバイル クロスプラットフォーム開発

Mais conteúdo relacionado

Mais procurados

JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017Tatsuya Shiozawa
 
Adk hack発表資料
Adk hack発表資料Adk hack発表資料
Adk hack発表資料itog
 
がんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについてがんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについてTomohiro Suzuki
 
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018Tatsuya Shiozawa
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009Tatsuya Shiozawa
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたTomohiro Suzuki
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)torisoup
 

Mais procurados (11)

JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017
 
UIKit Sound
UIKit SoundUIKit Sound
UIKit Sound
 
Adk hack発表資料
Adk hack発表資料Adk hack発表資料
Adk hack発表資料
 
がんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについてがんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについて
 
Lt130123
Lt130123Lt130123
Lt130123
 
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009
 
Lt nande linux_nano
Lt nande linux_nanoLt nande linux_nano
Lt nande linux_nano
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみました
 
Unity vr
Unity vrUnity vr
Unity vr
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)
 

Semelhante a JUCEを利用したモバイル クロスプラットフォーム開発

Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告cat kaotaro
 
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。Prott user meetup 16 効率よく、品質良く、アプリを育てよう。
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。Musashi Kobayashi
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントTakayuki Inoue
 
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unity Technologies Japan K.K.
 
nomad-cliの紹介
nomad-cliの紹介nomad-cliの紹介
nomad-cliの紹介Kohki Miki
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼうShin Ise
 
UE4×ADX2を使ったゼロから始めるサウンド開発
UE4×ADX2を使ったゼロから始めるサウンド開発UE4×ADX2を使ったゼロから始めるサウンド開発
UE4×ADX2を使ったゼロから始めるサウンド開発CRI Middleware Co., Ltd.
 
01 idea table3.0
01 idea table3.001 idea table3.0
01 idea table3.0umisuzume
 
リピーター(アニメの聖地)の作り方は2Cにあった!
リピーター(アニメの聖地)の作り方は2Cにあった!リピーター(アニメの聖地)の作り方は2Cにあった!
リピーター(アニメの聖地)の作り方は2Cにあった!Tsuyoshi Abiko
 
日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話Tatsuya Matsumoto
 
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019Game Tools & Middleware Forum
 
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティスyayugu
 
The current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingThe current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingNaruhiko Ogasawara
 
Androidアプリ開発の極意
Androidアプリ開発の極意Androidアプリ開発の極意
Androidアプリ開発の極意Daisaku Yamamoto
 
20130629 KA法ワークショップ@DevLOVE仙台
20130629 KA法ワークショップ@DevLOVE仙台20130629 KA法ワークショップ@DevLOVE仙台
20130629 KA法ワークショップ@DevLOVE仙台chachaki chachaki
 

Semelhante a JUCEを利用したモバイル クロスプラットフォーム開発 (20)

Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
 
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。Prott user meetup 16 効率よく、品質良く、アプリを育てよう。
Prott user meetup 16 効率よく、品質良く、アプリを育てよう。
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
 
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
 
nomad-cliの紹介
nomad-cliの紹介nomad-cliの紹介
nomad-cliの紹介
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
 
Pyonkeeを鳴らす
Pyonkeeを鳴らすPyonkeeを鳴らす
Pyonkeeを鳴らす
 
UE4×ADX2を使ったゼロから始めるサウンド開発
UE4×ADX2を使ったゼロから始めるサウンド開発UE4×ADX2を使ったゼロから始めるサウンド開発
UE4×ADX2を使ったゼロから始めるサウンド開発
 
01 idea table3.0
01 idea table3.001 idea table3.0
01 idea table3.0
 
リピーター(アニメの聖地)の作り方は2Cにあった!
リピーター(アニメの聖地)の作り方は2Cにあった!リピーター(アニメの聖地)の作り方は2Cにあった!
リピーター(アニメの聖地)の作り方は2Cにあった!
 
日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話
 
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
CRIWARE 最新情報 ~UE4 Editor × ADX2で加速するサウンドデザイン~ / GTMF2019
 
Mycolors
MycolorsMycolors
Mycolors
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
OKR
OKROKR
OKR
 
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス
 
OSの歴史 完成版
OSの歴史 完成版OSの歴史 完成版
OSの歴史 完成版
 
The current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingThe current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printing
 
Androidアプリ開発の極意
Androidアプリ開発の極意Androidアプリ開発の極意
Androidアプリ開発の極意
 
20130629 KA法ワークショップ@DevLOVE仙台
20130629 KA法ワークショップ@DevLOVE仙台20130629 KA法ワークショップ@DevLOVE仙台
20130629 KA法ワークショップ@DevLOVE仙台
 

JUCEを利用したモバイル クロスプラットフォーム開発