Skip to content
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

Integrate VueJS blueprint as a mainline generator (like Angular and React) #10575

Closed
cmoine opened this issue Oct 8, 2019 · 57 comments
Closed
Assignees
Labels
area: feature request 💡 $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ changes: major ⭐ theme: front v7 $300 https://www.jhipster.tech/bug-bounties/
Milestone

Comments

@cmoine
Copy link

cmoine commented Oct 8, 2019

Overview of the feature request

The actual flow for VueJS is awkward (CLI and https://start.jhipster.tech/#/generate-application as well):

  • Choose React/Angular generation
  • THEN choose VueJS blueprint

Moreover the web site claims:
Spring Boot + Angular / React / Vue Web applications
I think it is very frustrating/confusing that we cannot choose VueJS instead of React/Angular. I am pretty sure some users just give up after that and do not dig deeper.

Motivation for or Use Case

VueJS is really gaining popularity, it really makes sense to do it. Some recent articles are now only comparing React and VueJS, Angular is no more part of the comparison :-(

Moreover, I think the VueJS generator would gain popularity and stability since it would be part of the release train. At the moment, a new JHipster version does not imply the blueprints have been tested against it (from JHipster perspective) (tell me if I'm wrong).

Related issues or PR

None, but I would be glad to contribute for this feature in a PR.

@pascalgrimaud
Copy link
Member

It's an important discussion
cc @jhipster/developers
Plz, vote the original ticket with +1 or -1

@wmarques
Copy link
Contributor

wmarques commented Oct 8, 2019

I'm ok for merging Vue, the blueprint is quite stable and very well made :)

Just one thought about that quote:

VueJS is really gaining popularity, it really makes sense to do it. Some recent articles are now only comparing React and VueJS, Angular is no more part of the comparison :-(

Both 3 frameworks are made to build applications, if you do shitty things with Angular, ofc the app will suck, same goes for Vue and React.
Both have pros/cons, I always see the 3 frameworks on "comparison articles".
Angular is very widely used especially in the Java ecosystem.

I agree that Vue is great etc, I even use it myself for small personal projects, but don't discard other technologies because they do have less Github stars or less representation in articles, that doesn't mean anything.

I would have said the same for React of course.

@mraible
Copy link
Contributor

mraible commented Oct 8, 2019 via email

@cmoine
Copy link
Author

cmoine commented Oct 8, 2019

I don't want to compare those technologies here.

I am just talking about popularity. I hate React, and yet it is the mostly widely used :)

Vue.js is hardly used by anyone in comparison.

Ok that is interesting. However, do you make presentation really worldwide, or mostly Europe for instance?

You are right, big compagnies use a lot Angular and React, but I think that lots of startup opt for VueJS, because much lighter to start with. And I think that JHipster is very useful for startup who wants to start really fast... Big companies develop their own ecosystem. That is my opinion of course ;)

@mraible
Copy link
Contributor

mraible commented Oct 8, 2019

My presentations this year have been in North America, Europe (Spain, UK, and Ireland), and India. I hope to add Australia, Japan, and more Asian countries in 2020.

Do you hate React because you used it on a project and it failed or because you don't like how it works? Just curious as to where your bias comes from. Personally, I like all three frameworks.

@cmoine
Copy link
Author

cmoine commented Oct 8, 2019

Do you hate React because you used it on a project and it failed or because you don't like how it works? Just curious as to where your bias comes from. Personally, I like all three frameworks.

I (tried to) use it only personally. I hated it because I found tons of boilerplate code, 10.000 ways to do the same things (I guess it leads to very messy projects), and not very abstract... I was happy to see some other people were also allergic to it as well ;)

@murdos
Copy link
Contributor

murdos commented Oct 8, 2019

Big companies develop their own ecosystem. That is my opinion of course ;)

Big companies also use JHipster a lot.

@deepu105
Copy link
Member

deepu105 commented Oct 8, 2019

I'm ok with merging the blueprint. I don't think we have any reason to do comparisons and stuff. In general, React is the most popular lib followed by Vue and Angular, but within the JHipster community usage of Vue might be less. I personally like React followed by Vue, Angular is kind of loosing out to these.

For now, it makes sense to offer all 3 options

@vishal423
Copy link
Contributor

I believe we should also consider maintenance overhead. I have observed less community interest to maintain react than the angular.

@atomfrede
Copy link
Member

It would ge good to have vue in the main generator, but currently I see one huge issue with that. It is the protractor for e2e testing. We always try to follow best practices and choose the best tool for the job but in that case I think we could do better from a vue point of view.

So first we need to update the blueprint and get our ci up and running reliable again before continuing here. In general regarding the fact jhipster online does not support the official blueprints I currently don't see a huge issue with that, but when node, .net and maybe micronaut gain traction it would be awesome to select them in jhipster online too.

@vishal423
Copy link
Contributor

So first we need to update the blueprint and get our ci up and running reliable again before continuing here.

That's what I am concerned about. I see no/little active participation by the community to fix broken builds. If we think that the migration to cypress or moving that code to the main generator will help improve on this situation, then, we can try that as well.

On a personal note, I also think about moving react code as a separate blueprint and support only Spring/Java and Angular as the first-class citizen.

@avdev4j
Copy link
Contributor

avdev4j commented Oct 9, 2019

For me, it's the way to go to. so +1.

@deepu105
Copy link
Member

deepu105 commented Oct 9, 2019

@vishal423 I think the reason is that we have more people in the core team interested in Angular than React. Earlier I was the one maintaining React as I built that part but then later there were few others. But IMO React is still a better option than Angular.

@deepu105
Copy link
Member

deepu105 commented Oct 9, 2019

If protractor is becoming a bottleneck, then may be lets reconsider moving to Cypress

@clementdessoude
Copy link
Contributor

clementdessoude commented Oct 9, 2019

Hi everyone !

I'm not sure that the main concern here is Protractor, but the increasing complexity of combinations offered by JHipster.

Just to let you know, I tried to create a module for Cypress, but was blocked with two issues:

  • you cannot simulate typing in "datetime-local" fields yet (Cannot type on datetime-local input cypress-io/cypress#2613)
  • I wanted to modify some angular/react/vuejs templates to create a good module, which is not possible to do inside the module (I created some branches in my generator-jhipster fork to test that)

I also wanted to focus more on prettier-java so I stopped working on this lately, but I would like to work further with this in the future.

PS: here is my repo, for those interested: https://github.com/clement26695/generator-jhipster-cypress

@vishal423
Copy link
Contributor

@deepu105, that was my personal opinion after working on both angular and react projects. I still use react occasionally on some small projects, but, in those, favor standard JS over TS 😄

Supporting multiple front end implementations might impact/delay introduction of new features on backend. As an example, if we plan to support aggregates, then, those would also require UI changes on angular, react and vue and I am not sure if a contributor would like to do that.

@cmoine
Copy link
Author

cmoine commented Oct 9, 2019

I'm not sure that the main concern here is Protractor, but the increasing complexity of combinations offered by JHipster.

I totally agree we need to be careful with this point.

If protractor is becoming a bottleneck

I think it becomes out of the topic. Fixing e2e tests is a prerequisite, fine. I am not very familiar with e2e tests in JHipster: are they all the same, or do they depend on Angular/React? Would a requirement be that we would prefer Cypress over Protractor only for VueJS? Shouldn't we focus on "technical" requirement instead of technical problems themselves?

@deepu105
Copy link
Member

deepu105 commented Oct 9, 2019 via email

@jdubois
Copy link
Member

jdubois commented Oct 14, 2019

I just did a VueJs app and really loved it. For my personal use, this would be my favorite framework today, so I'd be happy to see this merged.
Then, I agree with @mraible that enterprise adoption seems very low.

@RothAndrew
Copy link
Contributor

+1 for the idea, -1 for having to slog through a bunch of comments that amounted to "The framework that I like is better than the framework you like".

@yacosta738
Copy link
Contributor

yacosta738 commented Oct 14, 2019

I would very much like to see VueJS integrated into the main project. Vuejs is gaining popularity and is very easy to use. It would also be ideal to have the option of choosing any of the three frameworks (angular / react / vuejs). I hope it can be posible. I would also like to see kotlin integrated in the main project

@TonyLuo
Copy link
Contributor

TonyLuo commented Oct 16, 2019

vue 3.0 Pre-Alpha has been released. is it the time to integrated vue 3.0 into the main project?
https://github.com/vuejs/vue-next

@pascalgrimaud
Copy link
Member

No, the migration to vue3 won't be done as it is still in alpha

@sendilkumarn
Copy link
Member

I really love the idea of putting all three frameworks in the main generator. My only concern is about the overhead that it will add (both in maintaining it and to our pipelines).

I think we can wait a bit to see whether the usage of VueJS (within JHipster context) goes beyond a certain level (like more than 25% users) use VueJS. Then we can decide on moving that into the main generator.

A fun hacktoberfest idea: The prompts should intelligently fetch options from the official blueprints. This will enable us to add vueJS as an option dynamically.

@PierreBesson
Copy link
Contributor

I would argue that vue is already overtaking react while still being a blueprint which is impressive !

Screenshot_20191022_075949_com android chrome~2

As for dynamically adding options, it's obviously not feasible as a new version of the core can break blueprints (and often does). Also if it is in the official prompt why not move the code to the core repo so that we can end to end test it and prevent regressions.

@pascalgrimaud
Copy link
Member

The last part was done, related to daily builds :

Vue_builds

We can close this ticket

@pascalgrimaud
Copy link
Member

The bounty has been claimed at https://opencollective.com/generator-jhipster/expenses/22609

@atomfrede
Copy link
Member

Great work Pascal! 👍🎉

@pascalgrimaud
Copy link
Member

Thanks a lot @atomfrede !

@pascalgrimaud pascalgrimaud added this to the 7.0.0 milestone Jul 26, 2020
@deepu105
Copy link
Member

deepu105 commented Jul 27, 2020 via email

@alaahong
Copy link

alaahong commented Aug 9, 2020

Any possible to support Vuetify? Seems vuetify is a better solution on Vue.JS
https://vuetifyjs.com/en/introduction/why-vuetify/
image

@yacosta738
Copy link
Contributor

@alaahong vuetifyjs is a very good option I always use it in my projects with jhipster (Of course making a lot of changes to the UI). I would like to create a blueprint to integrate vuetify once jhipster version 7 comes out and analyze all the changes that come in this new version. I think I will need a lot of help especially in the tests

@deepu105
Copy link
Member

deepu105 commented Aug 10, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: feature request 💡 $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ changes: major ⭐ theme: front v7 $300 https://www.jhipster.tech/bug-bounties/
Projects
None yet
Development

No branches or pull requests