Nincompoops Producing Methane
    Wondering what’s next for npm?Check out our public roadmap! »

    nativeloop

    0.0.6 • Public • Published

    nativeloop logo

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

    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.❤️ });
     

    {nativeloop} cli

    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.

    Install

    npm i nativeloop

    DownloadsWeekly Downloads

    1

    Version

    0.0.6

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar