All Projects → appcelerator → titanium-vue

appcelerator / titanium-vue

Licence: Apache-2.0 license
Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to titanium-vue

griffin-app-opensource
The Axway Griffin App goes open source!
Stars: ✭ 19 (-57.78%)
Mutual labels:  native, titanium
Node Native Ext Loader
Loader for Node native extensions
Stars: ✭ 51 (+13.33%)
Mutual labels:  native, npm-package
titanium-turbo
Axway Amplify module that adds some enhancements for Appcelerator Titanium Alloy
Stars: ✭ 15 (-66.67%)
Mutual labels:  native, titanium
ti.playservices
Titanium module for Google Play Services
Stars: ✭ 19 (-57.78%)
Mutual labels:  native, titanium
av.imageview
Titanium native ImageView module that extends the default Titanium ImageView with more capabilities and a different caching system.
Stars: ✭ 97 (+115.56%)
Mutual labels:  native, titanium
titanium-arkit
Use the iOS 11 ARKit API in Axway Titanium
Stars: ✭ 28 (-37.78%)
Mutual labels:  native, titanium
titanium-material
Use the native Material UI/UX framework (https://github.com/CosmicMind/Material) in Titanium!
Stars: ✭ 14 (-68.89%)
Mutual labels:  native, titanium
titanium-web-dialog
Use the SFSafariViewController (iOS) and Chrome Pages (Android) in Titanium.
Stars: ✭ 28 (-37.78%)
Mutual labels:  native, titanium
titanium-calendar
An easy to use iOS modal calendar for selecting dates. Based on the awesome PDTSimpleCalendar library.
Stars: ✭ 15 (-66.67%)
Mutual labels:  native, titanium
ti.admob
Use the Google AdMob SDK on iOS and Android with Titanium
Stars: ✭ 51 (+13.33%)
Mutual labels:  native, titanium
ti.paint
Touch-based painting with the Titanium SDK.
Stars: ✭ 27 (-40%)
Mutual labels:  native, titanium
abifestival-app
Cross-platform festival-app built with the Appcelerator Titanium framework
Stars: ✭ 16 (-64.44%)
Mutual labels:  native, titanium
ti.coremotion
Support for the native iOS CoreMotion framework in Appcelerator Titanium
Stars: ✭ 15 (-66.67%)
Mutual labels:  native, titanium
ti.accountkit
DEPRECATED -- 🔐 Use the Facebook AccountKit iOS-SDK with Titanium Mobile.
Stars: ✭ 18 (-60%)
Mutual labels:  native, titanium
Titanium mobile
🚀 Native iOS- and Android- Apps with JavaScript
Stars: ✭ 2,553 (+5573.33%)
Mutual labels:  native, titanium
titanium-firebase-analytics
Use the Firebase Analytics SDK in Axway Titanium 🚀
Stars: ✭ 33 (-26.67%)
Mutual labels:  native, titanium
ti.map
Use native Apple Maps & Google Maps in iOS and Android with Axway Titanium
Stars: ✭ 49 (+8.89%)
Mutual labels:  native, titanium
nba-stats-client
🏀 JavaScript Client for stats from NBA.com
Stars: ✭ 29 (-35.56%)
Mutual labels:  npm-package
NativeCompile
android 动态库远程依赖
Stars: ✭ 13 (-71.11%)
Mutual labels:  native
eslint-plugin-todo-plz
Enforce consistent and maintainable TODO comments
Stars: ✭ 19 (-57.78%)
Mutual labels:  npm-package

Titanium Vue

Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.

Example Usage

⚠️ This platform is currently in an early beta stage. Expect things to be broken or APIs to change as this project matures. DO NOT USE IN PRODUCTION!

Introduction

First integration of Vue.js and Titanium. It works by replacing the virtual dom in Vue.js with a custom implementation that manages Ti.UI.* components.

Example Usage

Checkout titanium-vue-sample for sample usage!

Features that are currently working are most of the base views from the Ti.UI.* namespace as well as applying inline styles, attributes and event handlers to those elements.

Roadmap

  • Properly implement more complex views that require more setup than just adding them as a child view with custom components like DashboardView, Picker and ScrollableView
  • Integrate vue-router, the official router for Vue.js
  • Apply styles from CSS. This requires a CSS parser and a mechanism to apply those styles to the matching elements at runtime.
  • Hot module reloading for single file components. This would probably build upon the precompiled single file components from .vue files and the vue-hot-reload-api.

Developer Guide

Choose your Editor

There are Vue plugins for every modern editor that add syntax highlighting, code snippets and auto completion:

Setup

Clone the repo and run npm run dev to run an initial build to the dist directory and start watching for changes for easy development.

Getting setup to try titanium-vue-sample

  1. Clone this repo and titanium-webpack-devkit.
  2. Run npm install in each titanium-webpack-devkit and titanium-vue.
  3. Clone titanium-vue-sample.
    • Make sure this directory is at the same level as the previous two
  4. Run npm install in the titanium-vue-sample/app directory
  5. Run ti build in titanium-vue-sample

Exposing Titanium UI

All Ti.UI.* views can be exposed by registering their create factory inside the element registry via registerElement.

registerElement(tagName, createFactoryResolver, [meta])

Basic elements like a Button can be exposed directly:

registerElement('button', () => Ti.UI.createButton)

More complex elements may require to be wrapped in a Vue component. To avoid naming collision expose those elements with a Titanium prefix.

registerElement('titanium-tab-group', () => Ti.UI.createTabGroup);

Take a look at the platform components to see existing implementations of Vue.js components wrapping Titanium views.

Contributions

Open source contributions are greatly appreciated! If you have a bugfix, improvement or new feature, please create an issue first and submit a pull request against master.

Getting Help

If you have questions about the Vue platform on Titanium, feel free to reach out on Stackoverflow or the #titanium-vue channel on TiSlack. In case you find a bug, create a new issue or open a new JIRA ticket.

License

Apache 2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].