SlideShare a Scribd company logo
1 of 40
Download to read offline
Titanium Mobile Web
& Firefox OS
alessio ricco
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
Firefox OS is a new mobile operating system,
developed by Mozilla,which lets users install and run
open web applications created using HTML5, CSS3,
and JavaScript.



We'll explain the best practices for a cross platform
porting to MobileWeb and the guidelines for the
deployment on this new cool platform.
Abstract
@alessioricco

http://www.slideshare.net/alessioricco

Titanium Certified App Developer/Titan	



Ti.Roma - Roma Titanium Mobile Meetup

http://www.meetup.com/Titanium-Appcelerator-Roma/	

Titanium Mobile Developers Italy (fb)

https://www.facebook.com/groups/TitaniumMobileItaly/?fref=ts	

Apps	

•TwinsMatcher	

•CrowdFuture	

•Bitcoin Markets	

•Wallive	

•World Medicine Park	

Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
About me
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
About me
… I’m a Cross Platform Curious….
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
Cross Platform ?
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS
A new OS for mobile devices

- Developed by Mozilla

- Based on Linux

- Gecko engine
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Architecture
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Architecture
Gonk is the lower level
operating system of the
Firefox OS platform,
consisting of a Linux
kernel based on the
Android Open Source
Project (AOSP) and
userspace hardware
abstraction layer (HAL).
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Architecture
Gecko is the name of
the layout engine
developed by the
Mozilla Project. Gecko's
function is to read web
content, such as HTML,
CSS, XUL, JavaScript,
and render it on the
user's screen or print it.
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Architecture
Gaia is the user
interface level of Firefox
OS. Everything that
appears on the screen
after Firefox OS starts
up is drawn by Gaia,
including the lock
screen, home screen,
dialer, and other
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - API
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - SDK
Available SDK
• Firefox Web API 

(mainly device/hardware/sensors)

https://wiki.mozilla.org/WebAPI
• Gaia building blocks

(Ready to use UI snippets and code blocks)

http://buildingfirefoxos.com/building-blocks/action-menu.html
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Native Apps
!
• Native apps are web apps!

- HTML5

- Javascript

- CSS3
• Titanium MobileWeb Apps

are able to run on FFOS

(with some limits…)
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1- Simulator
Simulator and Debugger as Firefox Add-On
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Deployment
• Packaged Apps

A packaged app is an Open Web App that has all of its resources (HTML, CSS, JavaScript,
app manifest, and so on) contained in a zip file, instead of having its resources on a Web
server
• Hosted Apps

A hosted app is an Open Web App that has all of its resources (HTML, CSS, JavaScript, app
manifest and so on) stored on a Web server
https://developer.mozilla.org/en-US/Marketplace/Options/Packaged_or_hosted_
https://developer.mozilla.org/en-US/Apps/Build/App_permissions
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Open Web App
Open Web Apps are essentially no different than standard
websites or Web pages. They are built using standard open
Web technologies HTML, CSS, JavaScript, etc. and can be
accessed using a Web browser. The main differences lie in
their ability to be installed on a device and work offline, and
access to advanced APIs that allow interaction with device
features such as the camera, address book, and other such
things. In addition, they are built on open technologies as
much as is possible.
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Marketplace
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1-Requirements
!
• A simple text editor
• Firefox Browser

(Firefox 24 or Firefox 25)
https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_1.1_Simulator
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - install
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - install
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.2-Requirements
!
• A simple text editor
• Firefox Browser

(Latest version)
• App manager
• WebIDE
The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to
help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator,
directly from your browser.
https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager
https://hacks.mozilla.org/2014/06/webide-lands-in-nightly/
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - dashboard
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - Simulator
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - app install
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - app install
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - The Manifest
An open web app manifest 

contains information that a web browser needs to interact with an
app.
!
A manifest is one of the key things that 

distinguishes an open web app from a website.
!
It is a JSON file with a name and description for the app, 

and it can also contain the origin of the app, icons, and the permissions
required by the app, among other things.
The manifest file should be called manifest.webapp, and be
placed in the root of your web app directory alongside your
index.html file.
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - The Manifest
The manifest file should be called manifest.webapp, and be
placed in the root of your web app directory alongside your
index.html file.
https://developer.mozilla.org/en-US/Apps/Build/Manifest
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - The Manifest
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - The Manifest
{	
"name": "Kitchen Sink",	
"description": "Titanium demo",	
"launch_path": "/index.html",	
"icons": {	
"128": "/appicon.png"	
},	
"developer": {	
"name": "appcelerator",	
"url": "http://www.appcelerator.com"	
},	
"default_locale": "en"	
}
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - Kitchen Sink
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - Debugging
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - Device connected….
remove empty lines
at the end of the file
Many aspects of Firefox OS development require installation of adb, the Android Debug Bridge.
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS 1.1 - ADB
Android Debug Bridge (adb) is a versatile command line tool
that lets you communicate with an emulator instance or
connected Android-powered device. It is a client-server
program that includes three components:
!
A client, which runs on your development machine. You can
invoke a client from a shell by issuing an adb command. Other
Android tools such as the ADT plugin and DDMS also create
adb clients.
!
A server, which runs as a background process on your
development machine. The server manages communication
between the client and the adb daemon running on an emulator
or device.
!
A daemon, which runs as a background process on each
emulator or device instance.
http://developer.android.com/tools/help/adb.html
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Titanium
Simulator is not working with
Titanium Apps

because 



Most touch events do not work
in Firefox OS Simulator 



We need some workarounds…
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Titanium DEMO Time!
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
FirefoxOS - Titanium
• Touch Events doesn’t work on simulator
• Touch Events works on device
• Different tools between 1.1. and 2.1
• Back navigation button doesn’t work

(Titanium.UI.MobileWeb.NavigationGroup)
• Some UI elements doesn’t work
• but…
• FirefoxOS

http://www.mozilla.org/en-US/firefox/os/
• FirefoxOS 1.1 Simulator

https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_1.1_Simulator
• Developers Page

https://developer.mozilla.org/en-US/Firefox_OS
• Firefox Browser (all the releases)

ftp.mozilla.org/pub/mozilla.org/firefox/releases/
• Publishing Apps

https://developer.mozilla.org/en-US/Marketplace/Options/Self_publishing
• Submitting Apps

https://developer.mozilla.org/it/docs/Web/Apps/Publishing/Submitting_an_app
Links
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
• Mobile Web overview

http://docs.appcelerator.com/titanium/3.0/#!/guide/Mobile_Web_Platform_Overview
• Mobile Web best practices (codestrong 2012)

http://www.slideshare.net/appcelerator/codestrong-2012
• Mobile Web deployment

http://docs.appcelerator.com/titanium/3.0/#!/guide/
Deploying_and_Distributing_Mobile_Web_Apps
Links
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
Thank you
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
• Nois3

http://www.nois3.it/
• Etnatraining

http://www.etnatraining.it/
• Davide Cassenti, Luca Greco
Contacts
Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
• https://www.linkedin.com/in/alessioricco
• @alessioricco
• http://www.slideshare.net/alessioricco
• http://alessioricco.com

More Related Content

What's hot

Getting Started with Titanium & Alloy
Getting Started with Titanium & AlloyGetting Started with Titanium & Alloy
Getting Started with Titanium & AlloyFokke Zandbergen
 
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
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
 
Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)忠利 花崎
 
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版しごとで使うTitanium 第2版
しごとで使うTitanium 第2版忠利 花崎
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash DevelopmentStephen Chin
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstRaymond Camden
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevIan Chen
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
 
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢Ascii Huang
 
TiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTim Poulsen
 
The Present and Future of Mobile Test Automation with Appium
The Present and Future of Mobile Test Automation with AppiumThe Present and Future of Mobile Test Automation with Appium
The Present and Future of Mobile Test Automation with AppiumTechWell
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅PRADA Hsiung
 
Automating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile AppsAutomating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile AppsGeoffrey Goetz
 
Intro to iPhone Development with MonoTouch
Intro to iPhone Development with MonoTouchIntro to iPhone Development with MonoTouch
Intro to iPhone Development with MonoTouchMichael Koby
 
Building Native Mobile Apps using Javascript with Titanium
Building Native Mobile Apps using Javascript with TitaniumBuilding Native Mobile Apps using Javascript with Titanium
Building Native Mobile Apps using Javascript with TitaniumFokke Zandbergen
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App StoreGeoffrey Goetz
 

What's hot (20)

Getting Started with Titanium & Alloy
Getting Started with Titanium & AlloyGetting Started with Titanium & Alloy
Getting Started with Titanium & Alloy
 
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
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)
 
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash Development
 
Appcelerator Alloy MVC
Appcelerator Alloy MVCAppcelerator Alloy MVC
Appcelerator Alloy MVC
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
 
TiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium apps
 
The Present and Future of Mobile Test Automation with Appium
The Present and Future of Mobile Test Automation with AppiumThe Present and Future of Mobile Test Automation with Appium
The Present and Future of Mobile Test Automation with Appium
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅
 
Windows 8 Developer Preview
Windows 8 Developer PreviewWindows 8 Developer Preview
Windows 8 Developer Preview
 
Automating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile AppsAutomating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile Apps
 
Intro to iPhone Development with MonoTouch
Intro to iPhone Development with MonoTouchIntro to iPhone Development with MonoTouch
Intro to iPhone Development with MonoTouch
 
Building Native Mobile Apps using Javascript with Titanium
Building Native Mobile Apps using Javascript with TitaniumBuilding Native Mobile Apps using Javascript with Titanium
Building Native Mobile Apps using Javascript with Titanium
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App Store
 

Similar to Ti.conf titanium on firefoxos

Firefox OS Perspective
Firefox OS Perspective Firefox OS Perspective
Firefox OS Perspective ankitgadgil
 
Mozilla & Apps
Mozilla & AppsMozilla & Apps
Mozilla & Appsdynamis
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7Kevin Whinnery
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy FrameworkTechday7
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java ScriptBorey Lim
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & TestingPerfecto by Perforce
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-CJiwei Xu
 
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendAndrew Chalkley
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
Flash for Blackberry, iPhone and Android
Flash for Blackberry, iPhone and AndroidFlash for Blackberry, iPhone and Android
Flash for Blackberry, iPhone and AndroidMindgrub Technologies
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerCatalin Gheorghiu
 

Similar to Ti.conf titanium on firefoxos (20)

Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
tittanium
tittaniumtittanium
tittanium
 
What is Firefox OS
What is Firefox OSWhat is Firefox OS
What is Firefox OS
 
Firefox OS Perspective
Firefox OS Perspective Firefox OS Perspective
Firefox OS Perspective
 
Mozilla & Apps
Mozilla & AppsMozilla & Apps
Mozilla & Apps
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy Framework
 
Firefox OS App Development
Firefox OS App DevelopmentFirefox OS App Development
Firefox OS App Development
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java Script
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-C
 
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Flash for Blackberry, iPhone and Android
Flash for Blackberry, iPhone and AndroidFlash for Blackberry, iPhone and Android
Flash for Blackberry, iPhone and Android
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 

More from Alessio Ricco

Co-design tools and techniques - world usability day rome 2015
Co-design tools and techniques - world usability day rome 2015Co-design tools and techniques - world usability day rome 2015
Co-design tools and techniques - world usability day rome 2015Alessio Ricco
 
Mobile1st ux/ui with Titanium
Mobile1st ux/ui with TitaniumMobile1st ux/ui with Titanium
Mobile1st ux/ui with TitaniumAlessio Ricco
 
Fifty shades of Alloy - tips and tools for a great Titanium Mobile development
Fifty shades of Alloy - tips and tools for a great Titanium Mobile developmentFifty shades of Alloy - tips and tools for a great Titanium Mobile development
Fifty shades of Alloy - tips and tools for a great Titanium Mobile developmentAlessio Ricco
 
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppo
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppoIl lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppo
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppoAlessio Ricco
 
Titanium Mobile and Beintoo
Titanium Mobile and BeintooTitanium Mobile and Beintoo
Titanium Mobile and BeintooAlessio Ricco
 
Titanium appcelerator sdk
Titanium appcelerator sdkTitanium appcelerator sdk
Titanium appcelerator sdkAlessio Ricco
 
Titanium appcelerator best practices
Titanium appcelerator best practicesTitanium appcelerator best practices
Titanium appcelerator best practicesAlessio Ricco
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first appAlessio Ricco
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstartAlessio Ricco
 
Best Practices in apps development with Titanium Appcelerator
Best Practices in apps development with Titanium Appcelerator Best Practices in apps development with Titanium Appcelerator
Best Practices in apps development with Titanium Appcelerator Alessio Ricco
 
Un'ora sola ti vorrei
Un'ora sola ti vorreiUn'ora sola ti vorrei
Un'ora sola ti vorreiAlessio Ricco
 
tempi e scaletta presentazione
tempi e scaletta presentazionetempi e scaletta presentazione
tempi e scaletta presentazioneAlessio Ricco
 
Interim presentation GSJ11
Interim presentation GSJ11Interim presentation GSJ11
Interim presentation GSJ11Alessio Ricco
 
documentazione e presentazione GSJ11 1/4
documentazione e presentazione GSJ11 1/4documentazione e presentazione GSJ11 1/4
documentazione e presentazione GSJ11 1/4Alessio Ricco
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appceleratorAlessio Ricco
 

More from Alessio Ricco (16)

