SlideShare une entreprise Scribd logo
1  sur  33
Studio
Development Platform :
        - Titanium Studio.
        - Eclipse IDE plug-in

Step First - Install the recent JDK
             - Configure the variable PATH now

Open the System properties and click on the Advanced option.

Target – to setup the environment variable.

Open Environment Variables

SetUP – New system variable, like Variable Name : JAVA_HOME
          Variable Values : show jdk path
                      [C:Program FilesJavajdk1.6.0_22bin].
          Also edit System Variable which variable name is ‘path’.
          Add jdk path on the variable value field.
                       [C:Program FilesJavajdk1.6.0_22bin].
          Check out JAVA version from command prompt with : javac
*** If problem then use –
           [C:Javajdk1.6.0_22bin].
Step Second :
- Install Android SDK
- Configure the variable PATH now

SetUP option :
New system variable, like Variable Name : android_sdk
Variable Values : show Android SDK path
                [C:Program FilesJavajdk1.6.0_22bin].
Edit System Variable which variable name is ‘path’.
Add both ‘Android SDK tools’ and ‘platform tools’ path on the variable value field.

Like as
– C:/ Program Files (x86)/Android/android-sdk/tools
– C:/ Program Files (x86)/Androd/android-sdk/platform/../tools

Verify – the Android SDK installation works
        – On the command prompt ‘aapt v’ & ‘android list’
Problem – update Titanium Mobile SDK & Desktop SDK
- Go
    C:UsersTomalAppDataRoamingTitaniummobilesdkwin321.8.0.v2011111410390
    5android
- Open android.py file with notepad, on the bottom of import just add
      DEFAULT_API_LEVEL = 7
- Check the folder must have ‘android 7’
     C:Program Files (x86)Androidandroid-sdkplatforms
Now to Install & Start - Titanium studio

Before the Titanium Studio setup, you must need to restart your PC.

Open the Android AVD manager from
    C:Program Files (x86)Androidandroid-sdk
Then create a new avd with
    Named - titanium_5_WVGA800

