apps across different mobile devices and OSs including iOS, Android, and BlackBerry, as well as hybrid and HTML5. It includes an open source with over 5,000 device and mobile operating system APIs, , a powerful Eclipse- based IDE, , an MVC framework and for a ready-to-use mobile backend." – SDK Studio Alloy Cloud Services appcelerator.com
cross- platform mobile application using JavaScript and the Titanium API, which abstracts the native APIs of the mobile platforms. Titanium empowers you to create immersive, full-featured applications, featuring over 80% code reuse across mobile apps. Appcelerator licenses Titanium under the Apache 2 license and is free for both personal and commercial use." – appcelerator.com
it's configuration. app.js works as the main entry point of our application. The Resources folder saves all our JavaScript code, also our assets. i18n folder has our strings to be translated. CommonJS Module Specification is implemented, so require() function works like in node.js, YAY!. UI implementation isn't so easy, some logic needs to be written in order to handle different platforms.
development of high quality mobile applications. It follows a model-view-controller (MVC) architecture and using XML and CSS it provides a simple model for separating the application user interface, business logic and data models." – appcelerator.com
Underscore.js support. Fully code your app using XML, CSS (likely) and JavaScript. Use Alloy CSS themes to manage your app’s look and feel. Easily bind data sources to your apps’ user interface. Reusable widgets support. Offline storage support. Fully integrated with Studio.
Ham', author:'Dr. Seuss'}); var title = book.get('title'); var author = book.get('author'); // Label object in the view with id = 'label' $.label.text = title + ' by ' + author;
locally in a controller, use the method. You can also create a global singleton instance of a model, either in markup or in the controller, which may be accessed in all controllers. Backbone.Model Alloy.createModel
locally in a controller, use the method. You can also create a global singleton instance of a model, either in markup or in the controller, which may be accessed in all controllers. Collections are ordered sets of models and inherit from the class. You can create a collection via method or to access it globally. Backbone.Model Alloy.createModel Backbone.Collection Alloy.createCollection Alloy.Collections.instance
UI and communicate with the model. All UI elements which have an id attribute in a view are automatically defined and available as a property prefixed by the special variable $ in the controller. To access external controllers and views, use the and methods, respectively. Alloy.createController Controller.getView
UI and communicate with the model. All UI elements which have an id attribute in a view are automatically defined and available as a property prefixed by the special variable $ in the controller. To access external controllers and views, use the and methods, respectively. Controllers can inherit from other controllers by assigning it a base (parent) controller: exports.baseController = "baseControllerName" . Alloy.createController Controller.getView
Android. OS_BLACKBERRY, true if the current compiler target is BlackBerry. OS_IOS, true if the current compiler target is iOS. OS_MOBILEWEB, true if the current compiler target is Mobile Web. ENV_DEV, true if the current compiler target is built for development (running in the simulator or emulator). ENV_TEST, true if the current compiler target is built for testing on a device. ENV_PRODUCTION, true if the current compiler target is built for production (running after a packaged installation).
arguments to customize it, for instance, var controller = Alloy.createController("controller", {args1: "foo"}) . In the external controller, the special variable arguments[0] is used to receive the arguments.
the application, comprised of XML markup and Titanium style sheets. The XML markup defines the structure of the view, while the TSS file contains the styling elements applied to the XML markup--similar to the relationship between HTML and CSS." – appcelerator.com
not need to code the creation and setup of these components using JavaScript and the Titanium SDK API. Within a controller, a UI component can be referenced if its id attribute is defined.
to define the attributes of elements in the XML files. Attributes are the properties of the Titanium object. Styles are defined at three different levels: markup element, class attribute and the id attribute.
class attribute assigned to "container" ".container": { backgroundColor:"white" }, // This is applied to all Labels in the view "Label": { width: Ti.UI.SIZE, height: Ti.UI.SIZE, color: "#000", // black transform: Alloy.Globals.rotateLeft // value is defined in the alloy.js file }, // This is only applied to an element with the id attribute assigned to "label" "#label": { color: "#999" /* gray */ }
to define the attributes of elements in the XML files. Attributes are the properties of the Titanium object. Styles are defined at three different levels: markup element, class attribute and the id attribute. There's a global style file, called app.tss , which applies all styles defined inside it to all views. You can specify platform or device size conditionals, [platform=ios,android], [platform=ios formFactor=tablet]. Custom query styles, also themes are allowed.