mwaylabs / generator-m-ionic

Advanced workflows and setup for building rock-solid Ionic apps
MIT License
670 stars 133 forks source link

transitioning to angular 2 / ionic 2 stack #403

Open gruppjo opened 8 years ago

gruppjo commented 8 years ago

*Update* from me below!!

new collective ticket for all topics angular 2 / ionic 2.

DahliaWitt commented 8 years ago

+1

LunarDevelopment commented 8 years ago

Would you dare to estimate a timescale for using ionic2/ angular 2?

gruppjo commented 8 years ago

@LunarDevelopment I'm currently working on a beta for ionic2/angular2. I hope the first version will be available in not more that 4 weeks.

lolaswift commented 8 years ago

@gruppjo +1 Just want to say thank you gruppjo.

ivanmayes commented 8 years ago

+1

amrsh commented 7 years ago

+1

sosensible commented 7 years ago

+1 Is the beta out?

gruppjo commented 7 years ago

Update December 21st, 2016 - slow development for Angular 2 & Ionic 2

Hey gals and guys.

I think it's time we give you guys some more information on what's been going on in the past weeks and months. You haven't heard from us in a while and you deserve to be provided with some insights in what's been going on.

Challenges

We've been working on a version for Angular 2 & Ionic 2 for quite some time now, we built prototypes to test setups, tools, and ideas and invested a lot of time in research. Unfortunately, we're not making progress as quickly as we hoped. There is a variety of reasons for that: With Typescript, RxJS, ES6 Angular 2 has a very steep learning curve and so internally at M-Way it turns out to be very daunting for our developers. Thus we're not adopting it as quickly as we thought and on many occasions, we're not yet sure what we want and need. On the technical side of things, which you are probably more interested in, also lie many obstacles that currently impede development. I will try to explain them in the following, without boring you with the details too much:

Considerations

The biggest obstacle is probably that the setup for Angular 2 alone is incredibly complex already, even without adding Ionic 2 and Cordova. So apart from the already complex workflows of Generator-M-Ionic there are now many additional topics to consider: like module loading and bundling, ahead-of-time AOT compilation, lazy loading, typescript transpilation and source mapping. With that, just getting your setup to perform a proper build of your project is a very complicated task, not to mention trying to add all the advanced workflows Generator-M-Ionic currently provides.

Many inter-dependent options and lack of interoperability

It's not just very complicated, there are also many many different tools to accomplish these tasks, with different states of stability, maturity and different sets of interoperability and dependencies. Furthermore, some of these still feel very beta and it's just very burdensome to build complex setups with them.

There's an incredible amount of options and variables to consider. Do we use SystemJS to load bundles, as it's recommended on angular.io? That would work well with a gulp setup, possibly easier to integrate with AOT which needs to compile your Angular Code using the ngc compiler. However webpack might be a better option here, it supports tree-shaking out of the box and many other features that might come in handy. But webpack is very monolithic and might not provide the flexibility we need for complex features like livereload. Additionally, many webpack setups do feel slow: A project setup with the Ionic CLI (which uses webpack) for instance needs up to 6 seconds on my 2015 MacBook Pro for a scss change to take effect while developing. So we could use SystemJS with Rollup which also supports tree-shaking. But getting Rollup, SystemJS, NGC and the systemjs-builder to work well together and do what we want has not proven itself to be a feasible task.

Bottom line

Thus. Long story short: We could throw together a dirty, not well thought-through version for Angular 2 and Ionic 2 quickly, right now and publish it. But that's not what we want and we don't think that's what you want, either. We've invested a lot of time, effort, and money to make Generator-M-Ionic a high quality, professional tool for us and for everybody who wants to use it. We use it every day, with pleasure and I'm sure many of you do as well, so we just don't think anybody would benefit from a half-baked, buggy and inconsistent setup. There's enough of those out there already.

So what can you do now? - Hang on, join the discussion or report back with your experiences while developing with Angular 2 / Ionic 2: webpack, aot, gulp, rollup, whatever, ...

I'll try to keep you updated more regularly, probably simply by commenting more on this issue.

Let us know what you think. Peace.✌️

gruppjo commented 7 years ago

Update January 18, 2017

As a result, we have committed to a few more months of development for Angular 1 & Ionic 1.

Read more or get involved here: https://github.com/mwaylabs/generator-m-ionic/issues/465.

gruppjo commented 7 years ago

Related issues: #309 (provide good transition path), #294 (earlier discussion about angular2/ionic2)

huiqiangyang commented 7 years ago

Now jhipster-generator version is 4.0 and use augular2. I want use jhipster and ionic, but your version only support augular and ionic2 ,I'm so sad!

Please update your version and syn with jhipster

gruppjo commented 7 years ago

Hi @huiqiangyang. Unfortunately, as I explained above. It's not so easy!

anhiliate commented 7 years ago

@gruppjo thanks for the great generator. I really appreciate the effort you guys have put into it and support your approach as well as the quality standard you want to maintain with the V2 of this generator. It's better this way than to make it work halfway and then spend your time fixing/boilerplate-coding.

gruppjo commented 7 years ago

Hi @anhiliate. Thank you for your kind words. I'm really glad you like what we're doing :) If you have any suggestions or any further comments, they're very welcome!

paulx3 commented 7 years ago

So it's already June. Can you tell me some of the latest progress?

MathiasTim commented 7 years ago

hey @paulx3, sorry things are evolving not as fast as we thought over here. But we are thinking about the transition to Angular (4) / Ionic (3), although this might take a while.

Why not choosing ionic-cli ? Any issues with that?

paulx3 commented 7 years ago

@MathiasTim hey, thanks for replying. Ionic-cli works fine for me. But Ionic-cli lacks a good testing pipeline. I have to tweek lots of settings to make it work with Travis . So I'm looking forward to a generator for Ionic2 and above.