“There are different factors we should consider when choosing the front end technology at the beginning of a project. Thus, it is important not only to know and feel comfortable with a specific technology, but also to have a broad and long-term vision of its scope.
Below we include some of the aspects to consider when choosing the front end technology:
Team experience: It is essential to have an understanding of the experience team members have as well as know the developers and their skills. Experience very often gives us rapid solutions for immediate challenges.
Understanding the project’s purpose and scope and its users: Having a long-term vision of the project, as well as knowing its audience and our objectives will help us make decisions about the type of technology to use and avoid unexpected situations in the future.
Understanding the UX/UI: From the exact moment in which we start planning the user experience and interface, we should consider which technology we will use. Choosing an incorrect technology could affect our app’s user experience.
Security: There are technologies with different levels of security, and this is another aspect to analyze. The technology for a project involving money, personal data or important information may differ from the one chosen for a common website in which we just promote a product.
Scalability: Anticipating changes in our app’s size or volume to meet users’ needs (for instance, adding more features, supporting increasing numbers of users, etc.) is an essential part of the long-term and broad thinking we should have.
Maintenance: This is a key aspect for the second part of our project as it determines the time we must dedicate to it and the costs that the owner of our project should assume.
Back end: Optimizing the velocity at which front end and back end interact is definitely one of the most important aspects of any project as it directly affects our users’ experience and determines the success of our project.
Community: Forecasting a specific technology’s potential and knowing that we can rely on the support of an online community behind it would definitely determine which technology to use. A technology’s lifecycle is often supported by its own users and this can be considered a guarantee.
Hardware: To achieve the best performance for our project, we should define and elaborate a plan to know which hardware we have or which one is the best option for the chosen technology.
Costs: Cost is strictly related to some of the above aspects and to some decisions we must make.
There is not only one technology that fits our project’s needs, and the same technology may not be appropriate for all projects. The decision related to the selection of a specific technology starts at the very beginning of a project and covers its analysis and design phases.
-Gustavo Tosolini, Javascript Developer at Santex