Co-design tools and techniques - world usability day rome 2015
Co-design tools and techniques - world usability day rome 2015Co-design tools and techniques - world usability day rome 2015
Co-design tools and techniques - world usability day rome 2015
 
Mobile1st ux/ui with Titanium
Mobile1st ux/ui with TitaniumMobile1st ux/ui with Titanium
Mobile1st ux/ui with Titanium
 
Fifty shades of Alloy - tips and tools for a great Titanium Mobile development
Fifty shades of Alloy - tips and tools for a great Titanium Mobile developmentFifty shades of Alloy - tips and tools for a great Titanium Mobile development
Fifty shades of Alloy - tips and tools for a great Titanium Mobile development
 
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppo
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppoIl lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppo
Il lato oscuro della forza - L'eterna lotta tra progettisti e team di sviluppo
 
Titanium Mobile and Beintoo
Titanium Mobile and BeintooTitanium Mobile and Beintoo
Titanium Mobile and Beintoo
 
Titanium appcelerator sdk
Titanium appcelerator sdkTitanium appcelerator sdk
Titanium appcelerator sdk
 
Titanium appcelerator best practices
Titanium appcelerator best practicesTitanium appcelerator best practices
Titanium appcelerator best practices
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first app
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
Best Practices in apps development with Titanium Appcelerator
Best Practices in apps development with Titanium Appcelerator Best Practices in apps development with Titanium Appcelerator
Best Practices in apps development with Titanium Appcelerator
 
Un'ora sola ti vorrei
Un'ora sola ti vorreiUn'ora sola ti vorrei
Un'ora sola ti vorrei
 
tempi e scaletta presentazione
tempi e scaletta presentazionetempi e scaletta presentazione
tempi e scaletta presentazione
 
Interim presentation GSJ11
Interim presentation GSJ11Interim presentation GSJ11
Interim presentation GSJ11
 
documentazione e presentazione GSJ11 1/4
documentazione e presentazione GSJ11 1/4documentazione e presentazione GSJ11 1/4
documentazione e presentazione GSJ11 1/4
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appcelerator
 
My personal hero
My personal heroMy personal hero
My personal hero
 

