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

ABP Vue startup template #1168

Open
ugurozturk opened this issue May 28, 2019 · 24 comments
Open

ABP Vue startup template #1168

ugurozturk opened this issue May 28, 2019 · 24 comments

Comments

@ugurozturk
Copy link

It would be great if abp has an option for starting template via Vue.

@hikalkan hikalkan changed the title Abp and Vue ABP Vue startup template Jun 2, 2019
@hikalkan
Copy link
Member

hikalkan commented Jun 2, 2019

Thanks for the suggestion. Angular, React, Vue, Blazor templates are in the road map. However, our first priority is to release a stable version of the core framework with MVC UI.

@KevinFarrow
Copy link
Contributor

Vue.Js, Nuxt.js with Typescript (including nswag) support, and PrimeVue components is probably the best way forward for the next startup template. As much as I like the idea of Blazor it is just too immature for production and probably will be for at least the next 6 to 12 months.

https://nuxtjs.org/
https://nuxtjs.org/guide/typescript
https://www.primefaces.org/primevue

@ugurozturk
Copy link
Author

ugurozturk commented Aug 16, 2019

@KevinFarrow PrimeVue looks pretty good

Perhaps something like this can be also useful
https://github.com/chrisvfritz/vue-enterprise-boilerplate

Edit : I tried to modify it for abp yet, i failed because external login :|

@hikalkan
Copy link
Member

Thank you for sharing these. It will be helpful when we start to work on it.

@MightyLoggor
Copy link

I like this one for mobile. https://quasar.dev

@ugurozturk
Copy link
Author

Just wanted to share github star compare react vs angular vs vue

image

@KevinFarrow
Copy link
Contributor

The following combination would work well and doesn't force the user to use a complete 3rd party framework (quasar etc.) or set of boilerplate code (e.g. vue-enterprise-boilerplate).

@theChrisMarsh
Copy link

I am really puzzled by the lack of comments, updates, or progress on this in almost a year. I assume it is not really on the roadmap. Is this actively being discussed and is there a timeframe if it is?

@shaofing
Copy link

Vue 3.0 + typescript

@niltor
Copy link

niltor commented Feb 20, 2021

If it is to attract more people, then this is an option to consider, especially for developers in China, many novice use Vue.
However, ABP team made the right choice, they chose angular. Only angular can be said to be seamlessly integrated, especially when it comes to code generation, programming experience is completely different. Of course, if you just provide an initial template, it's still possible, but if you want to fully support it, such as generating all the basic code based on the model, I don't think it's worth it.

Besides, vue3+typescript is stupid, why not choose angular directly !

@brokenthorn
Copy link

If it is to attract more people, then this is an option to consider, especially for developers in China, many novice use Vue.
However, ABP team made the right choice, they chose angular. Only angular can be said to be seamlessly integrated, especially when it comes to code generation, programming experience is completely different. Of course, if you just provide an initial template, it's still possible, but if you want to fully support it, such as generating all the basic code based on the model, I don't think it's worth it.

Besides, vue3+typescript is stupid, why not choose angular directly !

OK, first of all, no project is stupid. And second of all Vue 3 is the first version of Vue that can be viably supported with ABP. It has first hand support for Typescript, being written completely in it. But that doesn't mean that supporting Vue is going to be easy. Current proxies would be easy to use with Vue 3 if you're OK with Observables/RxJS. But to be fully compliant with the Vue community guidelines and the way of developing apps in Vue, ABP would need to create a proxy generator with a Promise-based interface and also port over all ABP components from Angular to Vue. There is no doubt that such a combination between ABP and Vue 3 would have a huge following especially from China, but one problem will still remain. Vue lacks proper tooling, enterprise level tooling, and that is true especially for Vue 3 which is very new. With time, perhaps as Vue 3 gains traction and perhaps better integration with the major IDEs, including Visual Studio, Vue 3 will have to be supported by ABP, but right now, that's very much up in the air...

@hikalkan
Copy link
Member

hikalkan commented Mar 2, 2021

Supporting a 4th UI framework officially is very hard for us, to be honest. When we add it, all modules, theming, extensibility, modularity and every other feature should be compatible with that new UI type. This multiples our work and slows down us a lot. Also, it requires a strong expertise and we can not be best in every area.

So, to be honest, we are currently not planning a 4th UI in the middle term. We regularly re-evaluate our decisions based on changing conditions, but current situation is like that.

ABP is actually UI independent. You can use Vue or another SPA on frontend. If you want to use Vue or React today, I suggest to start with one of the vue/react empty startup templates and use ABP as a backend framework. Using Vue with ABP for a specific project is far more easier than adding & maintaining an official solution in the ABP platform.
The best we can do for now to create an article/guide to create a sample application with vue & abp.

