Our team decided to go with JavaScript based technologies, such as Node.js, React.js, and MongoDb. We chose these technologies because we are the most familiar with these frameworks through course projects and work projects. We will use Node.js for the backend development of our web application and React.js for the frontend development. MongoDb will be used for the database programming of our web application. Other alternatives we considered were the Python/Flask framework and C#/.Net framework but we felt more comfortable and confident in our JavaScript/Node.js skills.
Some pros for Node.js are the robustness of the technology stack, fast-processing for web-tasks, scalable for microservices, rich ecosystem of libraries and tools, and large developer community. Some cons for Node.js are performance bottlenecks with heavy computation tasks, immature tooling and dependency management with some tools in the npm registry, and heavy reliance on callbacks. Some pros for React.js are that it is easy to learn and use, create dynamic web applications easily, reusable components, performance enhancement, rich JavaScript library, and easy to test. Some cons for React.js are that the environment continually changes so fast, poor documentation for new changes, and JSX might be a barrier. Some pros for MongoDb are the quicker performance while executing queries, increase in data availability, simple and easy environment, flexible, scalable, and good documentation. Some cons for MongoDb are that joining documents can be tedious, slow indexing if incorrectly implemented, limited data size and nesting, and high memory usage.
Leave a Reply