MihaylovaL / YarnShop

MIT License
0 stars 0 forks source link

[RESEARCH] Find out which FE technology is suitable with Spring #32

Closed MihaylovaL closed 3 months ago

MihaylovaL commented 3 months ago

To build easy to maintain and extend applicaiton we have to choose one of many options of FE languages and frameworks. Reasearch:

MihaylovaL commented 3 months ago

Since I have no experience in either React or Angular and I'm developing a frontend for a Java Spring backend, here are some considerations which help me decide:

React:

Learning Curve: React has a relatively gentle learning curve, especially if you're already familiar with JavaScript and HTML. Its component-based architecture makes it easy to understand and work with.

Community Support: React has a large and active community with extensive documentation, tutorials, and resources available online. There can be find plenty of support as you learn and build your project.

Flexibility: React is more lightweight and flexible compared to Angular. It's a library rather than a full-fledged framework, allowing you to choose additional libraries and tools as needed for your project.

JSX: React uses JSX, a syntax extension that allows you to write HTML-like code within JavaScript. While it might seem unusual at first, JSX simplifies the creation of UI components and helps maintain a clean and readable codebase.

Angular:

Comprehensive Framework: Angular is a comprehensive framework that provides out-of-the-box solutions for many common tasks such as routing, forms, and HTTP requests. This can be advantageous if you prefer a more opinionated structure and want to get started quickly without making too many decisions.

TypeScript: Angular is built with TypeScript, a superset of JavaScript that adds static typing and other features to the language. While TypeScript can offer benefits in terms of code quality and maintainability, it may have a steeper learning curve if you're not familiar with it.

Dependency Injection: Angular has a built-in dependency injection system, which can be useful for managing dependencies and promoting modularity in your codebase. This feature may be particularly beneficial for larger and more complex applications.

Given my lack of experience with both technologies, I find React to be a more approachable starting point. Its simpler learning curve and lightweight nature can make it easier to grasp concepts and get started with building my frontend.