Skip to content

mobilehero-archive/nativeloop

Repository files navigation

👇   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 ↑

 

 


 

 

nativeloop

nativeloop logo

⚡ Developing native mobile apps just got a whole lot more awesome ⚡

nativeloop version nativeloop downloads nativeloop dependencies

const status = "Pre-Production Beta!";
const warning = "Breaking changes may be introduced before 1.0.0 release";

developer.read(warning)
	.then(() => { return developer.code(); })
	.then((code) => { return developer.😀 });
	.then((app) => { return users.❤️ });

npm version

Overview

{nativeloop} is many tools in one package:

  • a command line (cli) tool for creating and working with existing {nativeloop} mobile applications
  • a compile-time library for creating awesome mobile apps
  • a run-time library for enhancing mobile apps
  • an Appcelerator Titanium Alloy widget for augmenting Alloy mobile apps.

🔜 Only a few of the cli commands have been implemented at this time. Feel free to test out the functionality that exists right now and stay tuned as more features are added soon!

What is {nativeloop}?

{nativeloop} is a framework for building awesome native apps using node.js style javascript. It provides developers with access to an extremely rapid development process without compromising on the delivered product.

{nativeloop} is open-source (MIT) and is built upon the open-source version of appcelerator and other open-source products. If you like what you see, contribute to this and other open-source projects!

(Really) Quick Start

Install {nativeloop} (if you have not already done this) and create new project!

npm install -g nativeloop
nativeloop create mycoolapp

Quick Start (with some options)

Install {nativeloop}

Option 1: Install Globally

This is your quickest and easiest way to get started with {nativeloop}. Installing globally will allow it to be accessed by any our your mobile projects and give you access to the command line interface (CLI). If you need to use a specific version of {nativeloop}, use Option 2 in addition to this step.

npm install -g nativeloop

Option 2: Install Locally

Just as quick and easy, but this will allow you to use a specific version of {nativeloop} for your mobile project. Simply run this in the root of your mobile project! In order to use the CLI commands, be sure to also Install Globally

npm install --save nativeloop

Option 3: Install using gitTio coming soon!

🔜 Not available yet, but coming very soon!!

Install this as a widget using gitTio (http://gitt.io). We hope to have this option available soon!

gittio install nativeloop

Setup mobile project

Create new mobile project

📖 see documentation for create for more details

	native create my-cool-app

Upgrade existing Appcelerator mobile project coming soon!

🔜 Not available yet, but coming very soon!! (you can do this manually for now by copying the alloy.jmk file that is included with this package and putting it in your app.)

	native init

Install Prerequisites/Dependencies

Our goal is to provide as much automation as possible to make the mobile development experience as awesome as possible. Currently there are some prerequisites/dependencies that need to installed manually but we hope to automate some of these in the near future!

  • [OSX] Install latest Xcode from App Store (8.2.1 as of the time of writing)
  • Install Appcelerator Titanium and Alloy
	npm install -g alloy
	npm install -g titanium
  • [OSX] Install homebrew (optional, but highly recommended)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Install IDE of your choice (We highly recommend Microsoft Visual Studio Code, as it is free, fast and works great with {nativeloop} projects!)
  • Install Android SDK and NDK

OSX

	brew install android-sdk
	brew install android-ndk

Windows

🔜 Instructions for installing on Windows coming soon!

  • There might be a few more items to install... Stay tuned for more detailed instructions

CLI Features

  • create - create a new nativeloop mobile app project
  • help - display help about using nativeloop cli
  • init - initialize an existing Appcelerator Titanium project for development with nativeloop
  • doctor - check your nativeloop and environement setup to see if you are missing anything
  • build - compile your nativeloop mobile project
  • deploy - deploy your app to emulator, simulator, device, etc
  • run - run your app on emulator, simulator, device, etc
  • emulate - run your app on emulator or simulator
  • device - run your app on device
  • live - run your app on emulator, simulator, device, etc with liveview
  • icons - create any icons you might be missing
  • splash - create any launch images you might be missing
  • test - run any unit/integration tests for your nativeloop mobile project
  • test - run any unit/integration tests for your nativeloop mobile project
  • test init - configure your nativeloop mobile project for testing
  • appstore - uploads mobile app to iTunes connect

Runtime Features

  • ECMAScript 2015/ES6 - enabled using nativeloop (using babel.js)

  • JavaScript global objects:

    • Promise - using bluebird but can be easily replaced with library of your choice
  • Node.js global objects:

    • Buffer
    • __dirname - enabled with Appcelerator Titanium 6.x
    • __filename - enabled with Appcelerator Titanium 6.x
    • clearImmediate
    • clearInterval
    • clearTimeout
    • console -- enabled with Appcelerator Titanium
    • exports -- enabled with Appcelerator Titanium
    • global - enabled with nativeloop
    • module - enabled with Appcelerator Titanium
    • process
    • require - enabled with Appcelerator Titanium
    • setImmediate - enabled with Appcelerator Titanium
    • setInterval - enabled with Appcelerator Titanium
    • setTimeout - enabled with Appcelerator Titanium
  • Node.js core modules:

    • assert
    • buffer
    • child_process
    • cluster
    • crypto
    • dgram
    • dns
    • domain
    • events
    • fs (not complete coverage)
    • http
    • https
    • net
    • os coming soon!
    • path
    • punycode
    • querystring coming soon!
    • readline
    • stream
    • string_decoder
    • tls
    • tty
    • url coming soon!
    • util
    • v8
    • vm
    • zlib
  • Workarounds for Appcelerator Titanium/Alloy issues

  • Supports installation of modules for your app using [npm][]

  • Does not require replacing Alloy (globally or per build of appcelerator)

  • Several free {nativeloop} plugins developed by MobileHero are included and available now

  • Build and use your own {nativeloop} plugins easily! (docs coming soon)

  • Customize which {nativeloop} plugins run per project, platform or deployment type (dev,test,prod)!

  • Works great with Appcelerator LiveView! (🎉 yay!! 🎉)

  • Enhancements for Alloy xml views

    • Supports for camelcase syntax in your Alloy xml views (i.e. <webView> instead of <WebView> )
    • Supports lowercase-dashed syntax in your Alloy views (i.e. <web-view> instead of <WebView> )
    • Extra xml attributes added to Appcelerator Alloy views. (docs coming soon)
  • Enhanced UI controls!

    • `View
    • Button
    • ImageView
    • Label
    • Window
  • New UI controls!

    • TopNav - coming soon!
    • BottomNav - coming soon!
    • Flex - coming soon!
    • Tile - coming soon!
  • New libraries!

    • Navigator - cross-platform window navigation coming soon!
    • Please - http wrapper
    • Napi - api management
    • Bank - cache management
    • Timber - log management
    • Config - configuration management

Need Help?

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

License

Except for otherwise noted, 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.

This project uses other third party open-source tools. Please see the third-party.md file for more information and licenses.

Legal

Nativeloop is developed by Superhero Studios and the community and is Copyright (c) 2017 by Superhero Studios Incorporated. All Rights Reserved.

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.