Anyone else giving up on RC0? Rolling back to Beta 11!

I decided to try a few last more things before reverting.

I ran npm install -g ionic@latest, npm install @ionic/app-scripts and now I can run > ionic run browser and it works for me. main.js|css is being built reliably, and I’m not seeing polyfill.js fail to load some .html files. ionic serve does not work for me.

I’m unblocked for now and can move on to some styling fixes to get the RC1 looking like the Beta11 version.

Going to press on with RC…

how does one use the old build tools with the RC0 release?

2 Likes

I am feeling your frustration, we were ready to release our app in beta. RC0-1 changed our schedule drastically since it isn’t stable enough. However I think moving to RC1 will be worth it in the end. Our startup time went from 9 to 4 seconds. Animations ran smoother, transitions worked better and tap actions look more responsive.

Currently I am waiting for a solution to develop on a physical device so I don’t have to wait 4-10 minutes compiling for each code change, see this topic.

Until then I have to wait, I am sure the Ionic team does anything in their power. :slight_smile:

For me RC0 was a disaster in terms of “rollup hell”, and RC1 fixed absolutely nothing.

It feels like the product jumped back to Alpha stage and devs are busy experimenting with shiny new toys rather than preparing a real release candidate.

Rolled back to Beta 11 while failing to make external libraries work for more than 2 weeks already. Constant “we are working hard to fix that” and “we are feeling your frustration” do not work much to my greatest regret.

1 Like

It took us two weeks to transfer everything to rc0 and it was a nightmare. I’ve flooded stackoverflow with questions. I was stuck on every little imaginable things:

  • ngc compiler crashing down: AoT will bring you nightmares
  • all sorts of typescripts errors
  • rollup config for external library

All I can say is: Just keep on pushing.

Or what Churchill said: If You’re Going Through Hell, Keep Going

Good luck!

I’m having similar problems. And RC1 does not fix anything either. Ionic serve dos not even work on a fresh started sidemenu ionic project. This is just ridiculous. How can this be a release candidate ?

I can’t get past 404 errors in ionic serve that seems to indicate that some file just don’t get generated for some unknown reasons as the compiler is not complaining about anything… How can we fix things that are not even reported by the compiler. This is just absurd !

Personally I have 2 app built with Ionic 2 latest beta in production in the Google Play Store working like a charm so I was really happy and exited to finally see RCs coming in. But seeing the pain and time I had making all the changes to adapt to RC and finally not being even to make it even work in Ionic serve.

I’m really pissed at the Ionic 2 team right now !

Arnaud

Personally I’ve avoided using beta for anything serious precisely because it was in beta. Saying we’ll go to production with a beta version rather than upgrading to a release candidate sounds like a pretty odd decision to me to be honest.

The build step is the biggest pain point right now but the latest Ionic 2 RC Weekend Updates say

Based on feedback, we are strongly considering adding Webpack support into app-scripts again, as we believe we can produce a small enough bundle size that boots quickly, which we didn’t believe was possible before.

If you’re interested in tracking that progress, please follow this Pull Request on ionic-app-scripts.

so hopefully that will improve the save/build/refresh cycle.

@mirkonasato you are right but you are completly missing the point here ! What we are all saying here is that the latest beta is more production ready than the latest released candidate. Which can sound absurd but which is actually true.

Strictly speaking ionic-angular is what is at 2.0.0-rc.1. That’s in RC status as in the API is stable and only bug fixes are expected. (At least I hope that’s what it means.) The build scripts are separate packages, like @ionic/app-scripts is at 0.0.34.

In theory you could set up your own project with whatever build system you like and use ionic-angular as a dependency. In practice that’s pretty difficult to do. (I’ve tried and haven’t yet figured out how discovering *.scss files is supposed to work.)

So it’s not surprising that people consider the build tools to be part of “Ionic” and expect the “RC” label to apply to everything. But conceptually they are separate things, and this is actually something else I’d like to see improved: make it easier to set up your own project without using the Ionic CLI, i.e. provide some documentation on how to do that.

3 Likes

I updated my Beta11 app to RC1 and followed the steps from the blog post below and everything works fine now! Thank you ionic team for a job well done and keep up the good work. You’re awesome :+1:

Ionic 2 RC Weekend Updates

P.S. The frustrations shown here by the community are just signs of how much we love this product

4 Likes

On the contrary, we were not nearly transparent enough in this release and got bit by it. We really should have released this under a flag and then wrote a lot about it and got feedback. That would have been 100x better than just releasing everything. Lesson learned.

1 Like

For SqlStorage, I know it sucks that we removed it, but it really is for the better. WebSQL is deprecated, you really shouldn’t be relying on it existing in the long term. The change we made removed our dependence on WebSQL for a SQL engine. If you want to use SQL, you’ll need to use the SQLite plugin on ionic-native which also gives you full access to the engine: http://ionicframework.com/docs/v2/native/sqlite/

Then, we moved to @ionic/storage with a simple key value API which was the original design goal of our storage stuff: https://github.com/driftyco/ionic-storage

1 Like

