1

Тема: Пошук веб-фреймворку для бекенда під NodeJS

На даний момент шукаю собі хороший веб-фреймворк для бекенда під NodeJS.

На сайті Express (Node.js) показано чотири найпопулярніші варіанти:

LoopBack: Highly-extensible, open-source Node.js framework for quickly creating dynamic end-to-end REST APIs.
Sails: MVC framework for Node.js for building practical, production-ready apps.
Kraken: Secure and scalable layer that extends Express by providing structure and convention.
MEAN: Opinionated fullstack JavaScript framework that simplifies and accelerates web application development.

Також читав статтю з порівнянням деяких із них, поки що вибрав Sails.js.

Але щось той-го... з початку 2012 року ніяк не може випустити реліз (ще у бета-версії), хоча й зірочок вже більше 13к. Ще до цих пір використовується GruntJS, в той час як Gulp мабуть по всім показникам взуває його. Статика роздається із каталогу .tmp/public... досить сумнівне рішення, далеко не кожен інтуїтивно розуміє таку особливість, причому цей шлях прописаний текстом по всьому проекту, мабуть централізовано легко не зміниш цього. Його форки не мають багато зірочок...

Ніхто не може порадити щось аналогічне, але з живішою трохи розробкою?

Подякували: 0xDADA11C71

2

Re: Пошук веб-фреймворку для бекенда під NodeJS

Ух, клас - виявляється є навіть безкоштовні курси NodeJS, SailsJS... від автора SailsJS, хоча це може лише на перший погляд безкоштовні.

Подякували: leofun01, 0xDADA11C72

3

Re: Пошук веб-фреймворку для бекенда під NodeJS

Перечитав, передивився купу інфи (є ще й такий сайт), зрозумів що мені мабуть таки більше підходять REST API-, аніж MVC-фреймворки.

Тому зупинився на LoopBack. Щоправда і там не все так просто, бо деякі сервіси у них платні, причому вони це не пишуть одним списком, приходиться знаходити це в документації (а це, якщо чесно, не дуже добре...)

4

Re: Пошук веб-фреймворку для бекенда під NodeJS

Щодо останнього мого вибору фреймворку LoopBack.. видно, що під нього написано купу різних примочок типу "не пиши код, а роби вибір між опціями"... але вся та універсальність і закритість за визначенням не може бути простою в обслуговуванні (без сторонньої платної допомоги). До цих пір немає підтримки для CentOS 7 (пройшло вже майже два роки), тобто це трохи монстро-фреймворк. Піару купу можна знайти, але толку...

Ось тепер, здається вже точно визначився, вибрав Restify. Це мінімалістичний RESTfull API веб-фреймворк, навіть легший за expressjs, бо не MVC. Має вбудований плагін Throttling, призначений для обмеження кількості запитів за секунду, а також плагін для тестування DTrace.

Для нього прийдеться дописувати свої моделі та інтеграцію із базами даних, але навряд чи в цьому виникнуть проблеми.

Подякували: 0xDADA11C71

5

Re: Пошук веб-фреймворку для бекенда під NodeJS

Хе, хе, цікава статистика скачування:

Express

161,004 downloads in the last day
1,226,519 downloads in the last week
5,602,394 downloads in the last month

Hapi

8,153 downloads in the last day
41,892 downloads in the last week
193,925 downloads in the last month

Restify

4,589 downloads in the last day
29,700 downloads in the last week
145,165 downloads in the last month

Koa

2,343 downloads in the last day
21,092 downloads in the last week
91,800 downloads in the last month

LoopBack

1,852 downloads in the last day
26,015 downloads in the last week
76,912 downloads in the last month

Sails

1,749 downloads in the last day
13,137 downloads in the last week
54,230 downloads in the last month

6

Re: Пошук веб-фреймворку для бекенда під NodeJS

По швидкодії пліч-о-пліч йдуть Express та Restify, Hapi відстає від них у 1.5 рази.

7

Re: Пошук веб-фреймворку для бекенда під NodeJS

Бугага! Вбудований веб-сервер PHP, який запускається з командного рядка, швидший у 2.5 рази за фаворитів JS веб-серверів.

8

Re: Пошук веб-фреймворку для бекенда під NodeJS

Зараз розібрався: вбудований веб-сервер PHP обходить в 2.5 рази фаворитів веб-серверів JS, але веб-сервери JS працюють вже із системою маршутизації, як мінімум, тобто це вже цілі фреймворки зі своїми веб-серверами, а не голі веб-сервера як у випадку з PHP.