Alloy
Alloy is an MVC application framework by TiDev for the Titanium SDK.
Getting Started
- 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.
Installation
from npm:
# install the latest stable
[sudo] npm install -g alloy
# install a specific version
[sudo] npm install -g alloy@1.4.1
# install cutting edge directly from github
[sudo] npm install -g git://github.com/tidev/alloy.git
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:
A) With a regular Alloy installation
Beginning with Alloy 1.6, you can do the following:
# first, create a Titanium Classic project
titanium create --name yourAppName
cd yourAppName
# then, convert it to an Alloy project, using the test app as a template
alloy new . --testapp basics/simple
B) By cloning the repo and using the Jake test runner
# first, clone the repo
git clone https://github.com/tidev/alloy.git
cd alloy
# install jake globally
[sudo] npm install -g jake
# install alloy globally from the cloned repo
[sudo] npm install -g .
# install alloy's local testing dependencies
npm install
# run 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 thejake
command if you run into permission errors.
- Try using
- 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 justgit clone
right toC:\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
ornpm 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
, dojake test:spec[SPEC_NAME]
, whereSPEC_NAME
is JS file in the test specs folder.
- Don't run
Contributing
Interested in contributing? There are several ways you can help contribute to this project.
New Features, Improvements, Bug Fixes, & Documentation
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.
Donations
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.
Code of Conduct
TiDev wants to provide a safe and welcoming community for everyone to participate. Please see our Code of Conduct that applies to all contributors.
Security
If you find a security related issue, please send an email to security@tidev.io instead of publicly creating a ticket.
Stay Connected
For the latest information, please find us on Twitter: Titanium SDK and TiDev.
Join our growing Slack community by visiting https://slack.tidev.io
Legal
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.