Development frameworks (Mobile)

Table of contents

Child pages

  • Q: What's the relationship between Ionic, Cordova, and PhoneGap?
    • A: Ionic and PhoneGap are competing products, both of which build on Cordova (an open-source project). (Quora) (Ionic blog)

React Native

Apps built with it

Pros and Cons

  • 2016.04.07 - Smashing Magazine - Why You Should Consider React Native For Your Mobile App
  • 2016.09.21 - Ariel Elkin - Why I'm not a React Native Developer
    • Pros
      • Declarative style
      • Faster iterations
      • Cross-platform
    • Cons
      • Uncertain roadmap
      • Patently daunting
      • Javascript
      • Dependencies
      • Better alternatives
  • Quora - Which Hybrid-Framewok has more future? Ionic, React, or Meteor?
    • 2017.05.17 Answer
      • Initial answer:
        • Summary: Ionic is easy but slow. React Native is hard but fast. Judge it on your relative time and skill/budget.
        • Ionic is a breeze to learn & work with, and cross-compiles to iOS and Android (since it's just Webview) using per-device differentiator classes to theme accordingly - write once, run anywhere.
        • React Native doesn't have this luxury - their motto is "learn once, write anywhere" - meaning you're using the same framework, and maybe even shared components, but maintaining separate code for your iOS & Android apps. This means more work, on top of the steeper learning curve.
        • I use Ionic for smaller projects, for clients with lower budgets, and for apps whose performance ratings aren't dire. I use React Native for more "hard core" apps: performance is key, budget is higher, or it's my million-dollar idea. To your question "which has more future"; I'd say React Native, just by trend analysis.
      • Update:
        • RN’s gotten to the polish and ease-of-use level of Ionic while yielding native apps, making it an objective win over Ionic. Hate to be hyperbolic, but show’s over folks - choose RN.
  • 2017.08.07 - Viget.com - Why You Should Consider React Native For Your Next Native App

Chat rooms / forums

Articles / Videos

Cordova

Ionic

Vocabulary

  • Material Design
  • Typescript
  • Ionic 1
  • Ionic 2
  • PhoneGap
  • Cordova
  • Visual Studio
  • Cmp - An abbreviation for "component".
  • primary vs. secondary buttons - primary buttons are on the left side of a header navbar, secondary buttons are on the right side.
  • ionic serve
  • How to add a button to a page.
  • nvm - lets you use multiple node versions on a single machine

Blogs

Tutorials

  • IonicFramework - Ionic 2 documentation
  • 2016.05.11 - Microsoft - Ionic 2 and Visual Studio
  • Ashteya Biharisingh - Build Your First Mobile App With Ionic 2 & Angular 2
  • Josh Morony - Building Mobile Apps with Ionic 2 (ebook)
  • Josh Morony - Beginners Guide to Getting Started with Ionic 2
  • https://github.com/juarezpaf/ionic-adventures
    • Lots of info here.
  • https://www.lynda.com/AngularJS-tutorials/Building-Mobile-App-AngularJS-1-Ionic/368920-2.html
    • rec'd by Jave Bratt
  • Ionic 2 - The Practical Guide to Building iOS & Android Apps ← Max Schwarzmuller
    •  Click here to expand...
      • Section 9 - Publishing Your App
        • Lecture 192 - Module Introduction
          • He gives an overview of all of the skills you've learned so far, and then gives an overview of the topics that will be covered in this module: 1) custom icons and splashscreen, 2) app configuration (name, details), 3) publishing to Google and Apple
        • Lecture 193 - Deployment Considerations
        • Lecture 194 - Using Custom Icons & Splashscreens
        • Lecture 195 - Configuring the App
        • Lecture 196 - Build Preparations & Building for Production
        • Lecture 197 - Publishing the App in the Google Play Store
          1. He recommends that you check out the official documentation.
          2. There are 'Prepare for Release' and 'Version Your App' sections in the official docs which he doesn't go into. He jumps to 'Sign Your App'.
          3. Go to Android Studio, then 'Open File or Project', open up the app, navigate to 'platforms/android' and open that.
          4. Go to 'Build→Generate Signed APK'.
          5. There will only be one 'Module', so just click 'Next'.
          6. On the next window, which is about the Key Store, Click 'Create new...'. He recommends referring to the official docs to understand each field.
          7. Click Next, enter your Master Password.
          8. It'll ask you where you want to save the APK and what the Build Type should be (choose 'release').
          9. 'android-release.apk' is the file that holds your application.
          10. Google 'google play store console' and click on the first result.
          11. You'll need to sign up and pay $25.
          12. Click 'Create application' in the top right, pick a name.
          13. There will be a bunch of things for you to fill out.
            1. Title, short description, full description, screenshots, content rating, pricing and distribution, in-app products.
          14. On the left side, Click "APK", then in the middle of the screen click "Upload your first APK to Production", then select your APK.
          15. Once all the sections are filled out you can click 'Publish app' in the top-right.
        • Lecture 198 - Publishing the App in the Apple AppStore
          • You will need a paid developer account ($99/year). Go to the Ionic docs' section on 'Publishing your app' to find that information.
        • Lecture 199 - Section Source Code & Links

Building Mobile Apps with Ionic 2 by Josh Morony

  1. Introduction
    1. "You should have a reasonable amount of experience with [HTML, CSS, and JavaScript] before starting this book."
  2. Ionic 2 Basics
    1. Lesson 1: Generating an Ionic 2 Application
    2. Lesson 2: Anatomy of an Ionic 2 Project
    3. Lesson 3: Ionic CLI Commands
    4. Lesson 4: Decorators
    5. Lesson 5: Classes
    6. Lesson 6: Templates
    7. Lesson 7: Styling & Theming
    8. Lesson 8: Navigation
    9. Lesson 9: User Input
    10. Lesson 10: Saving Data
    11. Lesson 11: Fetching Data, Observables and Promises
    12. Lesson 12: Native Functionality
  3. Quick Lists
    1. Lesson 1: Introducton
    2. Lesson 2: Getting Ready
    3. Lesson 3: Basic Layout
    4. Lesson 4: Data Models and Observables
  4. Testing & Debugging
  5. Building & Submitting

Diary of progress

  • 2016.12.14 - Started '1. Introduction'
    • I can't open the book in the Gumroad app.
    • I don't have the latest version of the book. Josh said the latest is RC.3, I have RC.1.

Ionic 2 vs. Ionic 1

  • http://www.joshmorony.com/7-reasons-why-ionic-2-is-better-than-ionic-1/
    • In Ionic 2 almost all of your coding will be done inside of the app folder, which is completely separate to the www folder which contains the code that is actually served to the browser. When you run an Ionic 2 application, the code in the app folder is automatically transpiled and bundled into a single Javascript file which is copied into the www folder and served. For the most part, you don’t have to touch your index.html file at all.

Starters / templates

  • Ionic 2 + Firebase 3 Email Auth System
    • I bought this from this site: http://javebratt.com/ionic-starters/
    • As its name says it this is an email auth system working with Ionic 2 and Firebase 3, all you have to do is change your Firebase information and you are ready to go, it offers:

      • Create new accounts using email and password.

      • Login to those accounts.

      • Logout from the account.

      • Forgot your password reset link (up to actually sending the email and handling the password reset for you)

      • It also has input validation using the NG2 FormBuilder class.As soon as you extract the .zip file you’ll get a README with all the instructions on how to use it

PhoneGap

Xamarin

2015.04.04 - Diego Estaun (Blog) - Some thoughts after (almost) a year of real Xamarin use

So, to sum up, is it Xamarin worth it?  For me yes, but as other tool to add to your options, and not to totally replace native development, at least for now. Depending of the project and requirements I would be happy to have Xamarin available and I will use it, but there will be other situations in which I really think use native will be a better choice.