
Nikolay
30.08.2016
10:20:26
и вместо помощи и подсказок - заебывание

Lupsick
30.08.2016
10:20:36
ну игнорируй
зачем ты в перепалках участвуешь
в интернете кто-то не прав?

Google

Nikolay
30.08.2016
10:21:04
да ты неженка
да. вместо ответа по существу получить трехдневный срач на тему тестов - это охуеть помощь от комьюнити

Lupsick
30.08.2016
10:21:14
да тебя затралили

Nikolay
30.08.2016
10:21:27
нахуй трогать новичка
блядь, почему когда я пытался вкуривать аспнетики, меня не заябывали тестами, а нормально подсказывали, где я не прав, и почему так лучше чем мой вариант. тоже самое с перлом и башиком с повершеллоами

Nork
30.08.2016
10:37:02
А я тычу rspec щас по tdd православно, и прям благость господня и озарение снизошли на меня.

Nikolay
30.08.2016
10:38:08
и то что в модели валидируется
я на днях на 5й рельсо апп сделал скаффолд модели с рспеками, буду смотреть что оно там нагенерило

Andrey ?
30.08.2016
10:42:32
Почти ничего

Alex
30.08.2016
10:46:47
а я тут гем потихоньку пилю для отправки смс

Nikolay
30.08.2016
10:47:25
Почти ничего
не, нагенерило добряче, но да, заглушки фиксить и фиксить. и я кажется провтыкал фектори гел активировать

Google

Alex
30.08.2016
10:47:49

Nork
30.08.2016
11:12:16

Nikolay
30.08.2016
11:26:38
вы это прекрасное уже видели?) https://www.upwork.com/job/Looking-for-Experienced-Programmer-Develop-Search-Engine_~0130ec119e1c0a3b1e/

I
30.08.2016
11:40:25
отправить им свое резюме что ли

Nikolay
30.08.2016
11:43:55

I
30.08.2016
11:44:33
как раз телефон починить)

Andrey ?
30.08.2016
11:47:07
Хм, а есть какой-нибудь ПРОСТОЙ шаблон реактовского приложения?
А то я до этого делал только пару приложений на riot, там было достаточно галпа с парой плагинов и конфигом на 20 строчек
А тут какой-то адовый блять пиздец
http://reactrb.org/
Совсем наркомания, как думаете?)

Nikolay
30.08.2016
12:11:55
блин, вот меня эти стикеры вводят в состояние бешенства. тупые картинки достали еще с вконтакта

Alex
30.08.2016
13:14:11
Юзать рубигемы для реакта это хреновая идея, я уже обжегся на react_on_rails

Aldar
30.08.2016
13:15:39
реакт такая хрень, сам достаточно простой, но пока настроишь вебпак, бабель, хот релод и иже с ними - охренеешь)

Andrey ?
30.08.2016
13:16:22
Вот есть какой-нибудь шаблон-как-для-дебилов, где будет реакт, хотрелоад, реакт-роутер?)
Ну, и уже настроенные хоть как-нибудь бабель+вебпак

Aldar
30.08.2016
13:17:14
Конечно есть
их полно

Andrey ?
30.08.2016
13:17:51
А более-менее свежий и более-менее для дебилов?

Google

Sergey
30.08.2016
13:18:09
Совсем наркомания, как думаете?)
вообще да, но идея прикольная, что в этих шаблонах можно использовать руби код и ту же локализацию например. а кстати можно как то сделать в react-rails обертку над jsx -> erb?

Alex
30.08.2016
13:18:26
мы правда с нуля разбирались

Nikolay
30.08.2016
13:18:38
я пока отказался от реакта и фижачу remote:true + jsonp

Alex
30.08.2016
13:18:40
а вся документация в инете уже устарела тогда

Nikolay
30.08.2016
13:18:45
он мне рендерит вюшки

Alex
30.08.2016
13:18:52
реакт для SPA и точка.

Andrey ?
30.08.2016
13:19:31
Мне вот сейчас по-сути нужно только фронтовое приложение, бекенд не требуется
Посмотрел на все эти бойлерплейты, подохуел слегка

Alex
30.08.2016
13:19:46
Ну значит реакт годно будет
ток там пререндер нужен будет если на поисковики рассчитываешь

Aldar
30.08.2016
13:19:58

Alex
30.08.2016
13:20:31
для сложного фронтенда реакт крут конечно
Угу, я сначала был неуверен была ли хорошая идея советовать реакт, но потом фронтендера спрашивал, он сказал что на таком уровне сложности (несколько месяцев пилили) оооочень в тему.

Nikolay
30.08.2016
13:20:35

Alex
30.08.2016
13:20:42
ага
там не просто все устроить.

Nikolay
30.08.2016
13:20:52
а потом возмусь за жс
ибо у меня жс на уровне жквери

Alex
30.08.2016
13:21:05
сам реакт современный собрать, потом пререндер, потом разбираться с апишкой, документировать апишку.

Google

Andrey ?
30.08.2016
13:21:10
Даже не рассчитываю на поисковики, нужен просто какой-нибудь шаблон с реактом, реакт-роутером, хотрелоадом и настроенным вебпаком

Alex
30.08.2016
13:21:12

Andrey ?
30.08.2016
13:21:21
А мне суют всякие иммутабелы, редаксы и прочую хуйню

Alex
30.08.2016
13:21:31
react-create-app?
проще некуда

Nikolay
30.08.2016
13:21:56

Admin
ERROR: S client not available

Alex
30.08.2016
13:21:57
редакс кстати годно, меньше проблем возникает

Aldar
30.08.2016
13:22:39
там кроличья нора, потом уйдешь с головой в жс ные либы и инфраструктуру

Alex
30.08.2016
13:23:00
не надо
лучше как бэк развиваться если бэк
я копнул немного реакта и понял что там тоже дофига всего


Aldar
30.08.2016
13:23:41
— Эй, я бы хотел научиться писать крутые веб-приложения. Слышал, у тебя есть опыт.
— Да, я как раз занимаюсь фронтендом, юзаю пару тулз.
— Круто. Я щас делаю простое приложение — обычный TODO-лист, используя HTML, CSS и JavaScript, и планирую заюзать JQuery. Это норм?
— Не-не-не. Это олдскул. Джиквери мёртв — никто не использует его теперь! Тебе нужен React. Это будущее.
— Окей, лады. А что это?
— React это новый способ разработки веб-приложений. Оно базируется на Virtual DOM и позволяет писать JSX-код.
— Virtual-что? JSX? Что это за..?
— JSX — это HTML на стероидах. Это расширенная версия JavaScript, где вы смешиваете XML и JS в одном коде. VirtualDOM означает, что у тебя есть дерево объектов представляющих часть реального DOM, и оно дает возможность манипулировать им очень быстро без необходимости работать с DOM напрямую.
— Зачем смешивать XML и JS?
— Ну как зачем. Реакт это будущее. Он позволяет создавать переиспользуемые компоненты.
— Типа как в Backbone, да?
— Нет. Бэкбон мёртв. Щас теперь все будет на компонентах.
— Ну так мне не нужно заморачиваться про JSX или VirtualDOM?
— Неа. Но неплохо бы понимать как они работают, чтобы ты мог не думать о том, что у тебя что-то где-то тормозит, и оптимизировать код там, где это реально имеет смысл — типа состояния компонента.
— Окееей, я начинаю слегка теряться. Итак, у нас есть некая шняга для написания компонентов, называется React. Могу я использовать её с JQuery?
— Ну, ты можешь написать одну часть приложения на React, а другую на чём захочешь. Но я ж говорю тебе — JQuery мёртв. Кстати, тебе стоит обратить внимание на Webpack, чтобы склеивать компоненты вместе при сборке.
— ОК. Что это такое?
— Это бандлер модулей. Ты пишешь кучу файлов, как если бы это были модули Node — и затем комбинируешь их в один монолитный файл (или разбитый на части) для отправки клиенту. Тебе даже не понадобятся react-tools, можешь обойтись одним Babel для компиляции JSX.
— Babel?
— Ага, Babel. Это клевая хрень, которая транспилирует твой ES6+/JSX код в читабельный ES5 код, с поддержкой sourcemaps. Это широко распространено, даже в Фейсбуке это используют.
— ES6+?
— ES6/ES2015 это следующая версия ECMAScript, там очень много новых фич, типа классов, стрелочных функций, Maps, Sets и так далее… Щас почти все юзают ES6+.
— Это настолько хорошая вещь?
— Спрашиваешь! ES6+ + транспиляция это будущее.
— Ну ладно. Как мне это заюзать?
— Начни с установки Node...
— Установить Node? О, нет. Ты ведь говорил что-то про React и компоненты.
— Ну да. Дальше ты берешь Flux архитектуру и начинаешь создавать actions, stores и компоненты.
— Flux?
— Во Flux ты выстраиваешь свое приложение как набор stores, actions и view, где данные «текут» в одном направлении. Views вызывают actions, они проходят через dispatcher, а stores подписываются на события dispatcher и выдают change events, на которые подписан view.
— Ага. Как в MVC?
— Нет. MVC мёртв. Flux это будущее. Сейчас очень много реализаций flux.
— Что? Реализаций Flux?
— Да, ведь Flux это просто паттерн. Зырь, Alt, Flummox, marty, fluxxor, fluxible, и т.п… И даже есть фейсбучная реализация Dispatcher.
— Мне нужно это все использовать?
— Новичку довольно сложно закодить самому весь этот шаблонный код, поэтому возьми какую-нибудь готовую реализацию.
— Ладно. Мне бы не хотелось писать эту жесть самому.
— Я ж говорю, реализаций дофига.
— А что насчёт Angular?
— Фу.
— Фу?
— Фу.
— Смотри. Мне реально не хочется возиться с установкой, настройкой и допиливанием чего-то сложного.
— Ваще-то это легко. Существуют готовые киты/репозитории для новичков, или можешь заюзать генераторы Yeoman, которые сделают это за тебя.
— Мне нужен генератор? Yeoman? Что это еще такое?
— Он может сгенерировать код за тебя, и ты можешь заюзать его для создания нескольких приложений сразу. Используй поддержку DLL в новом Webpack, и можешь компилировать каждое приложение отдельно от других.
— У меня будет только одно приложение, одна страничка, один компонент, одно что-угодно. Только одно.
— Нет. Изучи комбинируемые компоненты. Это то, как мы делаем всё сейчас. Тебе нужно разбить всё на компоненты — по одному на каждую отдельную маленькую фигню.
— Кажется, что это избыточно.
— Это единственный способ добиться аккуратности, удобства и производительности. Ты сможешь использовать штуки вроде горячей перезагрузки (hot reload)...
— Hot Reload? Типа как livereload?
— Не. Webpack поддерживает эту замечательную фичу, она называется горячей перезагрузкой модулей, и есть плагин react-hot-loader для реакта, так что ты сможешь менять код отдельного компонента без перезагрузки всей страницы. А вместе с Flux ты сможешь делать ваще башнесрывные вещи типа прокрутки истории изменений в данных туда-обратно — одновременно с горячим редактированием кода.
— Итак. Теперь у меня десятки различных инструментов и библиотек для упаковки, сборки, транспилирования и чего угодно. Еще что-то?
— Как я уже говорил, Flux дает возможность выстраивать хорошую архитектуру приложений. Но с Observables и Immutable.js данными всё становится намного лучше и интереснее.
— Observable? Мне нужен Immutable?
— Тебе нужны observables чтобы удобно работать с событиями и асинхронностью, а Immutable.js нужен для персистентности, эффективности и простоты. Observables это типа как массивы, только асинхронные. Они возвращают значения с помощью async-генераторов из ES2016.
— Что за async generator?
— Ну смотри, обычный генератор дает возможность функции возвращать серию значений, а с модификатором async ты можешь возвращать значения в будущее. Правда, автор этого, Джафар Хусейн, уже отозвал свой proposal и работает с Кевином Смитом над более узкоспециализированным es-observable для ES7.
— Кхм. Я просто хочу запустить простое приложение. Насколько же глубока кроличья нора?
— Ну, ты можешь использовать RxJS, который ближе к оригинальным observable. Оно широко распространено и годится для продакшена.
— RxJS? Чем же он полезен?
— Работает с твоими уже написанными promises и событиями. Ты можешь создать Observable из любого асинхронного кода, и работать с ним как с обычным значением. Но вообще-то, если ты ищешь что-то по-настоящему реактивное и интересное, позырь фреймворк Cycle.js, разработанный Andre Staltz.
— WTF. Мне всего лишь нужно написать и запустить простое приложение. Смогу я сделать уже это или нет?
— Конечно, хотя деплоинг это отдельный интересный вопрос, но мы уже почти закончили.
— Окей, «сегодня мы многое поняли». Спасибо за объяснения.
— Отлично! Нет проблем.
— Давай я повторю тогда, чтобы мы удостоверились, что я все правильно понял. Итак, мне нужно разбить код своего приложения на actions, stores и компоненты, выстроить однонаправленный dataflow, писать ES6+ код чтобы поиметь все последние языковые фичи, позволяющие мне писать чистый код, затем использовать Babel для транспиляции этого ES6+ кода в ES5 код, пригодный для всех браузеров, использовать webpack, чтобы склеить все части моего приложения, написанные как модули node в один файл, использовать ImmutableJS для представления моих данных и подключить RxJS для описания событий и других асинхронных функций.
— Да. Разве это не восхитительно?
— И, да, я еще кажется забыл про статику и минификацию.
— Не проблема вообще. Webpack умеет импортировать их. Все что тебе нужно, это настроить несколько загрузчиков, плагинов — и вот уже почти и всё. Ты можешь импортировать CSS и картинки. Кстати, есть еще альтернативы CSS, которые позволяют описывать стили в JS...
— Я возвращаюсь к JQuery.


