26
Spaghetti Sort presents Janus: the ultimate professiona tool for Flash/Flash Lite/Flex developers! Presenters: • Daniele Cerolini (Janus Lead Director, Flash Platform developer) • Leonardo Risuleo (Janus Symbian Developer, Mobile developer/designer) A Boston Adobe Mobile and Devices User Group event: http://www.flashmobilegroup.org/ 9 November 2007

Janus Mobile e-Seminar

Embed Size (px)

DESCRIPTION

Janus Symbian and Pocket PC presentation... The ultimate tool for Flash / Flash Lite developers.

Citation preview

Page 1: Janus Mobile e-Seminar

Spaghetti Sort presentsJanus: the ultimate professionaltool for Flash/Flash Lite/Flexdevelopers!

Presenters:

• Daniele Cerolini (Janus Lead Director, Flash Platform developer)• Leonardo Risuleo (Janus Symbian Developer, Mobile developer/designer)

A Boston Adobe Mobile and Devices User Group event:http://www.flashmobilegroup.org/9 November 2007

Page 2: Janus Mobile e-Seminar

Content’s Overview:

Who’s Janus?Janus is the name of an ancient Roman god who had two faces looking into different directions. These faces are symbols for the two sides of a Janus compiled application. The swf side, written in ActionScript and the .exe side, written in a .NET or C++ language.

Janus Symbian:- Features- Sis creation- Extending Flash Lite

Janus Pocket PC:- Features- Cab creation- Extending Flash / Flash Lite

What’s Janus?Janus is a tool for Flash developers that let’s you create and deploy applications for Windows, Pocket PC, Symbian out of your SWF files. It also expands actionscript functionalities with the Janus framework.

Page 3: Janus Mobile e-Seminar

Janus Symbian version 2.0.2

Janus Symbian Lite (free) key features:• Professional SIS Maker and SWF Launcher tool • Flash Lite 1.1, 2.0 and 2.1 (3.0 embedded) compatible• Symbian S60 platform editions 1st, 2nd & 3rd• Auto sign SIS installer (with custom certificates)• Lets you embed external files (ie images, texts, videos, sounds…)• Lets you specify required capabilities• Lets you embed additional SIS file with yours (es. Flash Lite Player, Python…)

Janus Symbian Full (149 €):•Lets you modify the source file for your SIS in order to fine-tune and tweak your SIS• Extends Flash Lite functionalities with a full set of extra methods (native c++)

Page 4: Janus Mobile e-Seminar

Janus Symbian Diagrams

Symbian OS

Janus Symbian LauncherC++ engine

http 1.0 / 1.1 protocol

Flash Lite Player

SWF application

DesktopSIDE

SymbianSIDE

Windows XP, Vista

Symbian SDKs, Java RE, Active Perl, .NET

Janus IDE

Compiled and signed SIS file

Page 5: Janus Mobile e-Seminar

Interface: Symbian TAB

Page 6: Janus Mobile e-Seminar

Symbian Resources TAB

Page 7: Janus Mobile e-Seminar

Capabilities TAB

Page 8: Janus Mobile e-Seminar

SIS file TAB

Page 9: Janus Mobile e-Seminar

Extending Flash Lite capabilities with JanusJanus Symbian Edition lets you expand the power of Flash Lite for Smartphone beyond your imagination, providing a “growing up” set of additional custom functions:

Additional methods

- displayNote (display Symbian Global notes: information, error, warning, confirmation)- writeFile (write txt or xml files on the device’s file system)- screenShot (takes a full or partial screenshot in jpg format )- findFiles (search the file system for a specified content)*- getDrive (let us know the drive we’re working on)- Close (close the engine to free memory)- More to come…

* Xml output

Page 10: Janus Mobile e-Seminar

Code sample: how to take a screenshot

var sendVar:LoadVars = new LoadVars();var receiveVar:LoadVars = new LoadVars();

sendVar.area = "0,0,100,100"; // 100x100 px shotsendVar.path = "\\Others\\myScreen.jpg";sendVar.qualityfactor = "100"; receiveVar.onLoad = function(){       if(this.err == "none") {               trace("ok");               msgText.text = "DONE";       } else {               trace("error");               msgText.text = this.msg; //diplay error       }}sendVar.sendAndLoad("http://127.0.0.1:1080/screenShot",receiveVar,"POST");

Page 11: Janus Mobile e-Seminar

Janus Pocket PC version

Janus Pocket PC key features (199 €):

• Professional CAB Maker and SWF Launcher tool using the industry leading "Janus Engine” • Supports Flash Lite 2.1 and Flash Player 7 for Pocket PC • You have access to the device file system • You can access SQL Server Mobile or SQLite3 databases • You can manipulate images • You can send SMS messages and Emails • You have full WiFi management • You can read GPS data • You can check a variety of device status properties · Lets you embed external files (ie images, texts and sounds) to be deployed with your application  Designed and built in order to be easily updated and future proof - more and more Janus Pocket PC methods are in the works!

Page 12: Janus Mobile e-Seminar

Janus Pocket PC Diagrams

Windows Mobile OS

Janus Pocket PC LauncherC# engine

XMLSocket

Flash Lite / Flash 7

SWF application / Compact .Net2 Form

DesktopSIDE

Pocket PCSIDE

Windows XP, Vista

.NET

Janus IDE

Compiled EXE - CAB file - ActiveSync installer

Page 13: Janus Mobile e-Seminar

Interface: Application TAB

Page 14: Janus Mobile e-Seminar

Main Form TAB

Page 15: Janus Mobile e-Seminar

Libraries TAB

Page 16: Janus Mobile e-Seminar

Resources TAB

Page 17: Janus Mobile e-Seminar

Compile TAB

Page 18: Janus Mobile e-Seminar

Cab File TAB

Page 19: Janus Mobile e-Seminar

PPC Installer TAB

Page 20: Janus Mobile e-Seminar

Extending Flash capabilities with JanusJanus Pocket PC lets you expand the power of Flash Lite for Smartphone beyond your imagination, providing a “growing up” set of additional custom functions:

Some Classes

- SQLite3, SQLServer- System, Status- File, FTP- GPS- WIFI- OutLook- SMS (interceptor)- Registry

Page 21: Janus Mobile e-Seminar

Code Sample - Show a Message BoxHow to show a message box and retrieve the button clicked: 

import ssp.dialogs.*; //Add the event listener for the 'show' eventvar listener:Object = new Object();listener.show = function(e:String){       result_txt.text = e;}//MessageBox button1.onRelease = function(){        MessageBox.addListener(listener);       MessageBox.message = "Hello World";       MessageBox.caption = "Information";       MessageBox.buttons = "YesNoCancel";       MessageBox.icon = "None";       MessageBox.show();}

Page 22: Janus Mobile e-Seminar

Code Sample - How to intercept an SMS message 1/3This code sample shows the usage of the MessageInterceptor class. This class allows to get notifications if a new SMS has been received. You can set the action which can be either 'notify' or 'notifydelete'. Notify will pass the notification down to the next application waiting for SMS messages while notifydelete will delete the message afterwards and block the notification chain. import ssp.utils.*;import ssp.error.*;import ssp.phone.*; var listener:Object = new Object(); listener.EVENT_messageReceived = function(e){       if(e instanceof SSPError)       {               result_txt.text ="Error: " + e.message;       }       else       {               var mySMS:SMS = new SMS(e);               result_txt.text = "SMS: " + mySMS.body + "\r";               result_txt.text += "From: " + mySMS.from + "\r"       }}

Page 23: Janus Mobile e-Seminar

Code Sample - How to intercept an SMS message 2/3

listener.initialize = function(e){       if(e instanceof SSPError)       {               result_txt.text ="Initialization Error: " + e.message;       }       else       {               result_txt.text = "Is Initialized: " + e.toString() + "\r";       }} listener.setAction = function(e){       if(e instanceof SSPError)       {               result_txt.text ="Set action Error: " + e.message;       }       else       {               result_txt.text = "Action set: " + e.toString() + "\r";       }} 

Page 24: Janus Mobile e-Seminar

Code Sample - How to intercept an SMS message 3/3

listener.setCriteria = function(e){       if(e instanceof SSPError)       {               result_txt.text ="Set criteria Error: " + e.message;       }       else       {               result_txt.text = "Criteria set: " + e.toString() + "\r";       }}  MessageInterceptor.addListener(listener); button1.onRelease = function(){         MessageInterceptor.setAction("notifydelete");        MessageInterceptor.setCriteria("body", "contains", "janus", false);       MessageInterceptor.initialize(); }

Page 25: Janus Mobile e-Seminar

Resources:

Adobe Mobile & Devices Developer Centerwww.adobe.com/go/mobiledeveloper

Symbian & Nokiahttp://www.symbian.com/http://developer.symbian.com/https://www.symbiansigned.com/http://community.forum.nokia.com/

Spaghetti Sorthttp://www.spaghettisort.com/http://www.spaghettisort.com/help (help)http://www.spaghettisort.com/forum (forum)

[email protected]@spaghettisort.comhttp://www.scriptamanentgroup.net/byte/

Page 26: Janus Mobile e-Seminar

Thanks!