I
I
Ivan Pavlov2019-09-10 12:28:18
Node.js
Ivan Pavlov, 2019-09-10 12:28:18

Choosing a Node.JS "framework" for a simple, fast, lightweight site?

Good afternoon everyone!
I started learning front-end, i.e. JavaScript, left React, Angular, Vue, etc. next year*. Now I got into NodeJS ** and realized that I need to master the framework right away, and there are an incredible number of them. Not like in Python, where Django dominates, and PHP, where Laravel is in isolation from everyone. We need to suggest a Node.js
"framework" for a simple site whose goals are:
1) to attract users from the search;
2) demonstration of the company's products;
3) adapted primarily for smartphones (most visits are from mobile low-power devices).
From the "frame" I want to get:
1) fast work for maximum responsiveness;
2) the minimum load on the user's device;
3) excellent results in SEO;
4) sufficient information and documentation (preferably in English);
5) the ability to maintain an up-to-date list of products and add or remove items.
6) no animation and interactive interaction with the user is needed;
As I understand it, to achieve points 1, 2 and 3, you need to use server rendering or a static site generator.
To complete step 5, you need a “simple” interaction with the database. Products have several characteristics such as "power: 1500W", a description of 10-30 words and one to three photos. Probably the most suitable option is MongoDB (they write that it is fast), besides, there is a lot of information on google and YouTube on it.
Options with NodeJS:

  • Nest (hbs) + Fastify + MongoDB - there is very little documentation on how to use it, but it seems like there should be the best option to achieve 1, 2 and 3 points.
  • Express (EJS/handlebars) + MongoDB + is the easiest in terms of information availability, but it seems to be not the fastest and definitely not the most up-to-date in terms of syntax.
  • Meteor + MongoDB - someone writes that Meteor is outdated. Is it so?
  • Nuxt + MongoDB - it seems to be written here how to connect them, plus you can immediately master VueJS, there is also a static site generator out of the box.
  • Move away from SSR and use Svelte + Nest + MongoDB - judging by the description, it should turn out quickly.

Or will it be easier to master the same Django?
In addition, there are even more available hostings that support Python somehow (from the first pass on Google / Yandex).
* a lot of things can change in a year, someone else will write something new, for example, now many people praise Svelte for its speed.
**It's more logical to learn one language and improve your skills than to be a "jack of all trades" and don't know any of the tools thoroughly, that's why I chose NodeJS.
This request is related to a real project - a friend of mine has a small local company and plans to update his site next year. It is interesting for me to compare what I get and what they will make to order.
Perhaps I wrote complete nonsense somewhere, in which case I ask you to be tolerant of inexperience and point it out, perhaps just a quote and a link to resources explaining my mistakes.
I want to choose software, knowledge on which will be relevant in the next three to five to eight years.
background

По профессии я менеджер по продажам сложного технического оборудования, Web-development для меня относительное новое хобби, хорошо затягивающее (:
В этом году начал изучать ванильный JavaScript, пару лет назад сделал пару простых сайтов на голом HTML и CSS для компании в которой работал (представление продукции) и для себя как фотографа.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
Denis Melnikov, 2019-09-10
@Mi11er

You don't need a node...
If you need a lightweight site, then the easiest way is PHP/Lara, or the same Python/Django...

A
Anton Shvets, 2019-09-10
@Xuxicheta

The simplest is nuxt (or next) + express.
I don't see any special killer features in svelte.
Monga is pretty easy to use. It is fast in the simplest tasks. There are no significant benefits. Of the docks is enough.
Nest will not work quickly, it is not for the first project. You might as well choose .NET or Spring or Symphony.
You won’t guess, but most likely modern frameworks will remain.
With your zero skills, choosing "which is faster" is useless. Firstly, you won’t notice much difference, and secondly, skills decide more than technology.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question