Can I Downgrade From Ionic2 Beta?

A few months ago I followed the getting started guide to do a fresh install of Ionic to build an APP. This sample code it set me up with was Javascript, and the starter guide shows Javascript. But everything I read now is saying I should be using Typescript, and most example code is Typescript. So I’m a little confused about why I was lead down a false path and created a ton of code in Javascript when I should have been using Typescript. That is minor annoyance number 1.

The second problem with this new version of Ionic is that it isn’t ready and I am having to wait indefinitely for just about everything I try to use. Example, the native Facebook component from the ionic v2 docs. I have it working in native mode, but the browser init isn’t supported yet, so I can’t have my APP usable outside of a mobile device. Nice to find that out after all the work was done too.

Third, the Deploy/push code no longer works in this version and I have to wait until ionic 2 official supports and provides documentation for deploy. No idea how long I have to wait, all I hear is ‘soon’.

So my experience thus far with Ionic is that the web is a huge mess of code for different versions of Ionic, Typescript, Javascript, etc. Nothing is organized. Every time I read a post about Ionic programming I have to figure out what version they’re talking about. Nothing works in Ionic V2 yet. I’m so frustrated. Why doesn’t the Ionic getting started guide encourage people to use the current working version!

So that’s my vent. Now what I would like to do is downgrade to a working complete version of Ionic… Is there a way to do this or do I need to create a brand new project in the old version and pull all my new code in? I mean I think its going to be a nightmare because the project structure is different in the new version, but I have to get deploy working and browser Facebook and can’t wait potentially months. And when downgrading should I go with Typescript or Javascript? I heard all new documentation for deploy will have Typescript examples, but yet the starter projects now use Javascript.

How do I downgrade to Ionic1?

In terms of having it installed on your machine, you can create an Ionic 1 project just by leaving off the --v2 flag when creating a new project. To change an existing Ionic 2 project into an Ionic 1 project you would need to create a new project and port it over, Ionic 1 and Ionic 2 aren’t compatible at all.

Ionic 2 is in beta and being actively developed (although a stable release is quite close), so there are going to be issues if you choose to develop with it. But to address your specific points:

  1. It has always been a choice with Ionic 2 as to whether you use JavaScript or TypeScript, either would work and still does. Most Angular 2 content is written in TypeScript, and a lot of people were adopting TypeScript by default, so now TypeScript is essentially the default for Ionic 2 (which should make things less confusing, since everything will be consistent). TypeScript is just an extension of JavaScript though, so you shouldn’t run into many issues if you’re not familiar with TypeScript.

  2. Ionic Native is a separate project to Ionic 2, it’s just a wrapper around Cordova plugins to make it easier to use with Ionic 2. You can still just use the Cordova plugin directly rather than using the Ionic Native wrapper for it.

  3. Yes, the platform services are still being developed for Ionic 2.

In my opinion you would likely be wasting time by downgrading to Ionic 1, unless it’s critical that you can use the platform services now, or if there’s other issues you haven’t mentioned. That’s really the only thing missing from what you’ve mentioned, there would be no difference in using the Facebook plugin with Ionic 1 or Ionic 2.

1 Like

Thanks for the great reply! I have spent a lot of time on your website tutorials so I was a little surprised to see that you responded. I’ll stick with V2 as you suggest and try to use the Cordova plugins directly… assuming I can figure out how to do that. Over and out…