Alex
30.08.2016
13:24:20
"Я пишу на голом похапэ, у меня все работает"
только при увеличенном уровне сложности не поможет.

Andrey ?
30.08.2016
13:24:56
А можно реакт использовать просто внутри странички?

Aldar
30.08.2016
13:25:11
потом с реакта уходят на elm, с elm на хаскель, с хаскеля в теорию категорий, а потом в астрал))

Andrey ?
30.08.2016
13:25:13
Ну, например, обычное рельсовое приложение и тут ХУЯК и кусок на реакте в виде виджета

Alex
30.08.2016
13:27:03

Google

Alex
30.08.2016
13:27:15
только имхо неудобно так впердячивать. react_on_rails короч.

Иван
30.08.2016
13:35:19
А ember нынче не популярный уже?

Aldar
30.08.2016
13:35:52
и ангуляр 1

Andrey ?
30.08.2016
13:36:20

Serg Podtynnyi
30.08.2016
13:36:43
redux щаз и react соотвественно

Aldar
30.08.2016
13:36:45
некоторые фреймворки выходят уже устаревшими

Andrey ?
30.08.2016
13:43:19
Я не могу выбрать стартовый набор, их просто дохуя
Мб есть что-нибудь похожее на react, но без такого количества мозгоебли?

Aldar
30.08.2016
13:43:49
да начни с туториала на их сайте
там тупо реакт подключается через script

Andrey ?
30.08.2016
13:44:22
Да мне уже готовое приложение нужно пилить)

Aldar
30.08.2016
13:47:14
ну тогда смотри что тебе надо
и выбирай стартер кит

Nikolay
30.08.2016
13:47:51

Andrey ?
30.08.2016
13:47:59
Да мне без рельс =\

Nikolay
30.08.2016
13:48:03
и с линком на мануал откуда я код потырил

Иван
30.08.2016
14:01:34