Суп. Программирования тред. Первый в этом тысячелетии. У меня вопрос. Относительно давно знаком с веб технологиями. Писал для себя несколько сайтиков. Стек HTML\CSS\JS\PHP Верстка. Все дела. Пробовал осовоить Django, но не мог понять сути происходящего Тоже самое с Руби и рельсами. Недавно чет стало скучно, и решил реализовать один свой проект. За вечер сделал, и оно работало. Js в связке с PHP. Все через Ajax. Данные в Json формате. Следующим шагом было парсинг сайта, дабы заполнить базу(MYSQL ибо с другими особо не работал). Пробовал бьютифол соуп, скрапи, но там питон. И я нихуя не понял. думаю, ну хуйня потом парсингом займусь. Решил попробовать связку React и какой-нибудь бекенд. С nodejs пробовал давно работать, но дальше хеллоуворлд не прошел. Суть вопроса. Как разобрать с ReactJs и другими популярными фреймворками в 2018ом? Я просто не понимаю как оно работает. Зачем их придумали? Писали бы фронтенд на православной связке HTML\CSS\Js Зачем так все усложнять? Как разобраться с работой бекенда? Я понимаю относительно как работает PHP. Но не могу например заменить PHP на Руби, питон или Nodejs, ибо не понимаю как оно взаимодейстует с фронтендом. Кто что посоветует? Как навести порядок в голове и убрать эту вкусную кашу? Ебаный веб, хз зачем я туда лезу вот уже несколько лет. Но глядя на Си и плюсы, и объем знаний который нужен чтобы писать с использованием Qt мне становится немного легче. Ах да, заканчивал шарагу на программиста, писали там на Java, delphi, c#. Из этого могу спокойно писать программки на делфи для себя. Писал даже полноценное приложение которое работало с БД и парсило экселевский документ и забивало данные в БД. Сумбурно написал. Кому что не понятно, или есть вопросы, пишите, объясню подробнее. Ну и у кого подобные вопросы по вебу, пишите, может чего подскажу. Ах да, в вебстудии не работал, я слишком тупой для них. Ах да, использую gnu\Linux. Собирал из исходников программы, настраивал сервера, держал даже ноду в торе. Ах да, пишу сюда, ибо боюсь в /pr меня на хуй обоссут, я и так на дизморали уже второй день, от непонимания происходящего.
>>175827736 Ну просто более крупное приложение на чистом js или jquery писать - заебёшься. Решается вопрос организации кода, вопрос роутинга, да тот же аякс тоже. Компоненты там всякие, динамическое обновление данных, mvc хуйсаси, вот это всё.
А нахуй оно тебе надо? Пили проект на том что умеешь, делай его популярным. Потом наймёшь обезьян с инвесторского бабла, они тебе его перепишут хоть на c++
>>175827520 (OP) >у кого подобные вопросы по вебу, пишите, может чего подскажу.
Комет-сервер - перспективная тема, если пользоваться в бесплатном режиме? Или при малейшей активности начнут на бабло разводить? Копать в сторону подъёма собственного комет-сервера, или хуй с ним, пусть пушится с бесплатного?
Главный профит JS фреймворков - возможность иметь единый "источник правды" (source of truth) т.е. один источник данных, от которого "танцует" все приложение. Ты строишь во фреймворке структуру данных (модель), и привязываешь её части к разметке, и при изменении данных в объекте разметка автоматически обновляется. Как это происходит: Например, у тебя есть объект с данными - var huy = { huyName: 'OP' }
Данные приходят с сервака, или генерятся пользователем, неважно, важно что huyName может быть не только 'OP', а любое произвольное.
Ты привязываешь имя хуя к разметке: <div>{{ huy.huyName }}</div>
JS фреймворк компилирует это все примерно в такую хуйню (опишу очень упрощенно, на деле все сложнее) data: { huy: { huyName: 'OP' } } dom: { 'div': { textContent: this.huy.huyName } }
и при загрузке страницы проходится по объекту dom, берёт каждый элемент и создает РЕАЛЬНЫЙ dom-элемент из него, с помощью document.createElement(), и вставляет в страницу. Если ты знаешь, как рендерится 3Д в играх (каждый кадр отрисовывается с нуля при изменениях) - то тут очень похожий принцип.
Разница между 3Д и браузером будет в том, что JS фреймворк будет стараться с помощью всяких оптимизированных функций отрендерить не все с нуля, а только те куски, которые поменялись. Это экономит количество памяти, сжираемой браузером, и дает возможность делать нетормозящие приложение вроде Твиттера, Gmail, Ютуба (последней его версии).
>>175828140 Сейчас много сайтов по такому принципу делают? Если я приду в веб студию, сайт заказчику они например будут на react делать? А бекенд обычно на чем?
>>175828303 Нет, не всё, много разных профитов, но это главный профит, который спасает от лютого пиздеца при внесении правок и навешивании дополнительного функционала.
>>175827520 (OP) Раз тут собрались эксперты по вью, посоветуйте годный UI-фреймворк. Чтоб было дохуя всяких кнопочек и таблиц искоропки. Начал ковырять Vuetify, а там нет возможности зафиксировать хэдер и футер таблицы чтоб они были вверху и снизу страницы, а сами строки прокручивались. Ну можно ручками конечно накостылить, но лень...
>>175828343 Не стоит путать просто сайт и Сингл Пэйдж Аппликэйшн. Для простой страницы серьёзный фреймворк избыточен, там пока что всё ещё рулят jquery макаки, как мне кажется. Бэкенд на чём угодно, обычно PHP.
>>175828343 На JS фреймворках делают именно приложения, т.е. как десктопные приложения (браузер, календарь, почтовый клиент), только проще, и внутри браузера. Обычные сайты делают на Wordpress/Laravel/Magento, и в хуй не дуют. Так что двочую вот этого >>175828418
>>175828563 Из какого манямирка ты вылез? Ни одной студии не нужен геморрой поддержки и разработки собственной CMS. Либо опенсорс, либо энерпрайз, позволить себе свои CMS/фреймворки могут только всякие фейсбуки и гуглы.
>>175827520 (OP) Опыт. Просто без задней мысли берешь и разбираешься, да. Когда перекатился из админов в джависты, голова первые полгода болела жестко от объемов, в которых приходилось разбираться. Читай туториалы, смотри готовый код. Со временем видишь паттерны и понимаешь, где что искать.
>>175829260 Хелоу ворлд приходит с api сервера. Хелоу ворлд должен быть отображен на языке пользователя. Пользователь должен иметь возможность поменять хелоу на факоф или что угодно другое и зафиксировать изменения на сервере. Изменения должны быть отвалидированы и отображены без перезагрузки страницы. При изменении пользователя на факоф вместо главной страницы на вебсокетах открывается чат с психологом. Фичу нужно было выкатить вчера.
Программирования тред. Первый в этом тысячелетии.
У меня вопрос.
Относительно давно знаком с веб технологиями.
Писал для себя несколько сайтиков.
Стек HTML\CSS\JS\PHP
Верстка. Все дела.
Пробовал осовоить Django, но не мог понять сути происходящего
Тоже самое с Руби и рельсами.
Недавно чет стало скучно, и решил реализовать один свой проект. За вечер сделал, и оно работало. Js в связке с PHP. Все через Ajax. Данные в Json формате.
Следующим шагом было парсинг сайта, дабы заполнить базу(MYSQL ибо с другими особо не работал). Пробовал бьютифол соуп, скрапи, но там питон. И я нихуя не понял.
думаю, ну хуйня потом парсингом займусь.
Решил попробовать связку React и какой-нибудь бекенд.
С nodejs пробовал давно работать, но дальше хеллоуворлд не прошел.
Суть вопроса.
Как разобрать с ReactJs и другими популярными фреймворками в 2018ом?
Я просто не понимаю как оно работает.
Зачем их придумали? Писали бы фронтенд на православной связке HTML\CSS\Js
Зачем так все усложнять?
Как разобраться с работой бекенда? Я понимаю относительно как работает PHP.
Но не могу например заменить PHP на Руби, питон или Nodejs, ибо не понимаю как оно взаимодейстует с фронтендом.
Кто что посоветует?
Как навести порядок в голове и убрать эту вкусную кашу?
Ебаный веб, хз зачем я туда лезу вот уже несколько лет. Но глядя на Си и плюсы, и объем знаний который нужен чтобы писать с использованием Qt мне становится немного легче.
Ах да, заканчивал шарагу на программиста, писали там на Java, delphi, c#. Из этого могу спокойно писать программки на делфи для себя. Писал даже полноценное приложение которое работало с БД и парсило экселевский документ и забивало данные в БД.
Сумбурно написал. Кому что не понятно, или есть вопросы, пишите, объясню подробнее.
Ну и у кого подобные вопросы по вебу, пишите, может чего подскажу.
Ах да, в вебстудии не работал, я слишком тупой для них.
Ах да, использую gnu\Linux. Собирал из исходников программы, настраивал сервера, держал даже ноду в торе.
Ах да, пишу сюда, ибо боюсь в /pr меня на хуй обоссут, я и так на дизморали уже второй день, от непонимания происходящего.