SlideShare une entreprise Scribd logo
1  sur  51
Developing Cross-Platform Apps

Kenichi Kambara (@korodroid)
26 November, 2013
Who am I?
l
l
l

Kenichi Kambara (Twitter @korodroid)
iplatform.org(http://www.iplatform.org/) (Personal)
NTT Software Corporation (Official)

l

Activity(NTT Software as Official)    

l

Activity(iplatform.org as Personal)    

- Technical Support for Developing

- My Android Apps on Google Play (20+ Apps)
9

10
2
Who am I?
l
l
l
l

Kenichi Kambara (Twitter @korodroid)
iplatform.org(http://www.iplatform.org/) (Personal)
NTT Software Corporation (Official)
Activity(iplatform.org as Personal)    
9

10

“Sekai Phone”
lReal-Time Translation application
lSupports Only Android (Native App)
lMulti-Screen UX Competition 2013 Excellence Award

3
Who am I?
l
l
l
l

Kenichi Kambara (Twitter @korodroid)
iplatform.org(http://www.iplatform.org/) (Personal)
NTT Software Corporation (Official)
Activity(iplatform.org as Personal)    
9

10

“XTranslator”
lSimple Translation application
lSupports Cross-Platform
4
My session topics
Some tips on developing Cross-Platform Apps
with Web Technologies.

Android, iOS, Firefox OS,
Tizen, Windows Phone...
5
Agenda

•Introduction
•Background
•Cross-Platform Development
•Tips

6
Introduction
(XTranslator & Sekai Phone)

7
What is “XTranslator / Sekai Phone”?

XTranslator

Sekai Phone

8
“XTranslator”:Supported Platforms
Cross-Platform by using Web Technologies

Android

iOS

FirefoxOS

Tizen
9
“XTranslator”:Supported Platforms
Passed the App review, and now downloadable

10
Background

11
The ratio of Mobile Platform?

Android
iOS
Series 40
SymbianOS
Samsung
Unknown
BlackBerry OS
Windows Phone
Other

Stat Counter [Oct 2012 - Oct 2013]
12
The ratio of Mobile Platform?

In my App:
Main Target: Android, iOS, FirefoxOS, Tizen
13
Native vs. Hybrid vs. Web
Native
Android
Languages Java
Tools

Eclipse

iOS

Hybrid

Objective-C HTML/CSS/JS

HTML/CSS/JS
(PhoneGap)

Xcode

Any Tools

Any Tools

Web site

•Google Play
•App Store

Distribution Google Play App Store
Advantages

Web

Combines
Rich UI & High Performance Fast development Native & Web

14
Native vs. Hybrid vs. Web

XTranslator

Sekai Phone

In my App:
My Target: Hybrid (XTranslator) & Native (Sekai Phone)

15
Cross-Platform Development

16
Supporting Cross-Platform
Developing with Web Technologies

.html

.css

.js

Wrapping

Wrapping

Wrapping

Wrapping

Android
App

iOS
App

FirefoxOS
App

Tizen
App

17
Supporting Cross-Platform
1. UI
2. Logic
3. Distribution

18
1. UI

19
Tools

jQuery Mobile

User Interface Framework for Mobile
l

Cross-Platform with HTML5
(Android, iOS, FirefoxOS, Tizen, etc.)

l

Easy to Use

l

Original Mobile UI Components

See also:
Sencha Touch, Kendo UI, Onsen UI…
20
jQuery Mobile:Code Example
Easy to Use
index.html
<div id="home" data-role="page" data-theme="a">
<header data-role="header" data-position="fixed">
<h1>XTranslator</h1>
...
</header>
<div data-role="content">
...
</div>
<footer data-role="footer" data-position="fixed">
<h4>&copy; 2013 iplatform.org </h4>
</footer>
</div>

21
jQuery Mobile:Code Example
Easy to Use
index.html

id=home

<div id="home" data-role="page" data-theme="a">
…
</div>
<div id="settings" data-role="page" data-theme="a">
…
</div>

-Screen Transition
id=settings

<a href="#settings" >Settings</a>
22
jQuery Mobile:Theme
Easy to Customize

Theme Roller

23
2. Logic

24
Tools

jQuery

A fast, small, and feature-rich JavaScript library
l

Easy to use

l

Useful to simplify code
l DOM traversal and manipulation
l Event handling
l Animation
l Ajax

See also:
zepto.js

25
jQuery:Code Example
DOM Traversal & Manipulation
HTML

document.getElementById
(‘translateButton’)
document.getElementById
(‘select-choice-out’)

$(‘#translateButton’)
$('select#select-choice-out')
26
jQuery:Code Example
Event Handling
HTML&Java Script

<input type="translateButton"
onclick="OnButtonClick();"/>
function OnButtonClick() {
// Translation Logic
};
$("#translateButton")
.click(function(){
// Translation Logic
});

27
jQuery:Code Example
Event Handling
HTML&Java Script

<input type="translateButton"
onclick="OnButtonClick();"/>
function OnButtonClick() {
// Translation Logic
};
$("#translateButton")
.click(function(){
// Translation Logic
});

28
Tools
l

Tappable

A simple, standalone library for Tap Event

29
jQuery:Code Example
Event Handling (Using Tappable)
HTML&Java Script

<input type="translateButton"
onclick="OnButtonClick();"/>
function OnButtonClick() {
// Translation Logic
};
tappable('#buttonTranslate',
$("#translateButton")
 function (e, target) {
.click(function(){
 //TranslationLogic
// Translation Logic
});
}

30
3. Distribution

31
Distribution
Wrapping with PhoneGap
.html

.css

.js

Wrapping

Wrapping

Wrapping

Android
App

iOS
App

Tizen
App
32
Tools

PhoneGap

The bridge between Java Script and Native.
.html

.css

.js

Native

Native

Native

Android
App

iOS
App

Tizen
App
33
PhoneGap:Features
Many APIs are provided.

Notification
Network
Contacts
Media
Camera

Geolocation
Compass
Accelerometer
File
Storage
34
PhoneGap:Supported APIs
They are different depending on platform.

35
PhoneGap:Code Example
Sensor (Acceleration) Collaboration
HTML
var options = { frequency: 500 };
aSensor =
navigator.accelerometer.watchAcceleration(
onAccelerationSuccess, onAccelerationError,
options);

-Success

function onAccelerationSuccess(values) {
if (value > [Threshold]){
// do Translate
}
}

-Failure
Device Shaking

function onAccelerationError()

36
PhoneGap Build
Build Service on Cloud
.html

.css

.js

37
PhoneGap Build

38
Tips

39
PhoneGap:Problem?
Non-Supported APIs cannot be used???
Basic Features

Notification
Network

Geolocation

Contacts

Accelerometer

Media

File

Camera

Storage

Compass

Non-Supported Features

Voice Recognition

TextToSpeech

…

40
PhoneGap:Solution 1
Exploiting existing library

PhoneGap Plugins (deprecated)

Cordova Plugins

41
PhoneGap:Solution 2
Non-existing library -> Developing Original library

Toast Plugin
.js

.java

Android App
.js

config
.xml
42
PhoneGap:Solution 2
Toast Plugin
.js

.java

ToastCreator.prototype.showToast =
function(successCallback, errorCallback, text) {
return cordova.exec(successCallback, errorCallback,
"ToastCreator", "showToast", [text]);
};
public class ToastCreator extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args,
CallbackContext callbackContext) {
Boolean isValidAction = true;
if ("showToast".equals(action)) {
Toast.makeText(cordova.getActivity(),
args.getString(0), Toast.LENGTH_SHORT).show();
}
return isValidAction;
}
}

43
PhoneGap:Solution 2
Toast Plugin

Android App

.js

config
.xml

// The case of non-input text
if (value == "") {
ToastCreator.prototype.showToast(showToastSuccess,
showToastFail, 'No Text. Please input text.');
}
return;
}
...
<!-- Toast Plugin -->
<feature name="ToastCreator">
<param name="android-package"
value="org.iplatform.xos.phonegap.ToastCreator"/>
</feature>

44
Web & Hardware Collaboration
Even if it is Web app, we can do various things.

45
Web-Based App:Problem?
User-defined JS cannot be optimized???

Uncompressed
Maintenance

Minified

Easy

Difficult (Impossible)

Size

Normal

Minimum

Purpose

Debug

Production
46
Tools

Closure Compiler

l

A JavaScript optimizing compiler

l

Analyzes JS code, removes dead code and
rewrites and minimizes what's left

l

It is used in many of Google's JavaScript apps

47
Web-Based App:Solution
Using Compress Tools
s1.js

s2.js

app.
min.js

// Initialize PhoneGap
function init() {
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("backbutton", onBackPressed, false);
}

// BackButton Procedure
function onBackPressed() {
navigator.notification.confirm("Do you want to Quit?",
confirmCallback, 'Confirm', 'Cancel, Quit');
}
var aSensor=null;function init()
{document.addEventListener("deviceready",onDeviceReady,!
1);document.addEventListener("backbutton",onBackPressed,!1)}
function onBackPressed(){navigator.notification.confirm("Do you want
to Quit?",confirmCallback,"Confirm","Cancel, Quit")}function
confirmCallback(a){2==a&&navigator.app.exitApp()}

48
Chromium WebView
KitKat includes Chromium-based WebView
l

Upgrade Performance
(HTML5, CSS3, JS)

l

Remote Debugging

(setWebContentsDebuggingEnabled)
l

Behavior (targetSdk:n)
l n >= 19 : Chromium WebView
l n < 19 : Legacy WebView
KitKat (Nexus 5)

49
References
•jQuery

 http://jquery.com/

•jQuery Mobile

http://jquerymobile.com/

•PhoneGap

http://phonegap.com/

•PhoneGap Build

https://build.phonegap.com/

•Tappable

https://github.com/cheeaun/tappable

•Closure Compiler

https://code.google.com/p/closure-compiler/

50
Thank you!
•Facebook:http://fb.com/kanbara.kenichi
•Google+:+Kenichi Kambara
•LinkedIn:http://www.linkedin.com/in/korodroid
•Twitter:@korodroid

Contenu connexe

Similaire à [Droidcon NL 2013] Developing Cross-Platform Apps

The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactOliver N
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Innomatic Platform
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Danny Preussler
 
Automate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go CrazyAutomate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go CrazyTechWell
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhoneErin Dees
 
React native: building shared components for Android and iOS
React native: building shared components for Android and iOSReact native: building shared components for Android and iOS
React native: building shared components for Android and iOSCalum Gathergood
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android DevelopersJosiah Renaudin
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorFokke Zandbergen
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&CoMail.ru Group
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentOlivier Le Goaër
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleMathias Seguy
 
3D Touch by Karol Kozub, Macoscope
3D Touch by Karol Kozub, Macoscope3D Touch by Karol Kozub, Macoscope
3D Touch by Karol Kozub, MacoscopeMacoscope
 
Lesson 204 03 oct13-1500-ay
Lesson 204 03 oct13-1500-ayLesson 204 03 oct13-1500-ay
Lesson 204 03 oct13-1500-ayCodecademy Ren
 
Automated ui testing
Automated ui testingAutomated ui testing
Automated ui testingDavidReidy
 
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...inovex GmbH
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklum Ukraine
 

Similaire à [Droidcon NL 2013] Developing Cross-Platform Apps (20)

The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
Automate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go CrazyAutomate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go Crazy
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
Qt Workshop
Qt WorkshopQt Workshop
Qt Workshop
 
React native: building shared components for Android and iOS
React native: building shared components for Android and iOSReact native: building shared components for Android and iOS
React native: building shared components for Android and iOS
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met Appcelerator
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile development
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification Google
 
3D Touch by Karol Kozub, Macoscope
3D Touch by Karol Kozub, Macoscope3D Touch by Karol Kozub, Macoscope
3D Touch by Karol Kozub, Macoscope
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Lesson 204 03 oct13-1500-ay
Lesson 204 03 oct13-1500-ayLesson 204 03 oct13-1500-ay
Lesson 204 03 oct13-1500-ay
 
Automated ui testing
Automated ui testingAutomated ui testing
Automated ui testing
 
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
 
Google tv
Google tv Google tv
Google tv
 

Plus de Kenichi Kambara

Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)Kenichi Kambara
 
Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5Kenichi Kambara
 
[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門Kenichi Kambara
 
“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4Kenichi Kambara
 
[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Sandbox[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] SandboxKenichi Kambara
 
[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOSKenichi Kambara
 
"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3Kenichi Kambara
 
Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2Kenichi Kambara
 
I/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物TipsI/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物TipsKenichi Kambara
 
Hello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイントHello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイントKenichi Kambara
 
Developing Android Apps for Google Assistant
Developing Android Apps for Google AssistantDeveloping Android Apps for Google Assistant
Developing Android Apps for Google AssistantKenichi Kambara
 
Google Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイントGoogle Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイントKenichi Kambara
 
10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリ10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリKenichi Kambara
 
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所Kenichi Kambara
 
Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例Kenichi Kambara
 
AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例Kenichi Kambara
 
Publishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 AppsPublishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 AppsKenichi Kambara
 
Android Studio 2.3 New Features
Android Studio 2.3 New FeaturesAndroid Studio 2.3 New Features
Android Studio 2.3 New FeaturesKenichi Kambara
 
Android 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+αAndroid 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+αKenichi Kambara
 

Plus de Kenichi Kambara (20)

Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
 
Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5
 
[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門
 
“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4
 
[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Sandbox[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Sandbox
 
[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS
 
"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3
 
Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2
 
I/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物TipsI/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物Tips
 
Hello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイントHello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイント
 
Developing Android Apps for Google Assistant
Developing Android Apps for Google AssistantDeveloping Android Apps for Google Assistant
Developing Android Apps for Google Assistant
 
Google Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイントGoogle Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイント
 
10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリ10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリ
 
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
 
Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例
 
AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例
 
Android O (Beta) Topics
Android O (Beta) TopicsAndroid O (Beta) Topics
Android O (Beta) Topics
 
Publishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 AppsPublishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 Apps
 
Android Studio 2.3 New Features
Android Studio 2.3 New FeaturesAndroid Studio 2.3 New Features
Android Studio 2.3 New Features
 
Android 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+αAndroid 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+α
 

Dernier

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 

Dernier (20)

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 

[Droidcon NL 2013] Developing Cross-Platform Apps