С нодой вообще всё как-то странно. Вроде крутая штука, нет блокирующих функций, но при этом заказов на фрилансе по ней почти нет. Вакансий тоже не ахти. На русском всего один хороший учебник. Вапалайзер в браузере ноду почти не находит.
К тому же постоянно встречаю вопросы, как организовать логику приложения на node.js. Складывается ощущение, что никто вообще не знает, как правильно пользоваться нодой
Андрей: так скажем стиль написания приложений в сообществе ноды сильно отличается от стиля в PHP, к примеру. Например там никто не использует классы. Middleware используется. На сайтах расписано как пользоваться Express, но как правильно организовать модели подробно не пишут. Также не пишут как делают сайты с многоуровневым меню на основе страниц. И так далее. Вопросов таких у меня куча, хотел просто подсмотреть как другие пишут.
Сухроб Хусамов: классы не используют, потому что они только недавно стали стандартом языка. Middleware это чисто експрессовская фича, есть куча разработчиков не использующих Express. Как правильно организовать модели в Express выходит за рамки документации. Express разрабатывался с целью дать разработчику самому выбрать и построить архитектуру приложения.
Сухроб Хусамов: Мне кажется меню строить следует средствами фронтенда. Для меня бэкенд давно стал не более чем прокси между фронтендом и базой данных, ну и еще несколько функций, но не более того. Да, конечно, предварительный рендеринг необходим, но, опять же, это делается средствами фронтенда, просто код исполняется на бэкенде.
Вообще я считаю в корне неверным тянуть привычки 5-7-летней давности в современный веб-дев - он другой и требует других подходов.
У меня хром жрет гораздо больше, правда я постоянно держу открытыми десятки вкладок. Когда моих 12 гб оперативки перестает хватать, я просто перезапускаю хром.
Ясен прекрасен, что не всякий сайт нужно делать в виде SPA, однако нечто динамичное однозначно нужно.
Не пишите сайты на Node.js. Лично мое имхо, нода подходит для двух вещей: реалтаймовых микросервисов или в качестве фронтэнд сервера в изоморфном веб-приложении.
Сухроб Хусамов: На мой взгляд не лучший выбор, чтобы попрактиковаться в NodeJS. Научитесь многим бесполезным вещам и только потратите время. Это тоже самое, что практиковаться в PHP создавая реалтайм чаты или системные скрипты. Для каждой задачи свои инструменты.
PaulMaly: не знаю о чем вы говорите (к примеру passportjs это очень полезная вещь и нужная для сайта), но сайт получается хороший. Вы как-то без аргументно сообщаете это. С моей точки зрения, сайт мало чем отличается от веб-приложения. Ну разве что в нем много текстовых страниц. А так функционала предостаточно и большая часть на AJAX кстати.
PHP можно использовать там, где шаред-хостинг, например и ноду нельзя запускать. А у меня VDS. Почему я должен себе отказывать в удовольствии писать на любимым языке JS?
Эдак если рассуждать, то можно создателям Express посоветовать закрыть свой проект, ибо ориентирован он на создание сайтов и делать только REST-фреймворк или RPC-фреймворк.
Сухроб Хусамов: PassportJS это всего лишь либа)) Да, обилиет всякого рода готовых решений часто привлекает разработчиков к ноде. Но ведь это не совсем правильный подход.
Я сразу написал что это мое имхо, правда не безосновательное.
Дело не в шаред или не шаред хостинге. Я вот на PHP последний раз писал на Phalcon и конечно ни о каком шареде речи и быть не может.
Насчет Expess, лично я оттуда использую только роутер и мидлвару.
PaulMaly: вы запутать хотите? Если passportjs готовое решение, использование которого является не правильным подходом, то почему от этого оно является якобы бесполезной вещью (следует из вашего предыдущего поста)? Как-то непонятно вы изъясняетесь.
Я имел ввиду, что использование языка/платформы только потому что для нее есть куча готовых решений (кстати не всегда качественных и вообще рабочих) это и есть не совсем верный подход.
PaulMaly: Я выбрал Node не потому что там куча готовых решений. Просто он мне понравился как основная платформа для разработки чего угодно. JS мне нравится. Сайт вполне нормальный получается. Вы хоть привели бы что-то конкретное против разработки на нем сайта. Особенно с учетом того, что сайт очень похож на веб-приложение (если вообще не сказать, что сайт это частный случай веб-приложений).
Веб-сайт - это далеко не частный случай веб-приложения. Боюсь вы путаете стек технологий и способ доставки, которые безусловно одинаковые, с подходами и принципами к разработке и вообще сути. Краеугольный камень любого веб-сайта - это контент, отсюда вытекают и другие не менее важные его особенности как: хорошая индексация поисковиками, обязательное наличие некоего рода CMS (для динамический сайтов only) и многое другое. Краеугольный камень веб-приложение - это действие, тот функционал, те возможности, которые получает или реализует пользователь, используя это приложение. Если вы не понимаете, что это совершенно разные системы и строятся они совершенно по-разному, не смотря на то, что могут быть построены на одних и тех же технологиях, то боюсь слишком долго это разъяснять в рамках комментария на тостере. Вы написали вопрос - я написал ответ, но если хотите можем похоливарить в другому месте.