What is the optimal environment for trying Ionic?

This post is more than 2 years old.

So earlier today before the OMG A WATCH IT BURNS event, David asked me a question about Ionic on Twitter:

I told him I'd need a bit more than 144 characters to respond so this is my attempt. As always, take what I say with a grain of salt. This is my opinion.

First and foremost - David said, "trying" - which to me is a bit different than "working with." If your goal is to see it as quick as possible and you don't really have anything else, then you should be able to get by with just doing what their Getting Started guide recommends: npm install -g cordova ionic. This will not be enough to test on a device if you don't have SDKs, but you will be able to test in a browser. You can see the UI. You can see the directives being used. I think this will give you a good idea of what you get out of the box to at least let you know if you will like working with their framework. (Spoiler - you will - but I'm biased.)

To be clear though, where the Getting Started guide suggests adding the iOS platform, you will not be able to do that if you truly have a virgin machine. Instead you want to use ionic serve which will fire the project up in the browser. Just remember you can't test any device features, but you can test pretty much everything else in Ionic.

So that's the quick way. For the optimal setup for someone planning to commit to Ionic, I'd go ahead and ensure you get your SDKs set up. That's covered over at Cordova's web site and is an "involved" process, but deal with it. You can skip that if you want to use Ionic Box, but I'd probably still recommend biting the bullet and doing the SDKs locally.

Finally - as much as I like Android, nothing is as fast as iOS. Get a Mac. Seriously. Being able to send to the iOS emulator in about 3 seconds if a huge benefit. You don't have to drink the Apple Koolaid completely but at the end of the day my Macbook Pro has probably been the best development machine I've ever owned. As I said - take this with a grain of salt - and feel free to argue with me in the comments. ;)

Ok, I lied. I'm not done. As long as I'm rambling on with other recommendations, here are a few more:

  • Brackets is the best editor for web projects. Get it.
  • Ionic supports viewing log messages in the console, which is probably good enough for half of your debugging. Outside of that, use GapDebug. It gives you remote inspection for iOS and Android all in one Chrome tab.
  • For Android development, do not use simulators. Use Genymotion.
Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by David R posted on 9/10/2014 at 5:25 AM

Thanks for this wonderful writeup Ray! After watching a 10 minute video in the ionic site, I was wondering why these many softwares required to try a HTML5 framework.

I would love to see more articles on ionic from you! :-)

Comment 2 by Raymond Camden posted on 9/10/2014 at 5:30 AM

I'm doing a presentation on it for NCDevCon and all of their presentations will be available online. I'll blog here when I have the URL.

Comment 3 by Salvatore fusto posted on 9/10/2014 at 12:37 PM

Ray,
what do you think about ionic box?
regards

Comment 4 by Raymond Camden posted on 9/10/2014 at 3:10 PM

I blogged about it here: http://www.raymondcamden.co...

In general - I think it is VERY cool. Having taught PhoneGap/Cordova over the past few years, I would have *loved* to have used this. I think for reaching it is incredible.

Would I recommend it for someone doing full time Cordova work? Maybe not. I'd probably recommend doing the 'real' SDK installs just so you have it. But if you want to try it first, or have difficulty and just need to get it running fast, then I'd say use it.

Does that distinction make sense?

Comment 5 by Salvatore fusto posted on 9/10/2014 at 6:08 PM

Yes, of course.
thanks

Comment 6 by cristi posted on 9/11/2014 at 8:17 PM

try intelijidea http://confluence.jetbrains...

there is a phonegap plugin in the plugins repo that supports ionic and works great

Comment 7 by Raymond Camden posted on 9/11/2014 at 8:18 PM

I heard about that earlier this week. I'm getting a license soon to test.