DSE Fest — технично и понятно про data science для разработчиков. Первые доклады уже на сайте >>
×Закрыть

Чистый JS-fullstack (MEAN, MERN, Meteor, etc.). Каковы реалии и перспективы?

Возник такой вопрос насчет «чистого» (без использования других серверных языков) фуллстекового джаваскрипта в лице MEAN, MERN (тоже что и MEAN только на React’е), Meteor и других подобных серверно-джаваскриптовых технологий. Каковы реалии на 2018 год? (текущее положение дел, перспективы, прогнозы...)

Ну и в проектах какого типа они реально применяются? Чаты и им подобное? Или все таки не только? Делаются ли на продакшен (и насколько часто/редко) на MEAN’е например «обычные» с точки зрения пхп-шника или рубиста веб-проекты (ну там какие-нить новостные порталы, например, или магазины)? Или для большого продакшена — только в связке с другими серверными языками?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

5 копеек в сторону амазонового стэка (лямбды/динамо/гейтвей/иот), работать с ними не на js это боль.

ну там какие-нить новостные порталы, например, или магазины

На жс это писать нецелесообразно — реже и дороже специалисты, писать нужно немного аккуратнее, и главное, на пхп уже есть фреймворки, на которых простой портал или магазин подымается одной мышкой. Потом допиливать, да, но всё равно уже не с нуля.

То есть технически да, нода может без никаких проблем взять шаблон (шаблонизаторов не один), подставить данные и отрендерить хтмл, но надо например уметь ошибки обрабатывать чтобы сервер не падал после каждого запроса. И за памятью тщательнее следить. PHP в основном работает по принципу отдал страницу и умер (хотя можно писать и «демонов», если очень осторожно и использовать внешние следилки за процессами для перезапуска при вылете), а на ноде наоборот, пишется веб-сервер (даже если он будет за nginx) и он не должен падать каждую секунду.

Если говорить об обычном рендеринге или о каких либо простеньтих сайтах — то да, возможно нода и проигрывает, но если говорить о больших высоконагруженых проектах — то PHP тут не соперник, тут уже нода конкурирует с GO и Java.

Да, согласен что ручками необходимо намного больше работать. И ошибки обрабатывать тщательнее, и тесты писать, и описание REST API, если оно есть — так же писать ручками

Что ты, блин, вообще несешь? PHP — это интернет-магазин, социальная сеть, новостной портал, все то, что будет писаться с костылями на React, Angular и т.д., и т.п. MEAN и MERN стаки нужны для SPA-приложений и только. Сами авторы Node.JS предостерегают от крупных проектов, так как Нода не сильна в сложных вычислениях и лучше подобное отдавать Apache или еще чему подобному, но никак не js. Я люблю язык JavaScript и считаю лучшим в своем роде благодаря фреймворкам и новому стандарту ES6, но стоит признать, что писать на нем интернет-магазин — это насилие над самим собой со всеми тентаклями и плетками. Да, когда речь заходит о SPA, тратить огромное количество ресурсов вместе с PHP не стоит, но напрягать JS на все 150 процентов, чтобы 1000 товаров в корзину запихнуть, а потом в БД — не издевайтесь над малышом JS, он не на того учился.

Лучше понять это сейчас и загуглить по этому поводу, чтобы узнать в подробностях. И сравнивать стеки с такими мощными языками как GO и Java — это уже ну совсем деградация, вы уж извините. Эти языки по одной только скорости уничтожат любой фреймворк один на один, не говоря уже о стеках. Я на стороне Node.JS и считаю, что есть у нее будущее, но сейчас делать на ней что-то помимо одностраничных приложений — это плохая практика.

Зрозуміло, що fullstack — для роботодавця майже завжди краще, ніж декілька спеціалістів по різним напрямкам, бо, як мінімум, це дешевше по ЗП для них.

До речі, усі розуміють, що fullstack майже завжди має слабші скіли, ніж окремі специ по вузьким напрямкам з таким самим стажем. Але той фактор, що є одна мова для бекенда і фронтенда, пом’якшує цю відмінність.

Зрозуміло, що fullstack — для роботодавця майже завжди краще

Не факт. С первого взгляда да, но с другого — один фуллстек всё равно должен потратить время как фронтендер + бекендер (если мы о RESTFul API и клиенте, иначе смысла не вижу в жс-стэке), а по качеству выйдет похуже, так как человек не может сконцентрироваться на хорошем UI или надёжном бэкэнде, так как один, а надо пилить фичи быстрее.

так как человек не может сконцентрироваться на хорошем UI или надёжном бэкэнде, так как один, а надо пилить фичи быстрее

Всё относительно, при разделении каждый тянет одеяло на себя. Ну например, фронтеэндер может начать ездить по ушам на тему, что сервер должен делать, с целью запилить выдачу контента, который основывается на уже полученных данных, и который может создаваться джаваскриптом на клиенте.

У фронтендера наверное на это есть причины, не? Не всегда джаваскриптом на клиенте легче данные собрать чем на сервере. При чём эта вся мышиная возня нужна только фронтендеру и бекендеру, а юзеру нужно чтобы было красиво и быстро, детали не интересуют. А красиво и быстро, это всё таки когда фронтендер отвечает за красиво, а бекендер за быстро

Meteor

Г-споди помилуй еще раз с ним работать. Не зря он не взлетел нифига

Я не могу говорить объективно, думаю, некоторые люди находят в нем больше плюсов, чем минусов, но мой личный опыт был сильно негативным.
Хотя это могло быть частично обусловлено корявостью проекта, который пришлось допиливать. Энивей, при выборе между метеором и MEAN я бы точно выбрал второе.

Чтобы налабать по быстрому прототип — норм. А вот поддерживать его это пипец.

У ваших графіках і вакансіях вже давно «front end» варто було б розбити на складові, ну і для Node.js теж окремий пункт мабуть не буде зайвим.

Подписаться на комментарии