Opera Widgets

Download Report

Transcript Opera Widgets

Mobile Programming
1
Two Scenarios
• Web sites, like Tuubi
where you
read/write/download/
upload material
Browser as a client is fine
• Web Services/Sites,
like Foursquare
where location,
device camera, etc
and local processing
make a difference in
user experience
Customized/Smart Client
Native Clients
• Develop client separately for each target platform
+
+
+
+
User experience could be optimized
Very good performance in optimal case
Platform capabilities could be fully utilized
Distribution using Application Market (App Store/Google
Play/Marketplace, etc.)
+ Better quality due to App Store & Marketplace control
–
–
–
–
Time and resource consuming
Application market will take 30% of your money
App Store & Marketplace decide what can be published
Managing different versions
Java
ObjectiveC
C#
C++
4
Browser based Clients
• Develop one client for all target platforms
+
+
+
+
+
Fast to develop
Good designer / developer availability
Freedom from censorship
Freedom to keep your own money
Same version for all users
-
Performance not optimal
Browser differences
User experience not optimal
Access to platform capabilities
HTML
CSS
JavaScript
JavaScript libraries, like jQuery
5
Twitter
Native App
Mobile Web App
Cross-platform Development
• Build application using HTML/CSS and JavaScript and package
them as native applications using cross-platform tools:
• “The Appcelerator Titanium platform was one of the first of the
newer generation of multi-OS development platforms, promising
write-once capabilities across multiple device/OS types”
– Titanium Studio is Aptana based IDE
– You need also native tool chains for each of the mobile platforms
• “The PhoneGap framework acts as a bridge between web
applications and mobile devices. It lets developers wrap web
applications inside a native application.”
– You will use native application development tools
• Check also:
Kony Platform, Sybase Unwired
Platform, Adobe Air, Marmalade,
appMobi, Brightcove, Sencha …
7
Windows Phone Application development
• Native applications using XAML for UI design and C# for
coding
iPhone Application development
• Browser based applications
• Native applications
– Created using objective-C and the cocoa touch framework
• Only native applications can be distributed through apple
app store
Android
• A free, open source mobile platform (not a device nor a
product) based on Linux
• Not limited to phones - you could build a DVR, a
handheld GPS, an MP3 player, etc.
• Started by Google – today Android is backed by Open
Handset Alliance: TI/Qualcomm/Intel/Broadcom;
Samsung/LG/Huawei/HTC/Acer/Asus;China
Mobile/Unicom/DoCoMo/KDDI/TIM/TMobile/Voda/Telefonica/Sprint;Google
• Programming language: Java with own packages / APIs,
nothing to do with Java ME
Tizen
• Tizen Association: Huawei, Intel, NEC, NTT Docomo,
Orange, Panasonic, Samsung, SK Telecom, Sprint,
Telefonica and Vodafone.
• Linux based platform for smartphones, tablets, netbooks,
in-vehicle infotainment devices and smart TVs
• First prototype Samsung device given to developers May
2012
• SDK 2.2 released July, 2013
• Devices to be expected this year:
http://news.cnet.com/8301-1035_3-57597026-94/samsung-co-ceo-we-want-tizen-to-beon-everything/
Tizen Application Development
• HTML5 web apps as widgets
• Native applications using QML for UI design and C++ for
coding
12
Others
• Ubuntu Phone: Linux OS, Browser apps and native
applications using QML for UI design and C++ for coding
• Sailfish Phone (Jolla): Linux OS, Browser apps and
native applications using QML for UI design and C++ for
coding
• Firefox OS: Linux kernel + Gecko based runtime-engine,
HTML5 web apps as widgets
13