Keep up to date – Titanium MobileSDK & DesktopSDK
                   [http://builds.appcelerator.com.s3.amazonaws.com/index.html]
                – Titanium Studio too.

GoTo the Windows
   > Preferences from Menu Bar, click on the ‘Titanium Studio’ from tree.
   > Then Titanium, show the Android SDK path and choose the target                 Android
   platform.

Need to fetch the ‘jre’ file from JAVA tree
- JAVA tree select ‘Build Path’ as jre Library use JRE_LIB variables(depricated).
- Next, select ‘Installed JREs’ click on the ADD.
- Here show the JDK path and load JRE then OK.
- Back on and see the loaded JDK , check it.


OK…Done.
   From the menu bar, Help and Install new software.
   Clicking on the ‘Available Software Sites’ open a Preference
    Window.
   ADD –
https://dl-ssl.google.com/android/eclipse/
named as Google ADT plug-in
http://www.blackberry.com/go/eclipseUpdate/3.6/java
named as BlackBerry
http://download.appcelerator.com/appcelerator/studio/standalone/update/stable/
named as Titanium Studio Stable Updates

Reload them and install necessary packages –
 - From the Heilos Milestone Repository, programming language,
   check Java Development Tools.
 - Install ADT plug-in [Android, BlackBerry, iOS]

finish
   Titanium works by
       translating JavaScript code into a native application code and
       then invokes the platform underlying tools to build the final package.

   Titanium is conceptual build with three distinctive building blocks
       Pre-compiler
        The Titanium pre-compilers role is to take your application's JavaScript code
        and optimize it (reduce whitespace, reduce the size of symbols, etc) and then
        create a dependency hierarchy of all the Titanium APIs used by your
        application.

       Front-end compiler
        The role of the front-end compiler is to generate the appropriate platform-
        specific native code, native project (if necessary) and build any specific code
        that is necessary to compile Titanium for a given platform compiler.

       Platform compiler & packager
        Each native platform has a set of associated tools (for example, Xcode for iOS)
        that are used to compile the final native application. After compilation, your
        application is packaged for running either on the native simulator, native
        device for testing or for final packaging for distribution.
   Titanium uses a typical MVC (model view controller)
    design concept for building application. The
    Titanium UI (user interface) is native.

   In Titanium, one will use a standard set of APIs that
    are pre-built in to Titanium and that will provide one
    with the capabilities to build your application.

   These APIs are split into various namespaces such as

Titanium.UI (for User Interface)
or Titanium.Network (for networking).
The following are the major design components in Titanium:
  Windows - windows host one or most Views
  Views       - views draw content on the screen
  Widgets     - widgets are special types of views that perform specific
                 actions like buttons


                               Windows
Windows have a lifecycle and host one or more Views inside them.
A Window itself is a View.
Self-contained Windows
For example, to create a simple Window, you could do the
   following:
var win = Ti.UI.createWindow();
var view = Ti.UI.createView({backgroundColor:"red"});
win.add(view);
win.open();
URL-based Windows
Sometimes it's easier to structure your application where the logic for a given
   Window comes from a separate JavaScript file.

The URL for a URL-based Window must be local - meaning that it must be
    included in your project Resources directory and compiled in to the
    application.

We could restructure the above code to use a URL-based design.
  First, in your app.js, you would add:
   var win = Ti.UI.createWindow({url:"view.js"});
   win.open();

   Then, create a file named view.js and add the following code:
    var win = Ti.UI.currentWindow;
    var view = Ti.UI.createView({backgroundColor:"red"});
    win.add(view);

Notice that the win variable points to Ti.UI.currentWindow. Titanium defines a
   set of special variables in your JavaScript context automatically for you
   which allow you. Ti.UI.currentWindow defines the Window reference that
   owns (opened) the current Window so you can still reference it.
Titanium Mobile Kitchen Sink Demo -
    https://github.com/appcele​rator/KitchenSink.git

Titanium SDK from URL and paste in the following URLs:
    OSX: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obiles
    dk-1.7.0.RC1-osx.zip
    Win32: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obile
    sdk-1.7.0.RC1-win32.z​ip
    Linux: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obile
    sdk-1.7.0.RC1-linux.z​ip

Further Information about Java compiler error - find here
   http://www.nightspirit.tw/​2010/04/how-to-setup-titan​ium-on-your-pc.html
   Android/iPhone on KitchenSink is a sample project workshop :
       https://github.com/appcelerator/KitchenSink.git
       Also can it download from Git.
   for an iPhone Development issuing –
        - Work with the iPhone developer Portal
          http://developer.appale.com/iPhone
       - SignIn with AplleID
       - Certificate connection
                  Generate with onScreen instruction.
                  Upload it, Browse-Locate the generated CSR.
                  Submit it..
       - Install the certification
                   Double Click .CSR and device certificate
       - Registration for a development device
                  Device Name , Device Serial Number
       - AppID for an iPhone Application
                AppID & Titanium developer ID(Roayl Card) must be the same.
                 Provisioning profile is for Device elected testing & also deployment issue
   Works at a shallow level, and the kinds of capabilities
    with an expect to find.
Titanium Desktop SDK                                        on Detail
   The Titanium Desktop SDK provides a runtime environment for
    creating native desktop applications in HTML, CSS, and JavaScript.
    Titanium Desktop packages up your application source code
    (HTML/CSS/JavaScript) with a heavily augmented build of the
    popular Webkit open source web browser engine.

   Titanium Desktop application is basically a web page (or pages) and a
    web browser packaged into a single executable program. But your
    desktop app is more than just a local web page - Titanium Desktop
    apps have access to enhanced native functionality,

   Like file system access, media, the ability to run external processes,
    native UI chrome, and more.

   Also available package Ruby, Python, or PHP code with your
    application, further extending the capabilities of your always-on
    desktop application.
Titanium Mobile SDK                                                          on Detail
   The Titanium Mobile SDK allows you to create, run, and package real native
    mobile applications for iOS, Android, and BlackBerry (beta) devices

   Using the cross-platform JavaScript APIs. But unlike Titanium Desktop,
    where applications run inside a web browser engine, Titanium Mobile
    applications are run against a standalone JavaScript engine which invokes
    native APIs.

   In fact writing a native application - it's just that you're using cross-platform
    JavaScript rather than non-portable Java or Objective-C.

   Titanium Mobile apps use native UI and platform APIs, and run at close to
    full native speed.

The Titanium Mobile SDK works with the native SDK tool chains to combine your JavaScript
    source code, a JavaScript interpreter, and your static assets into an application binary
    that will be installed to an emulator or mobile device. It's worth mentioning that you
    could write your application UI in HTML and CSS, but typically you will use native UI
    components through a Titanium JavaScript API.
Titanium Studio                                             on Detail
   Titanium Studio is an IDE (Integrated Development Environment)
    that will enhance the user's experience while developing on the
    Titanium Platform.

   Titanium Studio will help you create, run, and package Titanium
    Mobile or Titanium Desktop application projects. All of the latest
    Mobile and Desktop SDKs will be maintained and kept up to date by
    Titanium Studio.

   In addition to the nice features of an IDE ( i.e. syntax highlighting,
    content assist, code validation etc.) Titanium Studio also provides
    tight integration with the scripts used to create and run Titanium
    Projects.
Titanium Developer expects the adb executable to be in the same
    location, ie $ANDROID_SDK/tools,
   as the Android SDK and AVD Manager (android executable), but Google has recently
    moved it to $ANDROID_SDK/platform-tools.
   Thus, it is necessary to create a symbolic link in $ANDROID_SDK/tools that references
    the new location.

For Windows, you must create a symbolic link for adb.exe and its
    associated AdbWinApi.dll:
   cd %ANDROID_SDK%tools
   mklink adb.exe ..platform-toolsadb.exe
   mklink AdbWinApi.dll ..platform-toolsAdbWinApi.dll

Interesting Feature : experimental issue
If you discover that the Android emulator is too large to comfortably fit your screen, you
     can telnet to the virtual device and use the window scale command to reduce it, as
     demonstrated: appcel@myubuntu:~$ adb devices
    List of devices attached
    emulator-5560 device
    appcel@myubuntu:~$ telnet localhost 5560
    Connected to localhost.
    Escape character is '^]'.
    Android Console: type 'help' for a list of commands, OK
    window scale 0.75, OK
   With a new on ‘Titanium’ project
    # give it Project Type, Name, AppID *** ,
    Company /Personal ID, Titanuim SDK.
Introduction
   The Fastdev server enables Titanium developers writing
    Android apps to rapidly test and see the changes they
    make in code.
   The app requests whatever it needs under Resources from
    the Fastdev server.
   Fastdev is running and app requestsapp.js (or just about
    anything under Resources)
   Fastdev is only supported for the Android Emulator.

Pre-requisites
 MobileSDK 1.7.0 or above

 Follow the instructions in the Titanium Command-line
   tool guide so can call the titanium script directly.
Starting the Fastdev server
To put your app in Fastdev mode, you'll first need to run the Fastdev server, and re-deploy
    your app:

   Start the Fastdev server for your app:
        $ cd ~/myApp
        $ titanium fastdev start
        [INFO] [2011-05-06 09:43:02,755] Serving up files for
        org.appcelerator.myApp at 0.0.0.0:62835 from       /Users/marshall/myApp

   Run your app on the currently running emulator. This may require a full rebuild, since
    we build ALL modules into a Fastdev app to avoid missing functionality:
        $ titanium run --platform=android --android=/path/to/android-sdk
    For convenience, you can avoid using the --android argument by setting
    the ANDROID_SDK environment variable.

   In Titanium Studio, you can use the project's Run menu
    A restart here simply means restarting the app itself, not a full rebuild (like
    in previous versions of the MobileSDK). This may require a full rebuild,
    since we build ALL modules into a Fastdev app to avoid missing
    functionality:
        $ titanium run --platform=android --android=/path/to/android-sdk
    For convenience, you can avoid using the --android argument by setting
    the ANDROID_SDK environment variable
Restarting a Fastdev app :
 Any one of these methods will cause the app to restart:
      "Fast" restart$ titanium fastdev restart-app
     Re-run the application: You can just the same command as
       above:
    $ titanium run --platform=android --android=/path/to/android-
       sdk

   Manually restart by pressing the emulator's Back
    button, and clicking on it's icon in the App chooser.

   However, keep in mind that you don't always need to
    restart your app for changes to take effect.
       For example, if you're using Ti.UI.createWindow with
        the urlattribute set, then any time that window is opened it will
        reload the JavaScript code in url using Fastdev.
       Similarly, any time Ti.include is called, Titanium will make a
        request using Fastdev.
        Generally, only changes in app.js, and any scripts it might
        include with Ti.include will require an application restart.
Generally, this means these kinds of changes will require a full rebuild /
   redeploy:
  Changes to tiapp.xml
  Changes to JSS stylesheets
  Adding, Removing, or Updating a Titanium Module
  Adding, Removing, or Updating native Android Resources
   under platform/android

Fastdev also supports the platform-
    specific Resources/android directory, which maps directly to Resources,
    however any special android native images that are changed
    in Resources/android/images/$CONFIG will require a full rebuild
    (where $CONFIG is one of low, medium, high, or an Android resource
    identifier such as res-long-mdpi).

Changing the Fastdev server's Idle Timeout
  The Fastdev server shuts down automatically after being idle (i.e. no new
   requests by the app) for 30 minutes. You can increase this by passing a
   custom timeout when starting the Fastdev server:

Shutdown after being idle for 2 hours (in seconds)
  $ titanium fastdev start -t 7200
   In all cases, the project is taken from the current
    working directory.
       CommandDescriptionstart Starts the Fastdev server for a
        project.
       If the server is already running for this project, this has no
        effect.status Prints the status of the Fastdev server.
       Warns if the server is not running.stop Stops the Fastdev
        server for a project.
       If the server is not running, a warning will be
        issued.restart-app Restarts the app currently connected
        to the Fastdev server.
       If no app is currently connected, this has no effect.kill-
        app Kills the app currently connected to the Fastdev
        server.
        If no app is currently connected, this has no effect.
   $ titanium fastdev --help
   Usage: fastdev.py [command] [options] [app-dir]
Supported Commands:
    start         start the fastdev server
    status        get the status of the fastdev server
    stop          stop the fastdev server
    restart-app   restart the app connected to this fastdev server
    kill-app      kill the app connected to this fastdev server

Options:
   -h, --help show this help message and exit
   -p PORT, --port=PORT port to bind the server to [default: first available
               port]
   -t TIMEOUT, --timeout=TIMEOUT
               Timeout in seconds before the Fastdev server shuts
               itself down when it hasn't received a request
               [default: 1800]
   -l LOCK_FILE, --lock-file=LOCK_FILE
               Path to the server lock file [default: app-
               dir/.fastdev.loc]
In a Titanium Mobile application
source code is packaged into a binary file and then interpreted at runtime by a JavaScript engine
    bundled in by the Titanium build process.

The JavaScript Engine
Titanium runs application's JavaScript using one of two JavaScript interpreters
     - JavaScriptCore on iOS (the interpreter used by Webkit) , Mozilla Rhino on Android,
     - the Browser Field object on BlackBerry.

Titanium has supplemented the global namespace with some global functions JavaScript
     developers would be accustomed to. Titanium-specific APIs are found in
     the Titanium namespace. Titanium is also aliased to Ti to save you some keystrokes

About Built-In Functions
  setTimeout - schedule a function to be called once after a certain number of
                   milliseconds
  setInterval - schedule a function to be called on a regular interval, specified in
                   milliseconds
  clearInterval - remove a function executing on interval
  alert         - display a simple native alert dialog with text (for quick and dirty visual
                   debugging, in lieu of logging)
  JSON          - Titanium provides a standard JSON serialization/deserialization mechanism
                   via the JSON namespace (JSON.parse and JSON.stringify)
Include files in the current execution context, much like using a <script> tag in an HTML page.
> Ti.include('myscript.js');

Scripts included into the current context via include are executed globally for the context, and are not
     affected by functional scope. Let's say somescript.js contains a single variable declaration:
var something = true;

The following code in app.js:
Ti.include('somescript.js');
if (something) {
 Ti.API.info('something is true');
}

And this code are equivalent - notice that includes are always global, regardless of the scope they are
    called in:
(function() {
 Ti.include('somescript.js');
})();

if (something) {
 Ti.API.info('something is true');
}

application can have multiple execution contexts. New execution contexts are typically created by
      opening a new window that points to an external URL in its url property:
Ti.UI.createWindow({
 url:'window.js'
}).open();
Communicate across execution contexts using
     - application-level events.
     - Using Titanium's custom event API, arbitrary JavaScript data
  structures can be sent and received in different execution contexts.

Note - that the 'payload' of your event must be JSON serializable,
   so business objects will not preserve any instance methods associated
   with them.
   The APIs used to fire and receive events are in the Ti.App namespace:
//to fire...

Ti.App.fireEvent('customEvent', {
  myData:true, someStuff:[ 'foo‘, 'bar’ ]
});
//to receive...
Ti.App.addEventListener('customEvent', function(eventData) {
alert(eventData.someStuff[0]);
//will alert 'foo'
});
The case in software development, the answer is "that depends".

Most of the time, it is probably advisable to use a single execution context, for a couple of reasons:
   - Can pass complex objects in custom events
   - Include your libraries/dependencies only once, since there's only one context

Advice - Don't pollute the global scope!
Declaring a lot of global variables and functions in an execution context leaves your code at risk of
    colliding with its self or other included libraries. To avoid this, use closures and self-calling
    functions to encapsulate your code. A rational include file would look something like this:
var myAPI = {};
// This is a variable I intend to be global, since I want. people who inculde my file to have visibility to it
(function(){
 // put my implementation inside a self-calling function, so I can go crazy with local functions and variables
 function helper(){
   //do stuff
 }

  var state_variable = true;
  //then, create a controlled public API..
myAPI.doSomething = function() {
    //do something
  };
})();
   Don't pollute the global scope!
   Use === and !== instead of == and !=
   Lots of variables? Use a comma
   Efficient loops
   Wrap self-calling functions in parenthesis
   Avoid deep nesting

More -
    http://wiki.appcelerator.org/display/guides/JavaScript+Best+Practices
Database
sqlite.org Management Tool List
SQLite Expert (Free and Commercial versions)
Sequel Pro for OSX
ERMaster Eclipse Plugin Entity Relationship Tool (free)
SQLiteStudio (free)
Clay Mark II Eclipse Plugin Entity Relationship Tool (free and commercial)
Navicat (Commercial database management, backup and migration tool)
MesaSQL for OSX (free/beta)


Debugging
Colored Logcat for Android. Use the script logcat-ti.sh to filter out everything
except Ti.API messages. Logcat filters are explained in detail on the Android
Developers website
JSLint, online JavaScript validator and code tidier
JSONLint, online JSON validator and code tidier
JSON Formatter and Validator, online JSON script and remote webservice
validator, and code tidier
Design
ImageMagick mogrify for image file format conversion and manipulation
pngcrush for png file optimization


Editing
Titanium Studio Preview for code editing, syntax highlighting, js validation and
debugging
Aptana Studio for code editing, syntax highlighting and js validation
Eclipse, with the Titanium Autocomplete plugin and the WTP plugin (for js
validation)
Textmate Bundle
Scite4Titanium 1.3 and Notepad++ Titanium Plugin
Visual Studio Doc Plugin
Livetanium
Framework
The Titanium platform has given rise to a number of frameworks built on top of
Titanium that add features, increase productivity or organize application code. For
example:
Utility Libraries
Helium - a Titanium utility library and framework for building component-
oriented, event-driven Titanium Mobile applications. Provides visual and non-
visual unit testing support, utility functions, and a JavaScript-based framework for
building and styling UI components
Titanium Redux - utility library for Titanium, aimed at reducing the amount of code
needed for common tasks in Titanium
Titanium Tools - a sweet collection of tools for Titanium Mobile
Foundation - MVC microframework for Titanium 1.5.X
TiQuery - framework for Titanium based on jQuery

Persistence
TiStore - ActiveRecord for Titanium
Joli - small ORM for Titanium
Special Purpose
Twitter oAuth Adapter - utility for making authenticated Twitter API calls
System Admin
OSX Environment Variable Configuration Tool


Other
Browser Search Engines (Mycroft - Sherlock / OpenSearch format)
Alertra SpotCheck URL for checking the availability of web pages, from the
perspective of major cities around the world

Contenu connexe

Tendances

Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureVijay Rastogi
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulatorguru472
 
108 advancedjava
108 advancedjava108 advancedjava
108 advancedjavaAnil Kumar
 
outgoing again
outgoing againoutgoing again
outgoing againspredslide
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialEd Zel
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialkatayoon_bz
 
Mobile os by waqas
Mobile os by waqasMobile os by waqas
Mobile os by waqas8neutron8
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tipsbupbechanhgmail
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemBoydlee Pollentine
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setupChina Bigs
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 

Tendances (20)

Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
Iphone development
Iphone developmentIphone development
Iphone development
 
React Native
React NativeReact Native
React Native
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulator
 
108 advancedjava
108 advancedjava108 advancedjava
108 advancedjava
 
outgoing again
outgoing againoutgoing again
outgoing again
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
Android cours
Android coursAndroid cours
Android cours
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Mobile os by waqas
Mobile os by waqasMobile os by waqas
Mobile os by waqas
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tips
 
Android
AndroidAndroid
Android
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setup
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 

En vedette

titanium and titanium alloys
 titanium and titanium alloys titanium and titanium alloys
titanium and titanium alloysAli Zamel
 
Smart materials
Smart materialsSmart materials
Smart materialsIncopin
 
Smart materials
Smart materialsSmart materials
Smart materialsJobin Joy
 
Introduction to Smart Materials
Introduction to Smart MaterialsIntroduction to Smart Materials
Introduction to Smart MaterialsMohammad Tawfik
 
SMART Materials
SMART MaterialsSMART Materials
SMART MaterialsBiswajit_A
 
Smart materials.. smart ppt
Smart materials.. smart pptSmart materials.. smart ppt
Smart materials.. smart pptdeepika46
 

En vedette (9)

titanium and titanium alloys
 titanium and titanium alloys titanium and titanium alloys
titanium and titanium alloys
 
Smart materials
Smart materialsSmart materials
Smart materials
 
Smart material
Smart materialSmart material
Smart material
 
Smart materials
Smart materialsSmart materials
Smart materials
 
Smart materials
Smart materialsSmart materials
Smart materials
 
Smart materials
Smart materialsSmart materials
Smart materials
 
Introduction to Smart Materials
Introduction to Smart MaterialsIntroduction to Smart Materials
Introduction to Smart Materials
 
SMART Materials
SMART MaterialsSMART Materials
SMART Materials
 
Smart materials.. smart ppt
Smart materials.. smart pptSmart materials.. smart ppt
Smart materials.. smart ppt
 

Similaire à Titanium Studio [Updated - 18/12/2011]

Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modulesomorandi
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxlancelotlaytan1996
 
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
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first appAlessio Ricco
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Decksschwarzhoff
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Nicholas Jansma
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In ActionHazem Saleh
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisLawrence Nyakiso
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Tutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSTutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSPhilipp Burgmer
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentAhsanul Karim
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy FrameworkTechday7
 

Similaire à Titanium Studio [Updated - 18/12/2011] (20)

Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptx
 
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
 
Ionic2 First Lesson of Four
Ionic2 First Lesson of FourIonic2 First Lesson of Four
Ionic2 First Lesson of Four
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first app
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)
 
