Products
Products
Video Hosting
Upload and manage your videos in a centralized video library.
Image Hosting
Upload and manage all your images in a centralized library.
Galleries
Choose from 100+templates to showcase your media in style.
Video Messaging
Record, and send personalized video messages.
CincoTube
Create your own community video hub your team, students or fans.
Pages
Create dedicated webpages to share your videos and images.
Live
Create dedicated webpages to share your videos and images.
For Developers
Video API
Build a unique video experience.
DeepUploader
Collect and store user content from anywhere with our file uploader.
Solutions
Solutions
Enterprise
Supercharge your business with secure, internal communication.
Townhall
Webinars
Team Collaboration
Learning & Development
Creative Professionals
Get creative with a built in-suite of editing and marketing tools.
eCommerce
Boost sales with interactive video and easy-embedding.
Townhall
Webinars
Team Collaboration
Learning & Development
eLearning & Training
Host and share course materials in a centralized portal.
Sales & Marketing
Attract, engage and convert with interactive tools and analytics.
"Cincopa helped my Enterprise organization collaborate better through video."
Book a Demo
Resources
Resources
Blog
Learn about the latest industry trends, tips & tricks.
Help Centre
Get access to help articles FAQs, and all things Cincopa.
Partners
Check out our valued list of partners.
Product Updates
Stay up-to-date with our latest greatest features.
Ebooks, Guides & More
Customer Stories
Hear how we've helped businesses succeed.
Boost Campaign Performance Through Video
Discover how to boost your next campaign by using video.
Download Now
Pricing
Watch a Demo
Demo
Login
Start Free Trial
Appcelerator Titanium is an open-source development framework that builds native mobile applications for iOS and Android devices using a single JavaScript codebase. It compiles the JavaScript into native code at runtime that developers can use to write once and deploy across platforms with native UI components and access to device APIs. Core Architecture and Runtime Model Titanium applications are written in JavaScript and run inside a lightweight JavaScript engine embedded in the app—V8 on Android and JavaScriptCore on iOS. During execution, Titanium bridges JavaScript calls to native platform APIs using a set of native modules. This runtime model ensures native performance and user experience while maintaining cross-platform consistency. The Titanium SDK provides access to platform-specific APIs and includes core modules and UI components. Developers interact with the framework through a Command-Line Interface (CLI) and optionally via Titanium Studio , a dedicated IDE for building and packaging apps. Titanium also offers the Alloy Framework , a Model-View-Controller (MVC) architecture that promotes separation of concerns and simplifies UI logic. While Alloy is the default structure for many projects, it is entirely optional . Developers can build Titanium apps using only JavaScript and XML without adopting Alloy. Application Structure A Titanium project includes: /app /assets /controllers /models /styles /views /app.js -> Entry point /config.json -> Platform-specific configurations Explanation : /app/controllers : Contains controller files responsible for handling the application logic and user input. /app/models : Contains data models representing the structure and business logic of the app's data. /app/styles : Contains style sheets (CSS or similar) that define the look and feel of the app. /config.json : Configuration file holding platform-specific settings and environment variables. Cross-Platform UI Rendering Titanium maps UI components to native widgets rather than rendering them inside a webview. This gives apps a native look and feel on each platform. For example, a simple window and label can be defined using Alloy XML:
// controllers/index.js $.index.open(); Explanation : views/index.xml : The Alloy XML file defining the UI layout for the index screen. Window.backgroundColor : Sets the window’s background color to white. controllers/index.js : The controller file handling the logic for the index view. $.index.open() : The command to open and display the index window. Accessing Native Device Features Titanium provides native access to core device capabilities such as the camera, GPS, notifications, sensors, and more. These features are accessed via high-level JavaScript APIs, abstracting away platform-specific complexity. Example : Using the Device Camera Titanium.Media.showCamera({ success: function(event) { var image = event.media; Ti.API.info('Captured image size: ' + image.width + 'x' + image.height); }, cancel: function() { Ti.API.info('Camera was canceled'); }, error: function(error) { Ti.API.error('Camera error: ' + error.code); } }); Explanation : Titanium.Media.showCamera : Opens the device camera to capture a photo or video. event.media : The captured media (image or video) from the camera. image.width / image.height : The dimensions of the captured image. error.code : The error code describing the camera failure. Multimedia Integration Titanium supports native video playback, streaming, and media control via its Ti.Media module and platform extensions. A basic video player can be created as follows: var videoPlayer = Titanium.Media.createVideoPlayer({ url: 'https://example.com/video.mp4', mediaControlStyle: Titanium.Media.VIDEO_CONTROL_DEFAULT, scalingMode: Titanium.Media.VIDEO_SCALING_ASPECT_FILL }); var win = Ti.UI.createWindow({ backgroundColor: 'black' }); win.add(videoPlayer); win.open(); Explanation : mediaControlStyle : The style of video controls displayed, set to default controls. scalingMode : How the video scales within the player, set to aspect fill mode. win.add(videoPlayer) : Adds the video player to the window’s view hierarchy. win.open() : Opens and displays the window containing the video player. Data Binding and Local Storage For client-side data management, Titanium supports local persistence via Alloy models and collections, following a Backbone-like syntax. Data can be stored in SQLite databases and optionally synced with remote services. A typical model definition might look like this: exports.definition = { config: { columns: { name: 'text', duration: 'integer' }, adapter: { type: 'sql', collection_name: 'videos' } } }; Explanation : exports.definition : The module exporting the model definition for Titanium Alloy. config.columns : Defines the database table columns and their data types. config.adapter : Specifies the data storage adapter configuration. collection_name : The name of the collection (or table) in the database, here ' videos .' Debugging and Troubleshooting Titanium offers several tools to support debugging across platforms. During builds, you can use the --log-level debug flag with the CLI: ti build -p ios --log-level debug This provides detailed logging, including bridge communication and lifecycle events. On Android, adb logcat can be used alongside Titanium’s --debug-host flag for remote inspection. For iOS and Android apps running in development mode, Titanium supports remote debugging via Chrome DevTools. You can inspect JavaScript execution, view console logs, and set breakpoints directly from your browser. Deployment and CI/CD Best Practices Titanium applications can be compiled and deployed using the CLI or Titanium Studio. For production, the build process includes full compilation and asset bundling. Developers can produce installable packages (.apk, .ipa) directly from the command line. For Continuous Integration and Delivery (CI/CD), tools like GitHub Actions, CircleCI, or Bitrise can be integrated to automate builds, run tests, and deploy to TestFlight or Google Play. A typical CI step might pin the Titanium SDK version to ensure build consistency: ti sdk install 12.7.0.GA Environment variables can manage app credentials, signing keys, and API tokens securely. Combining automated tests and build pipelines reduces regression risk and accelerates delivery cycles. Video Capabilities with Titanium For apps that require video playback, streaming, or recording, Titanium provides APIs through Titanium.Media and modules such as Ti.VideoPlayer. Example of embedding a native video player. var videoPlayer = Titanium.Media.createVideoPlayer({ url: 'https://example.com/video.mp4', mediaControlStyle: Titanium.Media.VIDEO_CONTROL_DEFAULT, scalingMode: Titanium.Media.VIDEO_SCALING_ASPECT_FILL }); var win = Ti.UI.createWindow({ backgroundColor: 'black' }); win.add(videoPlayer); win.open(); Explanation : mediaControlStyle : The style of the media controls shown, set to the default control style. scalingMode : Defines how the video scales within the player, here set to aspect fill. win.add(videoPlayer) : Adds the video player to the window’s view hierarchy. win.open() : Opens and displays the window containing the video player.