Ti.conf titanium on firefoxos

  • 1. Titanium Mobile Web & Firefox OS alessio ricco
  • 2. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco Firefox OS is a new mobile operating system, developed by Mozilla,which lets users install and run open web applications created using HTML5, CSS3, and JavaScript.
 
 We'll explain the best practices for a cross platform porting to MobileWeb and the guidelines for the deployment on this new cool platform. Abstract
  • 3. @alessioricco
 http://www.slideshare.net/alessioricco
 Titanium Certified App Developer/Titan 
 Ti.Roma - Roma Titanium Mobile Meetup
 http://www.meetup.com/Titanium-Appcelerator-Roma/ Titanium Mobile Developers Italy (fb)
 https://www.facebook.com/groups/TitaniumMobileItaly/?fref=ts Apps •TwinsMatcher •CrowdFuture •Bitcoin Markets •Wallive •World Medicine Park Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco About me
  • 4. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco About me … I’m a Cross Platform Curious….
  • 5. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco Cross Platform ?
  • 6. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS A new OS for mobile devices
 - Developed by Mozilla
 - Based on Linux
 - Gecko engine
  • 7. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Architecture
  • 8. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Architecture Gonk is the lower level operating system of the Firefox OS platform, consisting of a Linux kernel based on the Android Open Source Project (AOSP) and userspace hardware abstraction layer (HAL).
  • 9. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Architecture Gecko is the name of the layout engine developed by the Mozilla Project. Gecko's function is to read web content, such as HTML, CSS, XUL, JavaScript, and render it on the user's screen or print it.
  • 10. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Architecture Gaia is the user interface level of Firefox OS. Everything that appears on the screen after Firefox OS starts up is drawn by Gaia, including the lock screen, home screen, dialer, and other
  • 11. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - API
  • 12. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - SDK Available SDK • Firefox Web API 
 (mainly device/hardware/sensors)
 https://wiki.mozilla.org/WebAPI • Gaia building blocks
 (Ready to use UI snippets and code blocks)
 http://buildingfirefoxos.com/building-blocks/action-menu.html
  • 13. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Native Apps ! • Native apps are web apps!
 - HTML5
 - Javascript
 - CSS3 • Titanium MobileWeb Apps
 are able to run on FFOS
 (with some limits…)
  • 14. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1- Simulator Simulator and Debugger as Firefox Add-On
  • 15. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Deployment • Packaged Apps
 A packaged app is an Open Web App that has all of its resources (HTML, CSS, JavaScript, app manifest, and so on) contained in a zip file, instead of having its resources on a Web server • Hosted Apps
 A hosted app is an Open Web App that has all of its resources (HTML, CSS, JavaScript, app manifest and so on) stored on a Web server https://developer.mozilla.org/en-US/Marketplace/Options/Packaged_or_hosted_ https://developer.mozilla.org/en-US/Apps/Build/App_permissions
  • 16. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Open Web App Open Web Apps are essentially no different than standard websites or Web pages. They are built using standard open Web technologies HTML, CSS, JavaScript, etc. and can be accessed using a Web browser. The main differences lie in their ability to be installed on a device and work offline, and access to advanced APIs that allow interaction with device features such as the camera, address book, and other such things. In addition, they are built on open technologies as much as is possible.
  • 17. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Marketplace
  • 18. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1-Requirements ! • A simple text editor • Firefox Browser
 (Firefox 24 or Firefox 25) https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_1.1_Simulator
  • 19. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - install
  • 20. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - install
  • 21. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.2-Requirements ! • A simple text editor • Firefox Browser
 (Latest version) • App manager • WebIDE The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser. https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager https://hacks.mozilla.org/2014/06/webide-lands-in-nightly/
  • 22. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - dashboard
  • 23. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - Simulator
  • 24. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - app install
  • 25. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - app install
  • 26. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - The Manifest An open web app manifest 
 contains information that a web browser needs to interact with an app. ! A manifest is one of the key things that 
 distinguishes an open web app from a website. ! It is a JSON file with a name and description for the app, 
 and it can also contain the origin of the app, icons, and the permissions required by the app, among other things. The manifest file should be called manifest.webapp, and be placed in the root of your web app directory alongside your index.html file.
  • 27. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - The Manifest The manifest file should be called manifest.webapp, and be placed in the root of your web app directory alongside your index.html file. https://developer.mozilla.org/en-US/Apps/Build/Manifest
  • 28. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - The Manifest
  • 29. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - The Manifest { "name": "Kitchen Sink", "description": "Titanium demo", "launch_path": "/index.html", "icons": { "128": "/appicon.png" }, "developer": { "name": "appcelerator", "url": "http://www.appcelerator.com" }, "default_locale": "en" }
  • 30. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - Kitchen Sink
  • 31. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - Debugging
  • 32. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - Device connected…. remove empty lines at the end of the file Many aspects of Firefox OS development require installation of adb, the Android Debug Bridge.
  • 33. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS 1.1 - ADB Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program that includes three components: ! A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. ! A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. ! A daemon, which runs as a background process on each emulator or device instance. http://developer.android.com/tools/help/adb.html
  • 34. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Titanium Simulator is not working with Titanium Apps
 because 
 
 Most touch events do not work in Firefox OS Simulator 
 
 We need some workarounds…
  • 35. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Titanium DEMO Time!
  • 36. Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco FirefoxOS - Titanium • Touch Events doesn’t work on simulator • Touch Events works on device • Different tools between 1.1. and 2.1 • Back navigation button doesn’t work
 (Titanium.UI.MobileWeb.NavigationGroup) • Some UI elements doesn’t work • but…
  • 37. • FirefoxOS
 http://www.mozilla.org/en-US/firefox/os/ • FirefoxOS 1.1 Simulator
 https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_1.1_Simulator • Developers Page
 https://developer.mozilla.org/en-US/Firefox_OS • Firefox Browser (all the releases)
 ftp.mozilla.org/pub/mozilla.org/firefox/releases/ • Publishing Apps
 https://developer.mozilla.org/en-US/Marketplace/Options/Self_publishing • Submitting Apps
 https://developer.mozilla.org/it/docs/Web/Apps/Publishing/Submitting_an_app Links Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
  • 38. • Mobile Web overview
 http://docs.appcelerator.com/titanium/3.0/#!/guide/Mobile_Web_Platform_Overview • Mobile Web best practices (codestrong 2012)
 http://www.slideshare.net/appcelerator/codestrong-2012 • Mobile Web deployment
 http://docs.appcelerator.com/titanium/3.0/#!/guide/ Deploying_and_Distributing_Mobile_Web_Apps Links Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco
  • 39. Thank you Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco • Nois3
 http://www.nois3.it/ • Etnatraining
 http://www.etnatraining.it/ • Davide Cassenti, Luca Greco
  • 40. Contacts Titanium Mobile Web & FirefoxOS - tiConf 2014 - @alessioricco • https://www.linkedin.com/in/alessioricco • @alessioricco • http://www.slideshare.net/alessioricco • http://alessioricco.com