Best UI Framework for web application

Pra Sys
Pra Sys used Ask the Experts™
on
I want to write a web application that will be hosted on the cloud. It is UI based application. It will programmatically interact with AWS and few other tools. I have heard about Angular, React, Vue, etc. Which UI framework is best and why? Looking for a framework which will give the best UX and performance.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
David FavorFractional CTO
Distinguished Expert 2018

Commented:
Without having more detail, best stick with WordPress as your framework for UI based systems.

The only real difference between WordPress + other frameworks, is with other frameworks you'll require a fair amount of time + budget to re-develop existing WordPress code (themes, plugins, session management, code update management) which you get by default with WordPress.
Most Valuable Expert 2018
Distinguished Expert 2018

Commented:
It's a really difficult question to answer - which is the best. Ask a number of devs and they'll all give you their own reasons as to why one is better than another. The big 3 are Angular, React and Vue. React is probably the most popular (currently), but Vue is quickly gaining traction. They all have their pros and cons, so you'll have to do some research of your own.

Before you start researching though, you'll want a good understanding of what your application requires. Break it down into functional chunks, and then base your research on that. Without a good brief, you wont really be able to prioritise your needs.

There's also the question of time. Whichever framework you choose, there will be a learning curve. Depending on your current level of experience, that will differ between frameworks (according to various sources, Vue is probably the easiest to learn / Angular has the steepest curve). If you're already a whizz with JS, then you should be able to pick up a basic skill set quite quickly.

They're all likely to do what you need, but differ in how they do it.

And as for the best UX - that's not so much Framework related - that's a skill for the developer. Any of these 3 can give you a great, responsive web app, but they can also give you a terrible one !!
Pra SysSoftware Professional

Author

Commented:
To give more details, this app can not be done using WordPress. We need to develop it. It's internal for company users but requires lot of integration with third party defect tracking system, code repo, cloud IAAS, PAAS etc. It will interact with SQL and Nosql database. It needs to be very secure. We will also have a kind of access control mechanism implemented.
Most Valuable Expert 2018
Distinguished Expert 2018
Commented:
I certainly wouldn't suggest WordPress as a solution. It's a content management system and while it's reasonably good at what it does, it's probably not suited for what you need. .

Like I said above, before you even start to look at different technologies, map out your app. Decide on the different moving parts (database / authentication / api provision / api consumption / session management). Map out your data layer (Business entities / Domain models) and get a good idea of how things need to interact with each another.

The more time you put into planning your application and looking at the software architecture, the better informed you'll be. This will help you decide (or exclude) which technologies you what to look at.

There's a fair chance that you'll end up with 2 parts to your application - the front-end and the back-end. The front-end will be the UI for the end-user and will commnuicate with the server-side part of our application. Currently, a popular front-end design paradigm is the SPA (Single Page Application). Angular, React and Vue are all capable of that, and can create incredibly fast, responsive web applications. For the visual look of your App, you could do worse that starting off with Bootstrap, but you can use whatever styling you like. The back-end system is where your business logic and data layer will live. It will be responsible for managing your Business Entities (think Database), User Management (Authentication / Authorisation), API Provision etc. For the back-end system, consider a well strucutured framework, that works with MVC or MVVM patterns. It'll make your life a lot easier.

A common pairing,  that for good reason, is gaining in populatory is Laravel and Vue. In Laravel, you have a solid MVC (ish) structure to the back-end with a strong foundation for Data access / APIs / Authentication plus a whole lot more. For the front-end, Vue is pretty slick and helps you to build a component based system that is fast and robust.

You could just as easily pair other frameworks together, so you'll need to do your planning stage. The beauty of separating front and back end, is that you should be able to switch out either without affecting the other (probably!). All your business logic lives in the back-end, so changing the front-end from Vue to React for example, won't affect your server-side code. And if you decide to switch out the server-side code with a different framework, it shouldn't affect the front-end code, because all that's doing is consuming resources from the back-end.

There are  good ways to build apps, and there are bad ways to build Apps. I would argue that there's no best way to build them.
Pra SysSoftware Professional

Author

Commented:
So should I go ahead with angular? The back end is set of microservices written in java and node. dB is aws Aurora. UI app will also be deployed on cloud.
Most Valuable Expert 2018
Distinguished Expert 2018

Commented:
Sure ... if you like. It's your choice !
Pra SysSoftware Professional

Author

Commented:
Thank you sir. Appreciate your help.
David FavorFractional CTO
Distinguished Expert 2018

Commented:
Using WordPress as a framework produces a big win for App dev.

1) Apps can be written as plugins, so App code is easily encapsulated.

2) If some future requirement requires session management for 1000s of simultaneous users, WordPress allows this type of evolution in a simple + elegant manner.

So while I agree with Chris the type of project described here can be done in any framework (WordPress or any other), simple frameworks break down for complex user interactions.

Better to just use WordPress + get all this for free if required.

Then again, I'm super lazy, so when I work on a project I do my level best to ensure all work today leads to less work tomorrow... so my rule of thumb is to avoid developing my own custom/handrolled user/session management system at all costs... because I know I'll never be as smart as 1000s of developers working on user/session management in WordPress every day.

Note: Be sure to consider any future directions a project may take... including your exit strategy...
Pra SysSoftware Professional

Author

Commented:
Thanks David. I will consider this as an option.
David FavorFractional CTO
Distinguished Expert 2018

Commented:
You're welcome!

To many WordPress is overly complex... until... the day comes when WordPress type functionality is required, then a person starts thinking about how they will redevelop WordPress tech themselves. Many times, they just switch to WordPress then.

My preference is to use WordPress whenever user interaction is required, then encapsulate any other non-UI code inside API called code.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial