Thursday, 30 May 2013

Understanding the Basic UI Elements

Titanium module

           The Titanium module provides the Titanium Mobile API, allowing developers to access native features of each target environment. As you know Titanium Supports Android, iOS, 

 Introducing the Basic Controls

        It's time to create your own mobile applications. Shall we start? Before going to coding, we have to learn some basic user interface(UI) components, used in both iOS and Android operating System. I'm going to introduce only the important UI components. I have demonstrated the basic control in the following image. I have used the image of an iPhone device but the controls are same for both Android and iOS devices.


     

1. Window

        A  Window is an empty drawing surface or container and it is a top-level container which means it can contain other views(I'll talk about views later).  Windows can be opened and closed. While we open a new Window, it will add to the top of existing window and while closing the window it will removed from the top.

2. View

        A view is also an empty drawing surface or container. It is the base type for all UI widgets (like Label, Button, Table view etc).  Windows contain other views, but in general they are not contained inside other views.  So a window is like a container for the views you want to draw ( like a screen). It will be the best practice to use a single window and different views for the entire applications instead of using  multiple windows.

3. Table View

            A table view is used to present information, organized in sections and rows, in a vertically-scrolling view. Table view is a very important control in applications. It is a common control in the applications like contacts, settings page etc.

There are more important controls like Text field, Button, Label which is just same as html controls.


You can see more controls here.

In next session we can start developing our first application..

Thursday, 9 May 2013

Getting Started with Titanium Studio


      Hey it's time to start working with Titanium!!! So first of all we have to download  and install the Titanium Studio. Do you know what is Titanium Studio? Titanium Studio is a modern IDE for Titanium developers to build, test, package and publish cross platform mobile applications. It provides a single development platform for each application across mobile operating systems like Android, iOS, Blackberry etc.

System Requirements

  • Operating System : a recent version of Windows, Mac OS X or Ubuntu
  • Memory : 2 GB RAM (available memory, rather than total memory)
  • Java Runtime : Oracle JDK (no other brand of Java is suitable)
  • Android SDK : To create and run Android Applications
  • Xcode(For MAC only) : To create and run iOS Applications

Remember :
  • For Windows, the 32-bit version of Java JDK is required regardless of whether Titanium is running on a 32-bit or 64-bit system
  • Ubuntu 12.04 requires a few extra packages and configuration settings before Studio can be launched. Run the following commands from a terminal

     sudo apt-get install libjpeg62 libwebkitgtk-1.0-0

     echo 'export MOZILLA_FIVE_HOME=/usr/lib/mozilla' >> ~/.bashrc

  • For 64-bit versions of Ubuntu, you need to also install the 32-bit libraries:

     sudo apt-get install ia32-libs



Creating Appcelerator Account
      Now we can start downloading and installing the Titanium Studio. To download Titanium Studio, you should have an account in Appcelerator. You can create a free account from here. Once you create an account, you will get an email from Appcelerator. You can activate your account using the link given in the account. Now you can download the Titanium Studio from https://my.appcelerator.com/resources. Remember you need to sign in to Appcelerator using the email id and password given. This email id and password will be your credentials to Appcelerator.

Launching and Configuring Titanium Studio
      Once you finish the install, you can launch the Titanium Studio. You should have an Internet Connectivity to work with Titanium Studio. After launching the Studio, it will prompt you for Username and Password. You can sign in using your Appcelerator credentials(Email id and Password). Now you have to select the workspace. Your projects will be saved in the workspace you selects. Once the Studio launched, it will check for the updates and it will install if there any new updates. You may manually install updates from Help menu. There will be two types of updates. Titanium SDK updates and Titanium Studio update. As the name refers, it will update your TiSDK and Titanium Studio respectively. 

         Now you can configure your Studio. Go to Dashboard (will be opened automatically in the Titanium Studio) and select Getting Started Tab. Select the theme and Studio UI and configure your Titanium studio by following the instructions given here.  You can start development once you completed the configurations.

Wednesday, 20 March 2013

Appcelerator Titanium

     Appcelerator Titanium is a platform for developing mobile, tablet and desktop applications using web technologies. Appcelerator Titanium is developed by Appcelerator Inc. and was introduced in December 2008. Support for developing iPhone- and Android-based mobile applications was added in June 2009. Support for developing iPad-based tablet apps was added in April 2010. BlackBerry support was announced on June 2010, and BB10 also. Appcelerator is planning to support Windows 8, announced on January 2013.

     Appcelerator Titanium Mobile is one of several phone web based application framework solutions allowing web developers to apply existing skills to create native applications for iPhone and Android. It is completely based on Javascript and the developers should learn Titanium API, which is quite different from familiar web frameworks such as jQuery. But from my experience it's quite simple and easy to learn.

     All application source code gets deployed to the mobile device where it is interpreted using a JavaScript engine; Mozilla's Rhino is used on Android and BlackBerry, and Apple's Javascriptcore is used on iOS. In 2011 it was announced that a port to Google's V8 JavaScript engine is in development which, when complete, will significantly improve performance. Being interpreted means that some errors in the source code will not be caught before the program runs. Program loading takes longer than it does for programs developed with the native SDKs, as the interpreter and all required libraries must be loaded before interpreting the source code on the device can begin.

     Reports says that working with Titanium gives fast results, making Titanium well suited for prototyping, there are issues around differences in behavior of the API cross-platform, stability and memory management, that made them re-write their apps in native code in the end. Many Appcelerator developers cite the speed of development, native UI, and JavaScript skill set needed as reasons why they choose to use Appcelerator.

     Titanium Studio is a full open standards IDE that is derived from Aptana Studio which Appcelerator acquired in January 2011. In April 2010. Appcelerator expanded the Titanium product line with the Titanium Tablet SDK. The Titanium Tablet SDK draws heavily from the existing support for iPhone, but it also includes native support for iPad-only user interface controls such as split views and popovers. Initially the mobile SDK only supported development for iPad, but support now includes Android-based tablets as well. The latest version of Titanium Studio available is 3.0 and Titanium SDK is 3.0.2

     Appcelerator, Inc. also offers cloud-based services for packaging, testing and distributing software applications developed on the Titanium platform. The company expanded its product line in January 2011 by acquiring Aptana, Inc, a developer of open source tools for building web applications.


Features

  • Support for standards-based web technologies: HTML, CSS and JavaScript on all platforms along with PHP, Python and Ruby for desktop platforms.
  • A platform-independent API to access native UI components including navigation bars, menus, dialog boxes and alerts, and native device functionality including the file system, sound, network and local database
  • API access to native mobile functionality like geolocation, accelerometer and maps
  • Integrated support for popular JavaScript and Ajax Frameworks including jQuery, YUI, MooTools, Scriptaculous and others
  • Extensibility through open interfaces and licensing, allowing developers to introduce support for additional scripting languages, media codecs and device-specific functionality

Tuesday, 19 March 2013

Introducing Titanium & PhoneGap





            Appcelerator Titanium and PhoneGap are two most popular cross platform for developing mobile applications. PhoneGap and Titanium appear to be similar. They both provide tools for cross-platform mobile development. Both also require the use of JavaScript and web technologies in some capacity. Both Titanium and PhoneGap are open source software with permissive licenses. While both technologies exist to enable cross-platform mobile development, the philosophies and approaches to solving this problem have very little in common. Also, the business goals driving each project from the perspective of the sponsoring companies (Adobe for PhoneGap and Appcelerator for Titanium) are very different. We can take a look about each platform. 

Appcelerator Titanium

Developer(s) Appcelerator, Inc.
Stable release 3.0.2 / February 19, 2013; 16 days ago
Operating system iOS, Android, BlackBerry, Mac OS X, Windows, Linux
Type Application framework
License Apache Public License v2, Proprietary software
Website http://www.appcelerator.com

PhoneGap

Original author(s) Joe Bowser, Michael Brooks, Rob Ellis, Dave Johnson, Anis Kadri, Brian Leroux, Jesse MacFadyen, Filip Maj, Eric Oesterle, Brock Whitten, Herman Wong, Shazron Abdullah
Developer(s) Adobe Systems
Stable release 2.5.0
Development status Active
Written in JavaScript, HTML5, CSS3, Java, C++, C# and Objective-C
Operating system iOS, Android, webOS, Windows Mobile, Symbian, BlackBerry and Windows Phone, Windows 8
Type mobile development framework
License Apache 2.0 License
Website www.phonegap.comcordova.apache.org

Tuesday, 26 February 2013

Cross platform for Mobile development

What is Cross Platform?

 

 

          Cross platform refers to the capability of software or hardware to run identically on different platforms. Many mobile applications for Android, iOS, Symbian and the Windows Mobile etc. for example, now produce binary-compatible files, which means that users can switch from one platform to the other without converting their data to a new format.

         Now a days, there is also cross-platform SDK for Android, iOS, Symbian, Samsung & Windows Mobile. Developing an mobile app can cost a lot of money and take a lot of time. So Cross-platform mobile app development makes things simpler and better. For example I want to make an application which works in Android, iOS, Symbian and BlackBerry, in normal case I need specialists for each platform to make the application for each device. It will not be much cost effective and also it takes time for development. Instead of native application, I selected cross platform mobile development, I can simply complete it with minimum resources and is really cost effective.

         Most of  the cross-platform tools works by combining the powers of HTML5, Javascript and CSS3. We can easily creates applications which are as good looking, and as identical as the available controls in the hosting device. New frameworks such as Appcelerator Titanium and PhoneGap, etc. support the initialization of device components and controls from Javascript. 

Advantages of Cross-Platform:

  • Use HTML5, Javascript and CSS3 to build stuff. No need to learn a platform specific development
  • One code for all(Phonegap supports around 7 platforms)
  • Rapid testing and deployment.
  • Use of the vendor specific market place to sell your products.
  • Could do more platform specific things on the device than its default browser(website).
  • Most off them are open source with lot of plugins and support to the community.
  • Cost effective

Disadvantages of Cross-Platform:

  • Poor performance compared to its native counterpart.
  • Even though you have lot of plugins, there isn't for everything. All the native controls might not be available for cross-platform
  • Different devices support similar functionalities not identical, building for all of it is even more money.
  • Limited Capabilities vs Native.

Saturday, 23 February 2013

Introduction

              Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing, downloaded by customers from various mobile software distribution platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser. 
             Application software developers also have to consider a lengthy array of screen sizes, hardware specifications and configurations because of intense competition in mobile software and changes within each of the platforms. We can develop applications for different types of mobile platforms. As technology grown faster, people started using smartphones of different brands.

           There are different platform we are familiar to, like Android OS(used in Android mobiles and Tablets), IOS (used in iPhon, iPads), Windows Phone (used in windows phones), Symbian (Nokia mobiles) etc. I'm writing this blog for those who wanted to develop mobile applications effectively