Download - Einführung in die webOS Programmierung
WebOS Programmierung
Markus [email protected]@twtomcat
ber mich
webOS Entwickler seit Oktober 2009
WebOS-Internals Mitglied
Web und Mobile Entwickler
Mehrere Apps im App Catalog
Hot Apps Gewinner mit Moo
Programm
Was ist WebOS?
Wie sieht eine Applikation aus?
Framework und Service APIs
Emulator und Ares
Wie entwickelt man eine Applikation?
Die erste Applikation
App Catalog
Kennt ihr HTML?
Kennt ihr CSS?
Kennt ihr Javascript?
Dann knnt ihr fr webOS entwickeln!
Was ist webOS?
SmartPhone Betriebssystem(spter auch fr Drucker und Tablets)
Offene BasisLinux
WebKit
V8
http://opensource.palm.com
SDK: HTML
HTML, CSS, JS
HTML 5 Standard (Canvas,CSS3,Storage)
Mojo und Prototype Framework
PDK: Plugin Development Kit
C/C++
Posix, OpenGL ES, SDL, PDL
Hybrid oder Fullscreen
Spiele: Angry Birds (iPhone Port)
Tools: wIRC (Hybrid)
Linux Tools
Ipkg
Gzip
Awk
Grep
Strace
Gdb
oprofile
Vmstat
Iostat
Top
Optware
Apache
Php
Gcc
Ctorrent
>1300 Pakete erhltlich
Wie sieht eine Applikation aus
Stage (Bhne, Tab im Browser)Scene (Szene, Seite im Browser)Widgets (GUI Elemente)
Assistants (setup,activate,deactivate,cleanup)
Mojo Framework
Prototype Framework
Mojo Framework
GUI Elemente
Javascript APIs
Folgt dem MVC MusterView: HTML
Model/Controller: Javascript
Beispiel (HTML)
Beispiel (Javascript)
var attributes= { modelProperty: 'original', focusMode: Mojo.Widget.focusSelectMode,maxLength: 30 };
this.model = {original: 'Bitte etwas eingeben',disabled: false };
Service API
Asynchrone dbus Kommunikation
JSON Parameter
Abonnement (Subscription)
Java/C Services
node.js in webOS 2.0
Service API
HardwareBeschleunigungsmesser, GPS, Bildschirm, Kamera
ApplikationsservicesAlarme, Kontakte, Kalender, Fotos, Up/Download
ApplikationsaktionenE-Mail, Karten, Telefon, Browser
Beispiel
this.controller.serviceRequest('palm://com.palm.connectiomanager',{ method: 'getstatus', parameters: { subscribe:true},onSuccess: this.handleOKResponse,onFailure: this.handleErrResponse});
Wie entwickelt man?
Ihr bevorzugter Editor
Kommandozeilen SDK-Tools
Optionales Eclipse Plugin
Optionales Komodo Edit Plugin
OS X, Linux (.deb), Windows wird untersttzt
webOS Emulator
Basierend auf VirtualBox
x86-Version von webOS
Nicht alle Hardware untersttzt (Kamera,GPS)
Fehlende Hardware kann simuliert werden
Jailbreak, Rooting?
upupdowndownleftrightleftrightbastart oder webos20090606
Novacom -t open tty://
root@palm-webos-device
ssh localhost -p 5522 -l root
Luna-send -n 1 palm://com.palm.pmradiosimulator/set_incomingcall
Palm Ares
Ares: WYSIWYG Programmierumgebung
Ares Log-Viewer
Ares Debugger
Ares Demo
palm-generate helloWorld
appinfo.jsonindex.htmlsources.jsonicon.png
Die erste Applikation
index.html
Hello World
Applikation installieren
- palm-package helloWorld
- palm-install com.yourdomain.helloworld_1.0.0_all.ipk
Szenen hinzufgen
palm-generate -t new_scene -p "name=first" helloWorldpalm-generate -t new_scene -p "name=second" helloWorld
app/views/first/first-scene.html
app/assistants/first-assistant.js
Szenen-HTML
First Scene Welcome to my World
Javascript - Setup
stage-assistant.js: Mojo.Controller.stageController.pushScene("first");
first-assistant.js:this.controller.setupWidget("button1", this.attributes = {}, this.model = { label : "OK", disabled: false } );
Javascript - Handler
this.handleButton1=this.handleButtonPress1.bindAsEventListener(this); Mojo.Event.listen(this.controller.get("button1"), Mojo.Event.tap, this.handleButton1);
FirstAssistant.prototype.handleButtonPress1 = function(event){ Mojo.Controller.stageController.pushScene("second"); }
App Catalog
Ist auf jedem Gert installiert
Noch nicht international (DE/UK/IR/FR)
70/30 Split
Developer Account: gratis
Einstellgebhr: keine
Web- und Beta-Feed (kein Review)
Ressourcen
developer.palm.com
Mobiletuts 3-teiliges Tutorial (mobile.tutsplus.com)
IRC: #webos (freenode)
www.webos-internals.org
mich fragen :)
Fragen?
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso