Why We are Using the Given Framework and Languages for this Project
- The reason why we are using all these languages and tools is because the project has already been developed with these languages and tools, so we are forced to add on since changing all the code would be too difficult.
FRAMEWORKS:
- We are using the Angular framework, which accounts for most of the languages used in this project.
LANGUAGES BEING USED:
- We are working with JavaScript, Typescript, HTML, CSS, SCSS, and some Pug
BACKEND:
- The backend is assembled with NodeJS, Express, and SQL.
- PROS AND CONS OF ANGULAR FRAMEWORK
- JavaScript (https://data-flair.training/blogs/advantages-disadvantages-javascript/)
- PROS
- Easy to understand and learn and is used by many therefore all modern browser support it.Fast runtime speed compared to object oriented languages like javaVersatile as it it able to be used for front and back end.Rich interface increases interactivity during webpage development.Third party add-ons/plug-ins aids in making the development process faster.
- JavaScript can be interpreted differently depending on the browser therefore the code needs to be run on various platforms to ensure proper publishing.Single inheritance is only supported and therefore programs that utilize object oriented language characteristic cannot be used.Lack of debugging facility, making it difficult to locate the issue
- PROS
- Optional strong static typing thus leading to less error prone code resulting in an overall better performance when executed.Easier to read compared to JS due to strict typesRich IDE presents features the makes the code production easier, ie autocomplete and accurate suggestions.
- Takes time and investment to learn although similar to JSBrowsers cannot interpret TS therefore it needs to be transpire to JS before runningType and syntactic annotations slows down the development process and just make the overall file larger than if it were written in JS
- PROS
- Built on Javascript, so great for people who already know Javascript, and thus Java developers by extension. Don’t have to learn multiple languages for frontend and backend https://anywhere.epam.com/business/node-js-pros-and-consIt has a lightweight runtime, https://anywhere.epam.com/business/node-js-pros-and-consEasier to scale than other backend technologies, partially due to its micro-services and its ability to easily handle high traffic https://anywhere.epam.com/business/node-js-pros-and-consTargets all major platforms and OS https://anywhere.epam.com/business/node-js-pros-and-cons
- It is unable to process heavy computational tasks(can be partially solved with worker threads) https://anywhere.epam.com/business/node-js-pros-and-consIt lacks library support (can be solved by hiring experienced NodeJs developers) https://anywhere.epam.com/business/node-js-pros-and-consIt has an unstable, frequently changing API https://anywhere.epam.com/business/node-js-pros-and-cons
- PROS
PROS AND CONS OF USING ANGULAR
PROS(https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/)
- Typescript based, better for designing large applications
- Uses components as the basic UI building blocks. Which is good since components can be reused. They can be individually tested, and make code easier to read.
- Its use of RxJs allows for more efficient asynchronous programming
- Has dependency injection, which helps code be reused across different areas, improving reusability and maintainability of app components
- Can work across platforms and OS
- React is less versatile and maintainable than Angular
CONS(https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/)
- A lot of people are divided in the coding community on its usefulness
- Can have lots of files for a single component, and Angular can be very complex to learn
- Having to learn Typescript, rather than just using Javascript, can be tough
- PROS AND CONS OF USING HTML AND CSS
- PROS
- HTML is the standard language for generating web-contentHTML and CSS are the only languages supported by all browsersHTML and CSS are straightforward and easily used, and for the most part, they go hand in hand
- HTML cannot generate dynamic content (changes after loading the page) without outside help from sources like JS
- This can make the process slightly more complex
- PROS