@uwascan
Copy link

uwascan commented Mar 11, 2021

@hikalkan Most of the folks who want to use vue.js or react js do not need theming or tight integration what we need is just examples of how to hookup with the backend services provided by ABP Framework.
For those interested please check out this repo abp-vue-admin-element-typescript. Its uses the microservices project template and its what I have been following with great success. There is a lot to learn from the source code. This other repo has nice resources for ABP Framework

@yel-best
Copy link

yel-best commented Sep 9, 2021

Supporting a 4th UI framework officially is very hard for us, to be honest. When we add it, all modules, theming, extensibility, modularity and every other feature should be compatible with that new UI type. This multiples our work and slows down us a lot. Also, it requires a strong expertise and we can not be best in every area.

So, to be honest, we are currently not planning a 4th UI in the middle term. We regularly re-evaluate our decisions based on changing conditions, but current situation is like that.

ABP is actually UI independent. You can use Vue or another SPA on frontend. If you want to use Vue or React today, I suggest to start with one of the vue/react empty startup templates and use ABP as a backend framework. Using Vue with ABP for a specific project is far more easier than adding & maintaining an official solution in the ABP platform.
The best we can do for now to create an article/guide to create a sample application with vue & abp.

yes,you are right.

We are using the method you mentioned to create the project,But I have encountered a problem, because the user & permissions & other basic module apis attached to the abp startup project seem to be unable to correlate well with our vue project.

So I really hope to have an official abp guide, please, thank you. 😄

@sunyuliang
Copy link

vue?

@yb12306
Copy link

yb12306 commented Mar 15, 2022

vue 遥遥无期

@mahdinai
Copy link

vue?

@daconglee
Copy link

为啥要使用vue?

@geextudio
Copy link

geextudio commented Oct 8, 2022

I am big fan of Vue and ABP, but I suggest the team keep ABP independent from any front-end framework since UI startup template never meet everyone's UI design, and we seldom use the default UI template in real world.

A practical guide or examples to integrate ABP backend service to any frontend is a better idea.

@davidzwa
Copy link

davidzwa commented Nov 12, 2022

I am big fan of Vue and ABP, but I suggest the team keep ABP independent from any front-end framework since UI startup template never meet everyone's UI design, and we seldom use the default UI template in real world.

A practical guide or examples to integrate ABP backend service to any frontend is a better idea.

TL;DR stick to ABP as a default (profit 🥇), or face the fact that you might have to build some things again for staying ahead of the speed/size optimization curve (profit 🥇). You can then grind to optimize your app to be super fast and small.

I'm about to migrate away from Angular (for ABP) to Vue due to the immense increase in bundle size, slowdown of app development and simply the fact that my way of using ABP is not compliant with the default way of using ABP (f.e. plain JWT instead of oAuth, no IdentityServer/OpenIDDict).
Going to miss all the proxy-generated tools, translation hooks and more, but I also realize that by building it myself will give back a huge amount of control over bundle size, app loading speed and opinionated tooling.

So, yeah, I agree that ABP should not add Vue packages at all, because it is just not going to be optimal for developers who want:

  • low bundle size
  • fast development cycle ("grab a coffee while Angular's webpack is ramping up to 3GB of RAM usage in 2 minutes for a mini app)
  • less is more (tooling wise)
  • own choices of UI
  • no custom webpack magic for localization integration
  • no overriding of defaults provided by ABP to make your life easier (but in my case harder; similar to enforced oAuth)

Please note: this is not being critical towards ABP, I fully understand that in order to get projects started, choices have to be made! And I therefore would like to add that deviating from those choices is the problem of the developer/user, not ABP at all.

@uwascan https://github.com/colinin/abp-next-admin - this example is super fascinating from the pictures, but literally incomprehensible/illegible for anyone unable to understand Chinese. I do not understand why it is not common practice to document in English properly.

@roger-cprops
Copy link

I agree with the previous comments above regarding a guide for Vue. We purchased the Commercial license to build a microservices architecture for the backend and will have a Vue 3 frontend as well as exposing some of our services as external API's.

I've also been trying to unravel the Angular NPM modules to see if I can't leverage some of the code with Vue 3 but it's extremely time consuming.

A further recommendation to providing a Vue guide would be for Abp or someone to develop composables to include especially for the standard modules (Account, Identity, OpenIdDict, and Tenant).

@Amorganskate
Copy link

@roger-cprops I'm actually looking into this myself for work. Let me know how it goes.

@umerkle
Copy link

umerkle commented Dec 23, 2023

Hm, this issue is still open. Does this mean, the idea is still possible to be implemented?

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

No branches or pull requests