Apache cordova
Apache cordovaApache cordova
Apache cordova
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
 
iOS App Using cordova
iOS App Using cordovaiOS App Using cordova
iOS App Using cordova
 
Appium
AppiumAppium
Appium
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility Analysis
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Tutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSTutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJS
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application Development
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy Framework
 

Plus de Sentinel Solutions Ltd (6)

Aws amazon ec2
Aws amazon ec2Aws amazon ec2
Aws amazon ec2
 
Android ndk
Android ndkAndroid ndk
Android ndk
 
Android NDK
Android NDKAndroid NDK
Android NDK
 
GWT Widgets
GWT WidgetsGWT Widgets
GWT Widgets
 
Programming Style - Duck Type
Programming Style - Duck TypeProgramming Style - Duck Type
Programming Style - Duck Type
 
Programming style - duck type
Programming style - duck typeProgramming style - duck type
Programming style - duck type
 

Dernier

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 

Dernier (20)

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 

Titanium Studio [Updated - 18/12/2011]

  • 2. Development Platform : - Titanium Studio. - Eclipse IDE plug-in Step First - Install the recent JDK - Configure the variable PATH now Open the System properties and click on the Advanced option. Target – to setup the environment variable. Open Environment Variables SetUP – New system variable, like Variable Name : JAVA_HOME Variable Values : show jdk path [C:Program FilesJavajdk1.6.0_22bin]. Also edit System Variable which variable name is ‘path’. Add jdk path on the variable value field. [C:Program FilesJavajdk1.6.0_22bin]. Check out JAVA version from command prompt with : javac *** If problem then use – [C:Javajdk1.6.0_22bin].
  • 3. Step Second : - Install Android SDK - Configure the variable PATH now SetUP option : New system variable, like Variable Name : android_sdk Variable Values : show Android SDK path [C:Program FilesJavajdk1.6.0_22bin]. Edit System Variable which variable name is ‘path’. Add both ‘Android SDK tools’ and ‘platform tools’ path on the variable value field. Like as – C:/ Program Files (x86)/Android/android-sdk/tools – C:/ Program Files (x86)/Androd/android-sdk/platform/../tools Verify – the Android SDK installation works – On the command prompt ‘aapt v’ & ‘android list’ Problem – update Titanium Mobile SDK & Desktop SDK - Go C:UsersTomalAppDataRoamingTitaniummobilesdkwin321.8.0.v2011111410390 5android - Open android.py file with notepad, on the bottom of import just add DEFAULT_API_LEVEL = 7 - Check the folder must have ‘android 7’ C:Program Files (x86)Androidandroid-sdkplatforms
  • 4. Now to Install & Start - Titanium studio Before the Titanium Studio setup, you must need to restart your PC. Open the Android AVD manager from C:Program Files (x86)Androidandroid-sdk Then create a new avd with Named - titanium_5_WVGA800 Keep up to date – Titanium MobileSDK & DesktopSDK [http://builds.appcelerator.com.s3.amazonaws.com/index.html] – Titanium Studio too. GoTo the Windows > Preferences from Menu Bar, click on the ‘Titanium Studio’ from tree. > Then Titanium, show the Android SDK path and choose the target Android platform. Need to fetch the ‘jre’ file from JAVA tree - JAVA tree select ‘Build Path’ as jre Library use JRE_LIB variables(depricated). - Next, select ‘Installed JREs’ click on the ADD. - Here show the JDK path and load JRE then OK. - Back on and see the loaded JDK , check it. OK…Done.
  • 5. From the menu bar, Help and Install new software.  Clicking on the ‘Available Software Sites’ open a Preference Window.  ADD – https://dl-ssl.google.com/android/eclipse/ named as Google ADT plug-in http://www.blackberry.com/go/eclipseUpdate/3.6/java named as BlackBerry http://download.appcelerator.com/appcelerator/studio/standalone/update/stable/ named as Titanium Studio Stable Updates Reload them and install necessary packages – - From the Heilos Milestone Repository, programming language, check Java Development Tools. - Install ADT plug-in [Android, BlackBerry, iOS] finish
  • 6. Titanium works by  translating JavaScript code into a native application code and  then invokes the platform underlying tools to build the final package.  Titanium is conceptual build with three distinctive building blocks  Pre-compiler The Titanium pre-compilers role is to take your application's JavaScript code and optimize it (reduce whitespace, reduce the size of symbols, etc) and then create a dependency hierarchy of all the Titanium APIs used by your application.  Front-end compiler The role of the front-end compiler is to generate the appropriate platform- specific native code, native project (if necessary) and build any specific code that is necessary to compile Titanium for a given platform compiler.  Platform compiler & packager Each native platform has a set of associated tools (for example, Xcode for iOS) that are used to compile the final native application. After compilation, your application is packaged for running either on the native simulator, native device for testing or for final packaging for distribution.
  • 7.
  • 8. Titanium uses a typical MVC (model view controller) design concept for building application. The Titanium UI (user interface) is native.  In Titanium, one will use a standard set of APIs that are pre-built in to Titanium and that will provide one with the capabilities to build your application.  These APIs are split into various namespaces such as Titanium.UI (for User Interface) or Titanium.Network (for networking).
  • 9. The following are the major design components in Titanium:  Windows - windows host one or most Views  Views - views draw content on the screen  Widgets - widgets are special types of views that perform specific actions like buttons Windows Windows have a lifecycle and host one or more Views inside them. A Window itself is a View. Self-contained Windows For example, to create a simple Window, you could do the following: var win = Ti.UI.createWindow(); var view = Ti.UI.createView({backgroundColor:"red"}); win.add(view); win.open();
  • 10. URL-based Windows Sometimes it's easier to structure your application where the logic for a given Window comes from a separate JavaScript file. The URL for a URL-based Window must be local - meaning that it must be included in your project Resources directory and compiled in to the application. We could restructure the above code to use a URL-based design.  First, in your app.js, you would add: var win = Ti.UI.createWindow({url:"view.js"}); win.open();  Then, create a file named view.js and add the following code: var win = Ti.UI.currentWindow; var view = Ti.UI.createView({backgroundColor:"red"}); win.add(view); Notice that the win variable points to Ti.UI.currentWindow. Titanium defines a set of special variables in your JavaScript context automatically for you which allow you. Ti.UI.currentWindow defines the Window reference that owns (opened) the current Window so you can still reference it.
  • 11. Titanium Mobile Kitchen Sink Demo - https://github.com/appcele​rator/KitchenSink.git Titanium SDK from URL and paste in the following URLs: OSX: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obiles dk-1.7.0.RC1-osx.zip Win32: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obile sdk-1.7.0.RC1-win32.z​ip Linux: http://builds.appcelerator​.com.s3.amazonaws.com/RC/m​obile sdk-1.7.0.RC1-linux.z​ip Further Information about Java compiler error - find here http://www.nightspirit.tw/​2010/04/how-to-setup-titan​ium-on-your-pc.html
  • 12. Android/iPhone on KitchenSink is a sample project workshop : https://github.com/appcelerator/KitchenSink.git Also can it download from Git.  for an iPhone Development issuing – - Work with the iPhone developer Portal http://developer.appale.com/iPhone - SignIn with AplleID - Certificate connection Generate with onScreen instruction. Upload it, Browse-Locate the generated CSR. Submit it.. - Install the certification Double Click .CSR and device certificate - Registration for a development device Device Name , Device Serial Number - AppID for an iPhone Application AppID & Titanium developer ID(Roayl Card) must be the same. Provisioning profile is for Device elected testing & also deployment issue
  • 13. Works at a shallow level, and the kinds of capabilities with an expect to find.
  • 14. Titanium Desktop SDK on Detail  The Titanium Desktop SDK provides a runtime environment for creating native desktop applications in HTML, CSS, and JavaScript. Titanium Desktop packages up your application source code (HTML/CSS/JavaScript) with a heavily augmented build of the popular Webkit open source web browser engine.  Titanium Desktop application is basically a web page (or pages) and a web browser packaged into a single executable program. But your desktop app is more than just a local web page - Titanium Desktop apps have access to enhanced native functionality,  Like file system access, media, the ability to run external processes, native UI chrome, and more.  Also available package Ruby, Python, or PHP code with your application, further extending the capabilities of your always-on desktop application.
  • 15. Titanium Mobile SDK on Detail  The Titanium Mobile SDK allows you to create, run, and package real native mobile applications for iOS, Android, and BlackBerry (beta) devices  Using the cross-platform JavaScript APIs. But unlike Titanium Desktop, where applications run inside a web browser engine, Titanium Mobile applications are run against a standalone JavaScript engine which invokes native APIs.  In fact writing a native application - it's just that you're using cross-platform JavaScript rather than non-portable Java or Objective-C.  Titanium Mobile apps use native UI and platform APIs, and run at close to full native speed. The Titanium Mobile SDK works with the native SDK tool chains to combine your JavaScript source code, a JavaScript interpreter, and your static assets into an application binary that will be installed to an emulator or mobile device. It's worth mentioning that you could write your application UI in HTML and CSS, but typically you will use native UI components through a Titanium JavaScript API.
  • 16. Titanium Studio on Detail  Titanium Studio is an IDE (Integrated Development Environment) that will enhance the user's experience while developing on the Titanium Platform.  Titanium Studio will help you create, run, and package Titanium Mobile or Titanium Desktop application projects. All of the latest Mobile and Desktop SDKs will be maintained and kept up to date by Titanium Studio.  In addition to the nice features of an IDE ( i.e. syntax highlighting, content assist, code validation etc.) Titanium Studio also provides tight integration with the scripts used to create and run Titanium Projects.
  • 17. Titanium Developer expects the adb executable to be in the same location, ie $ANDROID_SDK/tools,  as the Android SDK and AVD Manager (android executable), but Google has recently moved it to $ANDROID_SDK/platform-tools.  Thus, it is necessary to create a symbolic link in $ANDROID_SDK/tools that references the new location. For Windows, you must create a symbolic link for adb.exe and its associated AdbWinApi.dll:  cd %ANDROID_SDK%tools  mklink adb.exe ..platform-toolsadb.exe  mklink AdbWinApi.dll ..platform-toolsAdbWinApi.dll Interesting Feature : experimental issue If you discover that the Android emulator is too large to comfortably fit your screen, you can telnet to the virtual device and use the window scale command to reduce it, as demonstrated: appcel@myubuntu:~$ adb devices  List of devices attached  emulator-5560 device  appcel@myubuntu:~$ telnet localhost 5560  Connected to localhost.  Escape character is '^]'.  Android Console: type 'help' for a list of commands, OK  window scale 0.75, OK
  • 18. With a new on ‘Titanium’ project # give it Project Type, Name, AppID *** , Company /Personal ID, Titanuim SDK.
  • 19. Introduction  The Fastdev server enables Titanium developers writing Android apps to rapidly test and see the changes they make in code.  The app requests whatever it needs under Resources from the Fastdev server.  Fastdev is running and app requestsapp.js (or just about anything under Resources)  Fastdev is only supported for the Android Emulator. Pre-requisites  MobileSDK 1.7.0 or above  Follow the instructions in the Titanium Command-line tool guide so can call the titanium script directly.
  • 20. Starting the Fastdev server To put your app in Fastdev mode, you'll first need to run the Fastdev server, and re-deploy your app:  Start the Fastdev server for your app: $ cd ~/myApp $ titanium fastdev start [INFO] [2011-05-06 09:43:02,755] Serving up files for org.appcelerator.myApp at 0.0.0.0:62835 from /Users/marshall/myApp  Run your app on the currently running emulator. This may require a full rebuild, since we build ALL modules into a Fastdev app to avoid missing functionality: $ titanium run --platform=android --android=/path/to/android-sdk For convenience, you can avoid using the --android argument by setting the ANDROID_SDK environment variable.  In Titanium Studio, you can use the project's Run menu A restart here simply means restarting the app itself, not a full rebuild (like in previous versions of the MobileSDK). This may require a full rebuild, since we build ALL modules into a Fastdev app to avoid missing functionality: $ titanium run --platform=android --android=/path/to/android-sdk For convenience, you can avoid using the --android argument by setting the ANDROID_SDK environment variable
  • 21. Restarting a Fastdev app :  Any one of these methods will cause the app to restart:  "Fast" restart$ titanium fastdev restart-app  Re-run the application: You can just the same command as above: $ titanium run --platform=android --android=/path/to/android- sdk  Manually restart by pressing the emulator's Back button, and clicking on it's icon in the App chooser.  However, keep in mind that you don't always need to restart your app for changes to take effect.  For example, if you're using Ti.UI.createWindow with the urlattribute set, then any time that window is opened it will reload the JavaScript code in url using Fastdev.  Similarly, any time Ti.include is called, Titanium will make a request using Fastdev.  Generally, only changes in app.js, and any scripts it might include with Ti.include will require an application restart.
  • 22. Generally, this means these kinds of changes will require a full rebuild / redeploy:  Changes to tiapp.xml  Changes to JSS stylesheets  Adding, Removing, or Updating a Titanium Module  Adding, Removing, or Updating native Android Resources under platform/android Fastdev also supports the platform- specific Resources/android directory, which maps directly to Resources, however any special android native images that are changed in Resources/android/images/$CONFIG will require a full rebuild (where $CONFIG is one of low, medium, high, or an Android resource identifier such as res-long-mdpi). Changing the Fastdev server's Idle Timeout  The Fastdev server shuts down automatically after being idle (i.e. no new requests by the app) for 30 minutes. You can increase this by passing a custom timeout when starting the Fastdev server: Shutdown after being idle for 2 hours (in seconds)  $ titanium fastdev start -t 7200
  • 23. In all cases, the project is taken from the current working directory.  CommandDescriptionstart Starts the Fastdev server for a project.  If the server is already running for this project, this has no effect.status Prints the status of the Fastdev server.  Warns if the server is not running.stop Stops the Fastdev server for a project.  If the server is not running, a warning will be issued.restart-app Restarts the app currently connected to the Fastdev server.  If no app is currently connected, this has no effect.kill- app Kills the app currently connected to the Fastdev server.  If no app is currently connected, this has no effect.
  • 24. $ titanium fastdev --help  Usage: fastdev.py [command] [options] [app-dir] Supported Commands:  start start the fastdev server  status get the status of the fastdev server  stop stop the fastdev server  restart-app restart the app connected to this fastdev server  kill-app kill the app connected to this fastdev server Options:  -h, --help show this help message and exit  -p PORT, --port=PORT port to bind the server to [default: first available  port]  -t TIMEOUT, --timeout=TIMEOUT  Timeout in seconds before the Fastdev server shuts  itself down when it hasn't received a request  [default: 1800]  -l LOCK_FILE, --lock-file=LOCK_FILE  Path to the server lock file [default: app-  dir/.fastdev.loc]
  • 25. In a Titanium Mobile application source code is packaged into a binary file and then interpreted at runtime by a JavaScript engine bundled in by the Titanium build process. The JavaScript Engine Titanium runs application's JavaScript using one of two JavaScript interpreters - JavaScriptCore on iOS (the interpreter used by Webkit) , Mozilla Rhino on Android, - the Browser Field object on BlackBerry. Titanium has supplemented the global namespace with some global functions JavaScript developers would be accustomed to. Titanium-specific APIs are found in the Titanium namespace. Titanium is also aliased to Ti to save you some keystrokes About Built-In Functions  setTimeout - schedule a function to be called once after a certain number of milliseconds  setInterval - schedule a function to be called on a regular interval, specified in milliseconds  clearInterval - remove a function executing on interval  alert - display a simple native alert dialog with text (for quick and dirty visual debugging, in lieu of logging)  JSON - Titanium provides a standard JSON serialization/deserialization mechanism via the JSON namespace (JSON.parse and JSON.stringify)
  • 26. Include files in the current execution context, much like using a <script> tag in an HTML page. > Ti.include('myscript.js'); Scripts included into the current context via include are executed globally for the context, and are not affected by functional scope. Let's say somescript.js contains a single variable declaration: var something = true; The following code in app.js: Ti.include('somescript.js'); if (something) { Ti.API.info('something is true'); } And this code are equivalent - notice that includes are always global, regardless of the scope they are called in: (function() { Ti.include('somescript.js'); })(); if (something) { Ti.API.info('something is true'); } application can have multiple execution contexts. New execution contexts are typically created by opening a new window that points to an external URL in its url property: Ti.UI.createWindow({ url:'window.js' }).open();
  • 27. Communicate across execution contexts using - application-level events. - Using Titanium's custom event API, arbitrary JavaScript data structures can be sent and received in different execution contexts. Note - that the 'payload' of your event must be JSON serializable, so business objects will not preserve any instance methods associated with them. The APIs used to fire and receive events are in the Ti.App namespace: //to fire... Ti.App.fireEvent('customEvent', { myData:true, someStuff:[ 'foo‘, 'bar’ ] }); //to receive... Ti.App.addEventListener('customEvent', function(eventData) { alert(eventData.someStuff[0]); //will alert 'foo' });
  • 28. The case in software development, the answer is "that depends". Most of the time, it is probably advisable to use a single execution context, for a couple of reasons: - Can pass complex objects in custom events - Include your libraries/dependencies only once, since there's only one context Advice - Don't pollute the global scope! Declaring a lot of global variables and functions in an execution context leaves your code at risk of colliding with its self or other included libraries. To avoid this, use closures and self-calling functions to encapsulate your code. A rational include file would look something like this: var myAPI = {}; // This is a variable I intend to be global, since I want. people who inculde my file to have visibility to it (function(){ // put my implementation inside a self-calling function, so I can go crazy with local functions and variables function helper(){ //do stuff } var state_variable = true; //then, create a controlled public API.. myAPI.doSomething = function() { //do something }; })();
  • 29. Don't pollute the global scope!  Use === and !== instead of == and !=  Lots of variables? Use a comma  Efficient loops  Wrap self-calling functions in parenthesis  Avoid deep nesting More - http://wiki.appcelerator.org/display/guides/JavaScript+Best+Practices
  • 30. Database sqlite.org Management Tool List SQLite Expert (Free and Commercial versions) Sequel Pro for OSX ERMaster Eclipse Plugin Entity Relationship Tool (free) SQLiteStudio (free) Clay Mark II Eclipse Plugin Entity Relationship Tool (free and commercial) Navicat (Commercial database management, backup and migration tool) MesaSQL for OSX (free/beta) Debugging Colored Logcat for Android. Use the script logcat-ti.sh to filter out everything except Ti.API messages. Logcat filters are explained in detail on the Android Developers website JSLint, online JavaScript validator and code tidier JSONLint, online JSON validator and code tidier JSON Formatter and Validator, online JSON script and remote webservice validator, and code tidier
  • 31. Design ImageMagick mogrify for image file format conversion and manipulation pngcrush for png file optimization Editing Titanium Studio Preview for code editing, syntax highlighting, js validation and debugging Aptana Studio for code editing, syntax highlighting and js validation Eclipse, with the Titanium Autocomplete plugin and the WTP plugin (for js validation) Textmate Bundle Scite4Titanium 1.3 and Notepad++ Titanium Plugin Visual Studio Doc Plugin Livetanium
  • 32. Framework The Titanium platform has given rise to a number of frameworks built on top of Titanium that add features, increase productivity or organize application code. For example: Utility Libraries Helium - a Titanium utility library and framework for building component- oriented, event-driven Titanium Mobile applications. Provides visual and non- visual unit testing support, utility functions, and a JavaScript-based framework for building and styling UI components Titanium Redux - utility library for Titanium, aimed at reducing the amount of code needed for common tasks in Titanium Titanium Tools - a sweet collection of tools for Titanium Mobile Foundation - MVC microframework for Titanium 1.5.X TiQuery - framework for Titanium based on jQuery Persistence TiStore - ActiveRecord for Titanium Joli - small ORM for Titanium Special Purpose Twitter oAuth Adapter - utility for making authenticated Twitter API calls
  • 33. System Admin OSX Environment Variable Configuration Tool Other Browser Search Engines (Mycroft - Sherlock / OpenSearch format) Alertra SpotCheck URL for checking the availability of web pages, from the perspective of major cities around the world