So, first of all, RC0 and RC1 are really only referring to Ionic Framework, not the build toolchain. With RC0, we also made a lot of changes to the build tools but they are separate projects now. That means we will continue to fix and improve and release new Ionic Framework RC’s (the components you know and love) and then stable releases, and we will continue to update app-scripts (our build tools), ionic-native, and ionic-storage separately under separate version numbers.

However, right now we are releasing app-scripts updates a lot more quickly than we release framework versions, in order to address issues.

We know this release wasn’t good enough, the team is working around the clock to fix that and we have certainly learned from this release. I’m excited about moving back to webpack because the tool is more widely used and more forgiving, and it sounds like we’ll have something out next week.

3 Likes

Any chance you could email me? max@ionic.io. The reason is that your startup time should be way faster than 4 seconds!! I’d love to take a look at your project and figure out what’s going on! :smiley:

Hey everyone, thanks so much for the feedback and again, we’re sorry for this releasing causing so many problems for people. On one hand, it’s self inflicted: rollup is a great tool that works well assuming everyone is using standard ES2015 modules and following the spec. We way overestimated how mature the module ecosystem was for modern JS modules; most JS modules today are still using commonjs as it’s the most compatible with existing browsers/tools/etc.

On the other hand, Angular 2.0.0 stable introduced the AoT compiler and ngc which we are also using which are causing problems for people. I think we’ve taken a decent amount of blame for those tools that should probably be directed at the respective Angular teams as they are somewhat out of our control. However, we do take responsibility for every tool in our toolchain and if those tools are going to cause problems then they are going to cause problems for us. We’re actively sharing feedback from you all to the Angular team on that.

Finally, I want to talk a little bit about why we made the changes to the build scripts that we made. Over the last 2-3 years, Ionic has relied on a lot of 3rd party tools: gulp, myriad npm modules, angular1/angular2, typescript, etc. etc. One thing we’ve learned from all this is that if we don’t have enough control over the tools Ionic uses underneath, then we can’t guarantee a level of stability that we need. The team was constantly dealing with dependencies breaking or changing underneath us, causing unnecessary work for things that were working fine before. That means less work going into making Ionic better.

@ionic/app-scripts was also inspired by some of the work the React team did with create-react-app, which basically wrapped up common build functionality into a single npm module so you could rely on it working in a specific way and could update the whole thing as a package instead of updating all the dependencies individually, which was always error prone.

With app-scripts and our upcoming CLI changes, we’re no longer relying on so many node modules, we’re not relying on specific build tools staying stable, and we’ll have much faster install and runtime because we are able to control every little detail.

In the long run, I think this is going to pay off for Ionic devs in a major way, though it hurts right now which sucks.

1 Like

Will this be an additional option or are you changing the whole build process back?

It took me days to get my app compatible with RC0, especially with rollup, but now everything works very well. Ok, besides one last thing: the development/build process using ionic serve is still much longer long compared to beta. A quick and dirty “development build process”, e.g. by bypassing some of the code optimization steps, would be highly appreciated.

Many of the changes required to move to RC0 were not related to rollup. ngc/AoT/Angular 2.0.0 required changes that were a bit involved and so that hasn’t changed.

Initially we’re going to keep it under a flag but considering we think it’s going to solve most of the module issues, we have no choice but to make it a default if it’s going to be a net win for the rest of the community. That is a question we are going to be asking ourselves this week.

As for the serve optimizations, do you see build dev started... in your ionic serve output, or does it say build prod? The dev flow should be a lot faster now, and a change we pushed last night means MUCH faster template builds. Make sure to update @ionic/app-scripts to see it: npm install --save-dev @ionic/app-scripts@latest

1 Like

Hi @max, are you guys going to use Webpack 2? will it have AoT embedded? the main reason to update to RC.0 for me is just AoT, both to cut load time (currently ~10s), and speed internal app functionality, since with as many features we have put on it, now it starts to feel slow.

Also on the webpack build process, how much time we wait until it’s out? i’ve susbcribed to the PR but i’d like to have an aprox date (sorry if rushing things, i have 1 app in both Play and Ios stores).

Also if RC.0-1 is just the tag for ionic-framework, does that mean i can update to it while using my current webpack build process taking care of not updating the ionic cli?

I’m really unhappy with this. Many of us have spend days and weeks for making everything work with rc0 and the new build system. So telling us now that you guys are reverting back to webpack and so forcing again everyone to switch is not the right way to go.

There are ways to configure rollup in order to use commonjs modules but there is an acute lack of documentation on all these aspects.

I have great doubts that you guys will be able to support two build system at once but I do hope I’m wrong on this. Trying to create documents for rollup and webpack is going to be hard on your side. It would be best for everyone if you are able to support one build system. You made the choice to go with rollup because of performance and small final apk. The choice is right, stick to your guns and help us make this switch by providing good documentation.

People have focused on rollup but the switch was made hard because there were just too many changes at once (angular rc4 to angular 2: NgModule, AoT, ngc, typescript 2 etc.). Things will calm down, you are not alone, people are answering on stackoverflow, writing blog post, helping out on the forum.

Dropped you an email, but got out of office reply :stuck_out_tongue: