@titanium/turbo

    2.1.10 • Public • Published

    Titanium Turbo

    The awesome framework for turbo charging your Titanium cross-platform native mobile app development!


    Tweet GitHub stars GitHub forks GitHub watchers @titanium/turbo Dependabot Status GitHub PRs GitHub license GitHub contributors npm

    ℹ️ Disclaimer:
    This project is not an official Axway product. It is managed by Brenton House using open-source modules, libraries, and tools. Try it out and let us know what you think!



    📓   Description

    Titanium Turbo is a fork of Titanium Alloy that adds a lot of enhancements and customizations for rapid development.

    Starting with Turbo v2, version number of Turbo will no longer be tied to versions of Titanium Alloy.

    This version of Titanium Turbo is based on Titanium Alloy 1.15.1

    🚀   Getting Started

    Simple Method

    Create new Titanium Turbo project

    npx @geek/mobile app:create my-new-app

    Build and run your app!

    npm run ios

    or...

    npm run android

    Manual Method

    Install Axway AMPLIFY Titanium and Alloy CLI

    npm install -g titanium alloy

    Create new Titanium project

    ti create --type app --platforms all --name my-new-app

    Add Titanium Alloy to project

    cd my-new-app
    alloy new

    Create default package.json file

    npm init -y

    Install Titanium Turbo in root of project

    npm install @titanium/turbo

    Install Titanium Turbo Plugin in root of project

    npm install @titanium/plugin-turbo
    

    Build and run your app!

    ti build --platform ios --log-level trace

    or...

    ti build --platform android --log-level trace

      Features

    See changelog.md for history of changes

    • [x] Supports installing npm packages in root of project for use in mobile [TIMOB-26352] [Alloy PR] Exclusive Turbo Feature
    • [x] Support for the following XML attributes in textField, label, and textArea: [ALOY-1547] Exclusive Turbo Feature
      • fontSize
      • fontFamily
      • fontStyle
      • fontWeight
      • textStyle
    • [x] Replaced Underscore.js with Lodash 4.17.12 [ALOY-1168]
    • [x] Updated babel.js to 7.x [ALOY-1629] Has been merged into Alloy
    • [x] Enhanced support for babel config files: .babelrc, .babelrc.js and babel.config.js Exclusive Turbo Feature
    • [x] Added support for camelCase, snake_case, and kabab-case in XML views. [ALOY-1647] Exclusive Turbo Feature
    • [x] Added plugin property compileConfig.dir.resourcesAlloy Exclusive Turbo Feature
    • [x] Updated moment to 2.24.0 [ALOY-1682] Has been merged into Alloy
    • [x] Added backbone 1.4.0 [ALOY-1648] Has been merged into Alloy
    • [x] Made default backbone version: 1.4.0
    • [x] Added support for xml namespaced attributes per platform (e.g. ios:text or android:text) [ALOY-1646] Has been merged into Alloy
    • [x] Added support for xml attributes with dotted notation (e.g. font.fontSize) [ALOY-1363] Has been merged into Alloy
    • [x] Added support for using $.args in XML views. [ALOY-1316] Has been merged into Alloy
    • [x] Added support for using $.* in XML views. -- Anything that starts with "$." in an Alloy XML View will be used literally and not treated as a string. Exclusive Turbo Feature
    • [x] Added support for using turbo.* in XML views. -- Anything that starts with "turbo." in an Alloy XML View will be used literally and not treated as a string. [Required workaround for node_modules support to LiveView] [TIMOB-27206] Exclusive Turbo Feature
    • [x] Added support for __init() function in controller that will be called before view is built. -- Allows $.* variables to be created and used in XML views. Exclusive Turbo Feature
    • [x] Added support for visibility property in XML Views with possible values of: collapse, expand, and visible, hidden -- Allows collapsing of view in XML. [TIMOB-27307] Exclusive Turbo Feature
    • [x] Added constants: Ti.UI.VISIBILITY_COLLAPSE, Ti.UI.VISIBILITY_EXPAND, Ti.UI.VISIBILITY_HIDDEN, and Ti.UI.VISIBILITY_VISIBLE Exclusive Turbo Feature
    • [x] Added support for modelName XML attribute to be used with with dataCollection to assign variable name to current model [Defaults to __currentModel] Exclusive Turbo Feature
    • [x] Added support for dataName XML attribute to be used with with dataCollection to assign variable name to model.__transform [Defaults to $model] -- Allows developer to reference current model properties like $model.myproperty Exclusive Turbo Feature
    • [x] Added support for adding code to XML View attributes when surrounded by '~' [ALOY-1699] Exclusive Turbo Feature
    • [x] Added support for script element in XML View. Add code by body or src attribute. [ALOY-1700] [Alloy PR] Exclusive Turbo Feature
    • [x] Added value alias center for Ti.UI.TEXT_VERTICAL_ALIGNMENT_CENTER when used with verticalAlign XML attribute [ALOY-1703] Exclusive Turbo Feature
    • [x] Added property alias text for Ti.UI.Button.title when used as XML attribute Exclusive Turbo Feature
    • [x] Added property alias src for Ti.UI.ImageView.image when used as XML attribute Exclusive Turbo Feature
    • [x] Added support for using underscore (instead of lodash) with this tiapp.xml property: <property name="use-underscore"type="bool">true</property> Exclusive Turbo Feature
    • [x] Added support for installing widgets via npm (without naming restrictions) [ALOY-1704] Exclusive Turbo Feature
    • [x] Added support for using WPATH() in xml view attributes: [ALOY-1253] [Alloy PR] Exclusive Turbo Feature
    • [x] Added support for using ~/ as a shortcut for WPATH() in xml view attributes: [ALOY-1714] [Alloy PR] Exclusive Turbo Feature
    • [x] Added support for using widget as primary control in xml view [ALOY-1256] [Alloy PR] Exclusive Turbo Feature
    • [x] Added support for StackLayout control (with shortcut alias of stack and orientation property that defaults to vertical) in JavaScript and xml views Exclusive Turbo Feature
    • [x] Added support for VerticalLayout control (with shortcut alias of vertical) in JavaScript and xml views Exclusive Turbo Feature
    • [x] Added support for HorizontalLayout control (with shortcut alias of horizontal) in JavaScript and xml views Exclusive Turbo Feature
    • [x] Added support for AbsoluteLayout control (with shortcut alias of absolute) in JavaScript and xml views Exclusive Turbo Feature
    • [x] Added support for defining the primary entry point for the application (defaults to index). Currently search order: Alloy.mainAlloy.CFG.main → Titanium Property: app.main. [ALOY-1549] Exclusive Turbo Feature
    • [x] Added support for <style> tag in XML views. Also supports the src attribute (like the <script> tag) which allows users to reference a widget-wide app.tss file! [ALOY-1729] Exclusive Turbo Feature
    • [x] Partial workaround for Titanium and Alloy issue where relative path require statements are broken. This only fixes static paths. Fix for dynamic paths will be coming in upcoming release of Turbo. [TIMOB-28037] Exclusive Turbo Feature
    • [x] Added support for static script blocks in Alloy <script static="true" /> [ALOY-1742] Exclusive Turbo Feature

    🎓 Learn More

      Axway Developer Blog
      Axway Developer YouTube Channel
      Axway Developer Portal
      AMPLIFY Titanium GitHub Repo
      Titanium Alloy GitHub Repo
      Titanium Turbo GitHub Repo

    📚   Related projects

      Geek Mobile Toolkit - Toolkit for creating, building, and managing mobile app projects.
      Titanium Mobile - Open-source tool for building powerful, cross-platform native apps with JavaScript.
      Titanium Alloy - MVC framework built on top of Titanium Mobile.
      Appcelerator - Installer for the Appcelerator Platform tool

    🎟️   Modules for Titanium Mobile

    project description npm
    @titanium/applesignin Native modules that allows you to use the iOS 13+ Apple Sign In API with Axway Titanium native mobile apps. @@titanium/applesignin
    @titanium/authentication Titanium native mobile authentication manager @titanium/authentication
    @titanium/authentication-oauth Titanium native mobile OAuth plugin for authentication manager @titanium/authentication-oauth
    @titanium/calendar-picker urbo widget that allows you to pick dates from a calendar with Axway Titanium. @titanium/calendar-picker
    @titanium/coremotion Native modules that allows you to use iOS CoreMotion framework with Axway Titanium native mobile apps. @titanium/coremotion
    @titanium/essentials The Essential Toolkit for Titanium Turbo Native Mobile Apps @titanium/essentials
    @titanium/icloud Native module that allows you to use the Apple iCloud framework with Axway Titanium native mobile apps. @titanium/icloud
    @titanium/identity Native modules to add Fingerprint/FaceId/keychain access to Titanium native mobile apps @titanium/identity
    @titanium/facebook Native modules that allows you to use Facebook SDK with Axway Titanium native mobile apps. @titanium/facebook
    @titanium/googlesignin Native modules that allows you to use the Google Sign-in SDK with Axway Titanium native mobile apps. @titanium/googlesignin
    @titanium/lottie Native modules that allows you to use Airbnb Lottie animations with Axway Titanium native mobile apps. @titanium/lottie
    @titanium/observer Repackaging of nx-js/observer-util for Titanium Native Mobile @titanium/observer
    @titanium/please Titanium native mobile library for politely requesting stuff from the internets @titanium/please
    @titanium/polyfill Titanium native mobile polyfills necessary to use packages that depend on Node.js modules @titanium/polyfill
    @titanium/turbo 🚀 Turbo is the awesome framework for turbo charging your Titanium cross-platform native mobile app development! @titanium/turbo
    @titanium/updater Titanium native mobile widget to check for app updates @titanium/updater
    @titanium/webdialog Native modules that allows you to use native SFSafariViewController (iOS) and Chrome Pages (Android) with Axway Titanium native mobile apps. @titanium/webdialog

    🎟️   Modules for Node.js and Titanium Mobile

    project description npm
    @geek/cache Caching module for Node.js and Axway Titanium @geek/cache
    @geek/jsonc JSONC and JSON utilities for JavaScript with Node.js and Axway Titanium. @geek/jsonc
    @geek/jwt JWT parser for JavaScript Node.js and Titanium native mobile @geek/jwt
    @geek/logger Logging module for Node.js and Axway Titanium @geek/logger
    @geek/mobile Toolkit for creating, building, and managing mobile app projects. @geek/mobile
    @geek/retry Retry JavaScript functions and promises in Node.js and Axway Titanium @geek/retry

    📦   Project Starter Kits

    project description npm
    Titanium Turbo Template (Default) Template for default Turbo app. Based on the basic Alloy Template + some extra goodies. @titanium/template-turbo-default
    Titanium Turbo Template (Next) Template for Titanium Turbo app (with extras). Based on the default Turbo Template + some extras. @titanium/template-turbo-next
    Titanium Turbo Template (Fully Loaded) Template for Titanium Turbo app with all the bells and whistles! @titanium/template-turbo-fully-loaded

    📣   Feedback

    Have an idea or a comment? Join in the conversation here!


    Follow Brenton House

    Follow Brenton House for the latest on great modules and libraries!

    Twitter Follow LinkedIn Follow Github Followers


    ©️   Legal

    Alloy is developed by Appcelerator and the community and is Copyright © 2012-Present by Appcelerator, Inc. All Rights Reserved.

    Alloy is made available under the Apache Public License, version 2. See their license file for more information.

    Appcelerator is a registered trademark of Appcelerator, Inc. Titanium is a registered trademark of Appcelerator, Inc. Please see the LEGAL information about using trademarks, privacy policy, terms of usage and other legal information at http://www.appcelerator.com/legal.

    Install

    npm i @titanium/turbo

    DownloadsWeekly Downloads

    155

    Version

    2.1.10

    License

    Apache-2.0

    Unpacked Size

    1.84 MB

    Total Files

    360

    Last publish

    Collaborators

    • avatar