New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

transitioning to angular 2 / ionic 2 stack #403

Open
gruppjo opened this Issue Jul 5, 2016 · 17 comments

Comments

Projects
None yet
@gruppjo
Contributor

gruppjo commented Jul 5, 2016

*Update* from me below!!

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

  • component based architecture / typescript
  • fountain generators
  • better ionic cli integration
  • more options (which eslint/tslint presets, etc...)
  • what would you like to see?
  • how do we compare to, or integrate into angular 2 cli

@gruppjo gruppjo added this to the 1.10.0 milestone Jul 5, 2016

@gruppjo gruppjo referenced this issue Jul 5, 2016

Closed

yeoman blog #8

@DrakeWitt

This comment has been minimized.

Show comment
Hide comment
@DrakeWitt

DrakeWitt commented Jul 7, 2016

+1

@gruppjo gruppjo modified the milestone: 1.10.0 Sep 13, 2016

@LunarDevelopment

This comment has been minimized.

Show comment
Hide comment
@LunarDevelopment

LunarDevelopment Sep 22, 2016

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

LunarDevelopment commented Sep 22, 2016

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

@gruppjo

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Sep 23, 2016

Contributor

@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.

Contributor

gruppjo commented Sep 23, 2016

@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

This comment has been minimized.

Show comment
Hide comment
@lolaswift

lolaswift Oct 15, 2016

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

lolaswift commented Oct 15, 2016

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

@ivanmayes

This comment has been minimized.

Show comment
Hide comment
@ivanmayes

ivanmayes commented Oct 24, 2016

+1

1 similar comment
@amrsh

This comment has been minimized.

Show comment
Hide comment
@amrsh

amrsh commented Dec 2, 2016

+1

@sosensible

This comment has been minimized.

Show comment
Hide comment
@sosensible

sosensible Dec 12, 2016

+1
Is the beta out?

sosensible commented Dec 12, 2016

+1
Is the beta out?

@gruppjo

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Dec 21, 2016

Contributor

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.✌️

Contributor

gruppjo commented Dec 21, 2016

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

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Jan 18, 2017

Contributor

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: #465.

Contributor

gruppjo commented Jan 18, 2017

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: #465.

@gruppjo

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Jan 27, 2017

Contributor

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

Contributor

gruppjo commented Jan 27, 2017

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

@huiqiangyang

This comment has been minimized.

Show comment
Hide comment
@huiqiangyang

huiqiangyang Feb 9, 2017

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

huiqiangyang commented Feb 9, 2017

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

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Feb 15, 2017

Contributor

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

Contributor

gruppjo commented Feb 15, 2017

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

@anhiliate

This comment has been minimized.

Show comment
Hide comment
@anhiliate

anhiliate Feb 27, 2017

@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.

anhiliate commented Feb 27, 2017

@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

This comment has been minimized.

Show comment
Hide comment
@gruppjo

gruppjo Feb 27, 2017

Contributor

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!

Contributor

gruppjo commented Feb 27, 2017

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

This comment has been minimized.

Show comment
Hide comment
@paulx3

paulx3 Jun 9, 2017

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

paulx3 commented Jun 9, 2017

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

@MathiasTim

This comment has been minimized.

Show comment
Hide comment
@MathiasTim

MathiasTim Jun 11, 2017

Contributor

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?

Contributor

MathiasTim commented Jun 11, 2017

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

This comment has been minimized.

Show comment
Hide comment
@paulx3

paulx3 Jun 29, 2017

@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.

paulx3 commented Jun 29, 2017

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment