LINUX.ORG.RU

Посоветуйте фронт

 ,


0

2

Выбираю фронт для SPA. Интересует вот что выбрать. Пока выбираю между Angular2+, Ember, Backbone, Marionette и React+Redux. Присматриваюсь к Elm. Проект сугубо домашний. Торопиться некуда. Основное требование - хорошая совместимость с мобильниками и простота/документированость (не куча туторов, а именно хорошие официальные доки). Первый - не нравится TypeScript. Ember очень тяжелый и жирный (хотя по нему много опыта), Backbone понравился когда делал на Electron приложение, но не нравится jQuery стайл (ближе ES6). А вот React... Ощущение костылей и велосипедов везде. С марионетом не работал - ничего не могу сказать. В общем - прошу совета). Планируется ресуср на подобии GOG

Ответ на: комментарий от Deathstalker

А можно подробнее? За пару месяцев работы так и нк понял в чем реакт лучше. Ощущение как от джэквери - ядро и куча кочт..библиотек сверху,которые по своему решают одни и те же задачи, но по разному

silver-bullet-bfg ★★
() автор топика

Marionette

Это ж фреймворк поверх backbone, и из него, емнип, jquery не выкинешь (а из backbone — можно).

mithriljs не рассматривается?

Присматриваюсь к Elm

elm — скорее DSL с батарейками (и болью при попытке связи с внешним миром), чем фреймворк

Почему не reason + react через bucklescript?

x3al ★★★★★
()
Ответ на: комментарий от x3al

Последнее не пробовал, ризон тоже. В чем отличия т какого нибудь редакса? Мифрил смотрел. Быстрый, но мало доков и не понятно какую ветку брать.

silver-bullet-bfg ★★
() автор топика
Ответ на: комментарий от silver-bullet-bfg

Последнее не пробовал, ризон тоже. В чем отличия т какого нибудь редакса?

Это просто ocaml вместо жс. Ты же рассматриваешь elm. Хотя elm чуть мейнстримнее.

x3al ★★★★★
()

Vue.js
Простой в освоении, но весьма мощный при глубоком изучении.
Ну и как бонус компонентный подход, а это и удобство в разработке так и возможность подключить сторонние компоненты одной строчкой.

ritsufag ★★★★★
()

Торопиться некуда

Голые web components. К тому времени ка закончишь писать «ресурс наподобии GOG», они уже станут мэйнстримом :)

Или любимый язык + webassembly-фреймворк (если таковой есть для любимого языка)

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от silver-bullet-bfg

Да, потихоньку пишу небольшой фронтенд для себя.
Для меня одним из плюсов vue это то что он не заставляет иметь дело с jsx - его шаблоны это валидный html + директивы аля angular.
А однофайловые компоненты сейчас действительно есть везде.

ritsufag ★★★★★
()
Ответ на: комментарий от ritsufag

Кстати, это то, что мне не нравится в частности с реакте.

silver-bullet-bfg ★★
() автор топика

реакт самый разумный выбор сегодня. марионет продолжение бекбона, как и вариации ембров и прочего. ангуляр вроде мертв уже.

emptykiev
()

Я сам сижу на беке и единственный фреймворк из js который мне зашел это vue.js. Он действителено очень крут.

oster2011 ★★★
()

Ember

Полная хрень, не рекомендую. React наше всё.

Kilte ★★★★★
()

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

nikolnik ★★★
()

React - долгий старт. Задолбаешься с его кучей модулей и настройкой этого комбайна.

Vue.js - заимел все плюсы Ангуляра, Реакта и других. Уделал их в производительности, размере и рвётся в лидеры. При всём этом, хорошая документация, достаточно быстро можно осилить документацию и стартануть.

Я бы взял Vue.js.

th3m3 ★★★★★
()
Последнее исправление: th3m3 (всего исправлений: 1)
Ответ на: комментарий от th3m3

React - долгий старт. Задолбаешься с его кучей модулей и настройкой этого комбайна.

Позволю себе не согласиться. Чтобы настроить какой-нибудь webpack не нужно тратить много времени. Всего-то, подключить babel-loader и пресет для react. Ну и в конце-концов есть куча бойлерплейтов, где вообще всё одной командной ставится.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Ну и в конце-концов есть куча бойлерплейтов, где вообще всё одной командной ставится.

С одной стороны - да. С другой - нужно понимать, что и зачем. И ставить только нужные модули.

th3m3 ★★★★★
()

TypeScript зря не нравится.

Shadow ★★★★★
()

React довольно тяжелый в плане «первого пинка» и тяжело понять, зачем оно надо, если неделю придется писать хелловорлд по всем практикам (не имея перед этим опыта с ним).

Ощущение костылей от того, что сам React делает меньше, чем тот же Angular, который всем знакомый MVC. И если не нравится TypeScript, рискну предположить, что и Angular не понравится, поскольку он, в отличии от React, только выигрывает от TS. Но не стану говорить за него много, т.к. не писал на нем реальные проекты. Голый React это, очень грубо, динамический шаблонизатор. Для любого приложения, где два компонента должны общаться между собой, обязательно нужна либа для управления состоянием типа Redux (иначе будет спагетти) - если знакомы конечные автоматы и уже знаком React, она выучится за 10 минут. Потом, React принуждает писать весь код в функциональном стиле. Код выходит довольно-таки многословным, но и пишется на автопилоте, а это редкое явление. И если открыть чужой React код, в нем действительно просто разобраться, т.к. редко есть два принципиально разных способа написать одно и то же. JSX отличная вещь. Официальные доки React очень хороши. Все нубские вопросы уже пережеваны на SO.

В принципе, React+Redux+(либа для AJAX. Например, Axios) покрывает большинство потребностей. Для понимания, что такое React, впрочем, было бы полезно понимать, как писать код без Redux. Если нужны еще другие модули, они понадобятся и в Angular.

Насчет производительности не стоит париться. Бенчмарки типа «я могу отрендерить табличку 10000 раз за секунду» абсолютно бесполезны, поскольку никак не показывают скорость в реальных случаях. Вопрос в том, насколько фреймворк «запрещает» писать вещи, которые реально негативно влияют на производительность. Совсем недавно имел опыт переписывания сайта с нуля с более-менее адекватного jQuery кода на React+Redux, и производительность вышла не сильно лучше (хотя это и не была причина переписывания), потому что, как начал копать глубже, оказалось, что бОльшую часть времени забирает именно браузер и рендер HTML в нем, если у вас реально большой HTML.

mobile.twitter.com написан на React. Работает отлично, по-моему.

Vue тоже выглядит интересно. Концептуальной и принципиальной разницы с React у него нет, как с Angular, который совсем другой фреймворк. Будешь понимать, как работает один - поймешь и второй. Я бы рекомендовал начать с любого из них, и потом попробовать второй. По-моему, Vue vs React - это больше дело вкуса, чем какие-то killer аргументы.

Elm - не нужно использовать вещи, которые используют полтора десятка анонимов в мире. (я имею ввиду «покажите мне реальный проект на нем»)

Ember мне всегда казался стремным, и ни разу и не увидел проекта на нем. По-моему, он окончательно умер.

А Backbone и React практически не повторяют функции друг друга. В React'е функции Backbone'а может выполнять Redux. Если знаком Backbone, можно его использовать, но я не стану говорить, если это хороший выбор для React. Тем более, Redux реально простой, если знать теорию за ним, и сделан специально для React.

anonymous
()

vue.js отличная официальная документация

anonymous
()
Ответ на: комментарий от anonymous

Ember мне всегда казался стремным, и ни разу и не увидел проекта на нем. По-моему, он окончательно умер.

Ну crates.io например (ЕМНИП). Да, он не так распространён, но это не означает что он умер. Хотя лучше бы его закопали.

Kilte ★★★★★
()
Ответ на: комментарий от ritsufag

верстку давно можно во внешних шаблонах держать, да и нет в ней кода, только биндинги, как в ангуляре, нокауте и где угодно еще, как в бекбоне, только там события хешами описываются а тут вот так

emptykiev
()

Внезапно - meteor

anonymous
()

Вот вы ссылки на свои домашние проекты в профиле не оставляете, а зря. Я прочитал ваш пост и мне жутко интересно стало, что еще вы делали. Поделитесь с сообществом!

ravdinve
()

Я в своих проектах jQuery, jQuery UI только и использовал, подскажите, в чем преимущество перечисленных вами framework-ов? Спасибо.

ravdinve
()
Ответ на: комментарий от Unicode4all

Хотелось бы узнать, почему.

Уже есть джава, зачем увеличивать энтропию всеми этими тайпскриптами, дартами и т.д.

foror ★★★★★
()
Ответ на: комментарий от th3m3

Я бы взял Vue.js

Лучший из худших выше приведенных. Но для SPA как минимум плох тем, что завязан на старый JS. Когда все популярные браузеры поддерживают ES2015.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Со временем завезут. А пока можно немного потерпеть :)

th3m3 ★★★★★
()
Ответ на: комментарий от th3m3

React - долгий старт. Задолбаешься с его кучей модулей и настройкой этого комбайна.

Дать webpack.config.js?

bvn13 ★★★★★
()

React+Redux.

Даже не вздумай. Если у тебя сколько-нибудь крупное приложение, то Redux - это гарантированная смерть.

Первый - не нравится TypeScript.

Можешь выбрать устраивающее тебя подмножество (вплоть до ванильного жса с типами), делов-то.

anonymous
()
Ответ на: комментарий от anonymous

Потом, React принуждает писать весь код в функциональном стиле.

Реакт - чисто императивный фреймворк. Мутабельные данные, ф-и с сайд-эффектами. Где ты там фукциональщину увидел?

И если открыть чужой React код, в нем действительно просто разобраться, т.к. редко есть два принципиально разных способа написать одно и то же.

Это неправда, как раз в реакте есть куча способов делать одно и то же. Например - работа с состоянием. Причем на данный момент нету даже best practises, на которые можно было бы ориентироваться, в результате каждый велосипедит по-своему.

JSX отличная вещь

Прям как пыхпых из нулевых.

Тем более, Redux реально простой

И кривой как сабля.

anonymous
()
Ответ на: комментарий от bvn13

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

th3m3 ★★★★★
()
Ответ на: комментарий от th3m3

я за пару месяцев освоил. если есть, у кого спросить, то это большой плюс.

и, да, это же передовая технология, поэтому уже большой плюс.

bvn13 ★★★★★
()
Последнее исправление: bvn13 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.