/aplus-core

⭐ Axway Amplify module building Alloy projects on Appcelerator Titanium SDK Framework

Primary LanguageJavaScriptMIT LicenseMIT

👇   support for Amplify Cloud and Mobile   👇

RIP Axway Amplify Titanium (2010 - 2022)

🪦   RIP Axway Amplify Titanium (2010 - 2022)

🪦   RIP Axway Amplify Cloud Services (2012 - 2022)

🪦   RIP Axway Amplify Crash Analytics (2015 - 2022)


🛑    Axway support for Amplify products has ended for most products related to mobile and cloud.

A few of the open-source versions of Axway Amplify products will live on after Axway Amplify End-of-Life (EOL) announcements. However, all closed-source projects and most open-source projects are now dead.

 

👉    A group of Axway employees, ex-Axway employees, and some developers from Titanium community have created a legal org and now officially decide all matters related to future of these products.

 


API FAQ:

 

Click to watch on Youtube

  ↑ Watch video on YouTube ↑

 

 


 

 

aplus-core logo

⚠️ CAUTION: PRE-PRODUCTION BETA ⚠️
(breaking changes may be introduced before 1.0.0 release)

alloy+ core

We have the capability to make the world's first bionic framework. Alloy+ will be that framework. Code Better... Stronger... Faster...

Overview

What is Alloy+?

Alloy+ is an entire framework built around Appcelerator Mobile and their Alloy product. The idea for this framework was built upon the concepts of MobileHero Adamantium and a desire to customize and extend Appcelerator Alloy for developers. How much faster or stronger all depends on YOU, the developer.

There will be an assortment of alloy+ plugins (available as npm modules) that you can install in your project to help you take your existing development tools furthur than possible today. You can choose which modules are executed in your config.json file (which is part of your Alloy project). You can also easily create your own plugins by simply creating a npm module that follows a simple convention.

How is this different than Adamantium?

Adamantium is a custom build of Appcelerator Alloy. This was our first (well, maybe not the first...) attempt to add features and capabilities to Alloy that were not necessarily on Appcelerator's Roadmap for the product. Keeping Adamantium up-to-date was, however, was becoming more difficult with merges and was not a sustainable model.

Alloy+ is a framework for modifying your app and code during the Alloy build process. Both accomplish getting new features and capabilities into your app. When using alloy+, builds may take slightly longer and we are also limited to working within the available build hooks made available by Appcelerator.

So what makes Alloy+ so awesome?

Alloy+ has many features that couldn't be implemented easily using Adamantium!

  • Does not require replacing Alloy (globally or per build of appcelerator)
  • Several free Alloy+ plugin developed by MobileHero and available now
  • Build and use your own Alloy+ plugin easily!
  • Customize which Alloy+ plugins run per project, platform or deployment type (dev,test,prod)!
  • Works great with Appcelerator LiveView! (🎉 yay!! 🎉)

Install

All modules should be installed in the root directory of your Appcelerator mobile project (the directory containing tiapp.xml).

Install Alloy+ Core only

npm version

npm install --save @aplus/core

Install Alloy+ Bundle 📦

npm version

npm install --save @aplus/bundle

Usage

To use plugins in your app, add entries for your plugins to your app's config.json file:

	{
	"tasks": [
		"@aplus/npm",
		"@aplus/underscore",
		"@aplus/babel",
		"@aplus/node",
		{
			"module": "some-other-aplus-plugin",
			"dirname": "${event.dir.lib}",
			"args": ["these", "are", "my", "args"]
		}
	],
	}

Templated Parameters

You can use templated parameters in your variables (if supported by your plugin). The following parameters are passed to every plugin and can be used in templating:

property description
event The event object provides a set of objects and values which may be useful for building tasks. The object comes from the alloy.jmk build task. NOTE: There is an additional property not found in the original event object -- event.dir.resourcesPlatform. This property is the platorm specific directory under the Alloy project's Resource directory (i.e. /Resources/iphone).
config The config object is the result of the config.json file after it has been processed by Alloy (to handle themes/platforms/etc).
logger The logger object provides a reference to the logger. See the Appcelerator alloy.jmk wiki page for a list of methods and properties.
code The code object is the source code of an module before it is parsed by uglifyjs in Alloy. This is only available in the alloy+ exclusive event: preparse.

Alloy+ Plugins

Coming Soon! 📣

  • npm: Execute npm during the Alloy build process
  • babel: Run babel transformations on your code during the build process
  • es6: Use ES6/ES2015 code in your apps via babel transformations!
  • node: Make require statements in your app support nodejs packages installed via npm
  • underscore: Fix some issues with the usage of underscore in Alloy and allow upgrading to lodash

Need Help?

Please submit an issue on GitHub and provide information about your setup.

License

This project is licensed under the terms of the MIT license. This means you have full access to the source code and can modify it to fit your own needs. See the license.md file.

Legal

Superhero Studios Incorporated and this project are in no way affiliated with any of the following companies:

  • Appcelerator, Inc
  • Axway Inc
  • Apple Inc
  • Google Inc

Alloy is developed by Appcelerator and the community and is Copyright (c) 2012 by Appcelerator, Inc. All Rights Reserved.
Alloy is made available under the Apache Public License, version 2. See their LICENSE file for more information.