TiDev Titanium MVC Framework
npm install alloyAlloy is an MVC application framework by TiDev for the Titanium SDK.
* Quick Start Guide) that covers _everything_ from installation to building your first app with Alloy.
* Complete collection of Alloy Guides)
* Collection of sample apps) showing various aspects of Alloy in practice.
``bashinstall the latest stable
[sudo] npm install -g alloy
Running Sample Test Apps
Alloy includes many sample and test apps in the sample/apps folder (see above). For example, basics/simple. You can run these in a few different ways:
$3
Beginning with Alloy 1.6, you can do the following:`bash
first, create a Titanium Classic project
titanium create --name yourAppName
cd yourAppNamethen, convert it to an Alloy project, using the test app as a template
alloy new . --testapp basics/simple
`$3
`bash
first, clone the repo
git clone https://github.com/tidev/alloy.git
cd alloyinstall jake globally
[sudo] npm install -g jakeinstall alloy globally from the cloned repo
[sudo] npm install -g .install alloy's local testing dependencies
npm installrun a test app
jake app:run dir=basics/simple
`Additional Notes on Jake
* See the jake readme for information on using
jake including the arguments and flags it accepts.
* on OSX or Linux
* Try using sudo with the jake command if you run into permission errors.
* on Windows
* Don't run jake from within a user folder (i.e. C:\Users\tony\alloy), as you can get all kinds of non-obvious permissions failures from the child processing Alloy does. Your safest bet is to just git clone right to C:\alloy.
* Node.js has an issue piping output between node processes on Windows. I've tried to workaround as best I can. You may still see errors pop up, so it's suggested that if you run the automated testing via jake test:all or npm test, you do so on a non-Windows OS to ensure there's no red herring failures until the aforementioned node.js issue is resolved.
* If you decide to ignore my advice and run the tests anyway on Windows, make sure that if you imported the Harness into TiStudio that you _don't_ have TiStudio running. Windows creates locks on key files in that project that are necessary for the testing process. It will make tests fail erroneously.
* If you're still that stubborn, are running the test suite on Windows, and you're getting those intermittent, erroneous errors, try running them one spec at a time. Instead of doing jake test:all, do jake test:spec[SPEC_NAME], where SPEC_NAME is JS file in the test specs folder.Update moment.js/Backbone/Underscore
$3
Download the latest ZIP from https://github.com/moment/moment and then copy /moment.js (not dist/moment.js!) into
Alloy/builtins and the locale/ files (not dist/locale/ !) to Alloy/builtins/moment/lang. After that do a search & replace and replace all require('../moment') with require('/alloy/moment').$3
Download the development version from https://backbonejs.org/ and put it into
Alloy/lib/alloy/backbone with the correct version number. Open Alloy/common/constants.js and add the version to SUPPORTED_BACKBONE_VERSIONS. Then you can use your apps config.json file to switch to that version. If you want to make it the default version you can edit DEFAULT_BACKBONE_VERSION and the config.json files in all template/ projects.Open the backbone.js file and replace
var _ = require('underscore'), $; with var _ = require('/alloy/underscore'), $;. Use console.log(Backbone.VERSION); to check the version inside your app.$3
Download the UMD (dev) version from https://underscorejs.org/ and replace
Alloy/lib/alloy/underscore.js. Use console.log(_.VERSION);` to check the version inside your app.Interested in contributing? There are several ways you can help contribute to this project.
Source code contributions are always welcome! Before we can accept your pull request, you must sign a Contributor License Agreement (CLA). Please visit https://tidev.io/contribute for more information.
Please consider supporting this project by making a charitable donation. The money you donate goes to compensate the skilled engineeers and maintainers that keep this project going.
TiDev wants to provide a safe and welcoming community for everyone to participate. Please see our Code of Conduct that applies to all contributors.
If you find a security related issue, please send an email to security@tidev.io instead of publicly creating a ticket.
For the latest information, please find us on Twitter: Titanium SDK and TiDev.
Join our growing Slack community by visiting https://slack.tidev.io
Titanium is a registered trademark of TiDev Inc. All Titanium trademark and patent rights were transferred and assigned to TiDev Inc. on 4/7/2022. Please see the LEGAL information about using our trademarks, privacy policy, terms of usage and other legal information at https://tidev.io/legal.