Web Development
What framework should I build my client side application with?

2

Asked 2 years ago,
Active 2 years ago,
1 comment
•  376 views
nodeman asked this question 2 years ago
nodeman
2 years ago

I'm going to be starting a new project pretty soon and I know that I am going to need to work with some sort of front end framework as I anticipate this project becoming overwhelmingly large. Having never worked with any sort of front end frameworks before, I am afraid of starting to work with one and realizing that I hate it or it may not work for my given application. Additionally, how do you guys handle projects that you know are going to become large and complex? Are there any sort of steps you take before hand to help prepare you for the work ahead?

coreydom commented 2 years ago
coreydom 2 years ago

This is certainly a loaded question! Lets break it down...

Out of all of the client side frameworks out there, lets choose the two "most popular", and I put this in quotes as this is always a hot topic amongst developers. The two most popular frameworks to me, again purely subjective, would be React and Angular. FYI for this case even though React is technically a library, we'll be lumping it in with the Frameworks because it can behave like one with a little developer intervention.

1) React

This component based framework is great for both smaller and large projects, and will help you create a modern feeling SPA (single page application). As far as I am aware React has the largest developer use cases, which means finding resources online to help assist your learning should be a breeze. In my opinion learning and implementing React is going to be far easier than Angular. If it's consolation companies like Facebook, Netflix and Airbnb use React...

2) Angular

Although I think React is an extremely useful framework, my preferred client side framework would be Angular. I put it as #2 as it's not the most widely used frontend framework and I feel as though that light should be shown on React. Just like React, Angular is going to give you a modern feeling SPA with a ton of resources available to help you with learning the framework. Angular is going to be a little more difficult to learn, but once you become comfortable with the framework and TypeScript, Angular writes like a breeze. Now there are some key concepts to TypeScript like dependency injection that are difficult for some to grasp at first, which might make it difficult for a new developer to implement. Angular is going to be tailored towards large applications that are typically going to have a team of developers working on it, but is still extremely useful for a "one man band" when writing complex web apps. Angular has its share of major tech companies implementing this framework like Google (Gmail), Microsoft, and PayPal.

One thing to add here about SPA's, is that they do not play nice with SEO. That means that whether you choose to move forward with React or Angular for your application search engines may have a hard time finding the data on your application, especially if it is dynamic. I'm unaware of any packages to help with SEO for React, if anyone knows of any please chime in here! For Angular you can implement Angular Universal which will take your CSR application and turn it into a SSR application, with ease. Although there are fallbacks to going with SSR, you would be able to solve that SEO issue, if it even matters to you!

The only advice I can give regarding starting a project that you know is going to become extremely large is to do your research, think through your project structure, and be prepared for issues as the application becomes more complex.

1

0
replies
Leave a comment
Leave a comment