LINUX.ORG.RU

Что-то в этом вебе слишком много всего

 


7

6

Хочу вот освоить веб, дабы зарабатывать на хлеб насущный. До этого зарабатывал на Delphi + разные SQL ну и баловался лиспом. Но всё это сейчас кормит довольно плохо.

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

Путём анализа stateofjs.com, rabota.yandex.ru и опроса населения получается как-то так:

bootstrap 3 + react + expressjs + webpack + nodejs + webstorm + babel + mysql

Есть ещё какие-то компиляторы для CCS, но до этого я пока не докопался даже.

Вёрсткой заниматься не собираюсь, только программирование. Хотя кто знает, может и до этого дойду когда-нибудь.

Js мне вообще не нравится, но для клиента он неизбежен. Хочется учить как можно меньше, поскольку возраст уже не пионерский. А раз можно использовать один и тот же язык для сервера, клиента и сборки - это вроде как на первый взгляд выглядит хорошим вариантом.

Куда с этим багажом лезть - я пока не понял, может быть буду пытаться найти частных заказчиков.

Правильно ли выбрал направления развития? А то я тут начитался, что всё это хипстота и что PHP+html+jquery - это наше всё.

И вообще, насколько веб сегодня актуален, насколько актуальна работа по частным заказам? Я просто зашёл на сайты двух веб-студий в своём городе, увидел главную страницу и мне подумалось, что сделать хуже мне не удастся при всех стараниях. Т.е. с точки зрения конкурентоспособности на этом рынке бояться нечего. А вот с точки зрения осмысленности участия в этом рынке - я пока не понял.



Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от TDrive

Но является фактором. Если бы дело было не в ЯП, я бы и по сей день мог хорошо сидеть на Дельфи + MS SQL. Но это не выйдет.

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

Раз уж я завёл эту тему... смотрю скринкат по react на learn.javascript.ru

Вижу странное.

Виртуальный дом - это жирный и дорогой слой абстракции. Он превращается не в html, а в конструкторы, написанные на JS. Из опыта мне кажется это трудным для отладки и неэффективным. Наверняка такие конструкторы работают медленнее, чем рендер статического html. Если html можно прочитать глазами И смотреть в инспекторе, то DOM, порождённый из виртуального можно смотреть только в инспекторе, т.е. минус один инструмент.

Далее. Сначала поднимаем на знамя идею «компонент ничего не знает о своём окружении», и эта идея перестаёт работать уже на примере аккордеона. Тогда выносим состояние в родителя (нарушение идеи модульности) и прокладываем провода между родителем и ребёнком (усиление связанности или связности, как её там зовут).

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

Как вообще надо было бы сделать аккордеон? Я бы отделил два понятия: виджет (который будем рисовать) и аккордеон (куда виджет будет помещаться). Понятие видимый/невидимый должно полностью находиться внутри виджета. Даже если он не может включить свою видимость, он должен знать о том, когда его видимость меняется. У него должны быть методы «показать», «скрыть», события «меня хотят скрыть», «меня скрыли», «меня хотят показать», «меня показали» и «видим ли я?», которые не нужно переписывать, если я захотел поместить его в аккордеон. Виджет должен уметь выразить своё неудовольствие при попытке его скрыть или показать (допустим, там может быть заполненная форма, ожидающая отправки на сервер, которую нельзя просто так запихнуть в карман - нужно заставить юзера или её отправить, или явно выразить свой пофигизм на эту тему). Во всяком случае, так было в Дельфи, который мне только что рекомендовали закопать, так в tk (для окон) и что-то вроде того было даже в клиппере ЕМНИП. Собственно, мне даже не вполне ясно, почему я в XXI веке должен заниматься проектированием и рукописной реализацией понятия видимости, да ещё и иметь с этим трудности. В чём тогда состоит смысл этого фреймворка, какую помощь он мне оказывает?

И собственно аккордеон, который принимает виджеты, имеющие вот этот набор методов, и их включает в себя.

Ну и ещё одна фигня. Иммутабельность. Когда они хотят пересортировать список постов в блоге, дело кончается тем, что они для этого копируют массив. Да, я понимаю, иммутабельность - это действительно классная концепция. А теперь представим себе чат, где 100500 сообщений и добавляется ещё одно. Неужели же логично копировать ради этого массив размером 100500? Получается, что иммутабельность работает не всегда, и далее происходит дробление наших скиллов, усилий разработчиков, проблемы типа «вставили мутабельный в иммутабельный» и т.п.

Если есть проблема, что кто-то другой может подгадить в этот же массив, то это, наверное, решается как-то по-другому. Например, один писатель - много читателей (подписчиков на изменения). Если кому-то ещё нужно написать в чат, он просит об этом писателя, как вариант.

Допустим, я придираюсь. Но мне что-то кажется, что это не я придираюсь, а что этот react дурацкий :( И вот пока в сумме получается: сам JS - дурацкий. bootstarp дурацкий (bootstrap 3 не может отрисовать меню на 4-летнем браузере Opera Mini; да, это 0.01%, но ведь всего в старых браузерах в России работает 20% пользователей). Может, просто не нужны эти выпадающие меню, раз 20% браузеров могут поиметь с ними проблемы?

express дурацкий (нельзя применить шаблонизатор для генерации статического файла без костылей).

И вот теперь и с react что-то не так красиво, как должно быть для «фреймворка N1».

Что тогда не дурацкое?

Я не понял, может, это со мной что-то не так? Слишком много хочу? Но ведь XXI век вроде, очевидные вещи должны быть сделаны уже. А все эти веб-фреймворки новые и начинались с нуля, это не С++ какой-нибудь, где груз совместимости. Что мешало сделать нормально?

Или я просто не догнал что-то? Или не умею программировать?

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

Проблема в том, что ты думаешь перед тем как что-то сделать. А JS-макаки не думают, потому что «Ололо! Давай фигачить, чо тут думать.» Поэтому весь веб с этим его JS — говнище с кучей костылей.

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

Нет. Анон не прав.
Проблема в том, что ты начал изучать веб с изучения фреймворков, а не нативных технологий. Ты не пытаешься понять и изучить прямо работу с DOM\BOM\, их концепции и принципы работы. От того тебе все непонятно и ты все понимаешь неверно.

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

Именно поэтому ты, например, считаешь реакт - фреймворком, в то время как это просто библиотека для повышения абстракций. Сделанная для тех, кто не может эффективно работать с DOMом напрямую (и это не в плохом контексте, с ним правда сложно работать напрямую эффективно, нужно иметь богатый опыт).

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

Конечно, таким путем идет большинство. И именно поэтому их них вырастают именно те макаки, о которых написал анон выше.
Короче говоря, я вангую, с таким подходом и своим складом ума ты далеко не уедешь. Тебе придется стать либо кодо-клепателем, пишущим копипастом и выбивать себе копеючку, ради которой ты и пытаешься вкатиться. Либо подходить ко всему обстоятельно и кардинально.

Веб - это целая платформа. И проста она лишь в глазах тех, кто под нее не пишет. Ровно по тем же причинам она многим кажется нелогична или нессуразна.

int64
()

И вообще, насколько веб сегодня актуален, насколько актуальна работа по частным заказам?

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

// Мопед не мой.

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

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

bread 😊😊😊😊
()
Ответ на: комментарий от nihirash

фрилансером—вебмастером

Нет никаких «вебмастеров», это звание себе придумали школьники, которые научились ставить WP и плагины к нему. Такой себе сферический в вакууме «компьютерщик», только в вебе.

no-such-file 👍👍👍👍👍
()
Ответ на: комментарий от int64

Ограничиваешь себя ими, и не понимаешь как они вообще работают.

Я думал, это нормально - ехать на автомобиле и не знать, как устроен руль. Достаточно знать, что поворачиваешь руль вправо - и машина поворачивает вправо. Видимо, этот автомобиль так не едет :(

Задача с выпадающим списком реализующаяся абсолютно во всех браузерах

Думаю, не во всех, например, как насчёт Lynx?

потому что ты не пишешь на CSS, а пишешь сразу на абстракциях

Мне «продавали» бутстрап, как абстракцию, облегчающую боль адаптивного дизайна и позволяющую приступить собственно к созданию сайта быстрее. Т.е. мне было сказано: возьми бутстрап и сделай меню за 5 минут. Я в это поверил, сделал, но оно не работает в 4-летней Opera Mini. Теперь открывается правда жизни: сделать адаптивное выпадающее меню за 5 минут нельзя, оказывается, нужно долго для этого учиться. Поскольку я в свежем браузере видел кривое выпадающее меню, в т.ч. на сайтах веб студий, я начинаю думать, что это крайне сложная задача, доступная только истинно крутым профессионалам.

den73
() автор топика
Ответ на: комментарий от bread

Ты разрываешь моё сердце (и не ты первый :( ) Вот прям хочется матом ругаться уже.

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

Ты проводишь неправильные аналогии.
Ты-то хочешь не на автомобилях ездить, не зная как устроен руль. А строить автомобили.

В общем, дело твое.
Рано или поздно ты либо сам поймешь, что идешь по не той дорожке. Либо просто выдохнешься и обстоятельства зажмут. Удачи.

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

Либо подходить ко всему обстоятельно и кардинально.

Обстоятельно - это понятно. А вот что есть «кардинально»?

den73
() автор топика

Идеальный стак копротехнологий.

entefeed
()
Ответ на: комментарий от no-such-file

Нет никаких «вебмастеров», это звание себе придумали школьники

Я в курсе, но Денис судя по его сообщению метит именно туда.

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

Виртуальный дом - это жирный и дорогой слой абстракции. Он превращается не в html, а в конструкторы, написанные на JS. Из опыта мне кажется это трудным для ...

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

изменение чего-либо в «виртуальном» дом намного дешевле, поскольу это всего лишь изменения в яваскрипте.

а собственно профит в том, что по итогу произвольного к-ва изменений, «виртуальный» дом в новом состоянии способен выделить дельту между старым и новым, и отправляет на рендер уже именно эту дельту.

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

отрасль бодается за нативную реализацию этой концепци в браузерах, но пока не дободали.


Ну и ещё одна фигня. Иммутабельность. Когда они хотят пересортировать список постов в блоге, дело кончается тем, что они для этого копируют массив. Да, я понимаю, иммутабельность - это действительно классная концепция. А теперь представим себе чат, где 100500 сообщений и добавляется ещё одно.

неее, это ж далеко не всегда полное копирование. там правит бал
https://en.wikipedia.org/wiki/Persistent_data_structure. а народ сетует что нет нативной браузерной реализации и таскает за собой immutable.js


Если есть проблема, что кто-то другой может подгадить в этот же массив, то это, наверное, решается как-то по-другому. Например, один писатель - много читателей (подписчиков на изменения). Если кому-то ещё нужно написать в чат, он просит об этом писателя, как вариант.

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

на иммутебельности и подходах мира функционального программирования строятся все эти концепции управленя сложным состоянием, и отображением этого состояния в DOM.

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

Ты-то хочешь не на автомобилях ездить, не зная как устроен руль. А строить автомобили.

Не, чувак хочет домостроительный комбинат, а ему предлагают 20 способов склеивания палок говном. А ты и вовсе требуешь, чтобы каждую говняшку непеременно ощупать, обнюхать и на зуб положить. Без этого никак хижину не построишь, мля. Такой суровый веб.

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

Автомобили сейчас строят на платформах. Платформа - это некая параметрическая (или даже непараметрическая) модель с блоками и пределами конфигурации. К ней прилепляют кузов, опции и дальше уже дело маркетологов. Так что я правильно подхожу к строительству автомобилей. Другой вопрос, есть ли качественные платформы. Я думаю, что есть, ведь не одни только хипсторы должны быть в мире. Вопрос - как их найти? Похоже, что популярность - это не критерий.

den73
() автор топика
Ответ на: комментарий от VladimirMalyk

на практике, это работает намного быстрее и удобней, чем кропотливо дозировать изменения в реальный DOM руками

Слушай, ну все видели этот ваш пейсбук, ну сколько можно трындеть то про быстрее. Как видишь угребищное тормознутое нагромождение свистопердящих «компонентов» вместо сайта, сразу ясно - это передовые быдлокодеры внедрили реакт.

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

Тут не пёрфект-пиксель, а тупо меню разворачивается и не сворачивается. Или выпадающая часть выпадает совсем (за пределы экрана, к примеру). Ты клонишь к тому, что в нынешнем мире один человек не может сделать качественный сайт от начала и до конца?

на иммутебельности и подходах мира функционального программирования строятся все эти концепции управленя сложным состоянием, и отображением этого состояния в DOM.

Ммм. А можно мне какие-нибудь другие концепции?

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

Я весь внимание, научи меня уму-разуму. Я просто говорю о том, что твоя аналогия не совсем так разворачивается, как ты хотел.

Т.е. желание собирать из крупных _работающих_ кусков одинаковое в любой отрасли. Другое дело, если куски на поверку не работают, тогда это и есть слово hipe, от которого хипстер.

Если ты считаешь, что мне нужно забить на реакты и бутстрапы и учить голый js, html, css, то я к этому прислушаюсь со всем вниманием. И кстати, я реакт назвал фреймворком не потому, что я его таковым считаю, а просто потому, что названий слишком много и они все в голове не помещаются.

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

спасибо за immutable.js, но я, написал нечто подобное на хеш-таблицах, ни на секунду не поверю, что оно прямо такое быстрое и экономное до памяти.

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

Если ты считаешь, что мне нужно забить на реакты и учить голый js, html, css

Голый JS, HTML и CSS учить, конечно, надо. Не столько ради того, чтобы их использовать, сколько ради того, чтобы понимать, что во что транслирются все крутые фреймворки - примерно так, как для написания нативных программ полезно быть знакомым с «переносимым ассемблером» Си.

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

ну как, DOM это ж состояние, которое браузер непосредственно рендерит.

Зачем нужно делать свой синтаксис для этого DOM? Например, есть какой-нибудь innerHtml. Мне не нравится то, что react плюётся конструкторами, которые не декларативны, при том, что декларативное описание в виде innerHtml в принципе существует.

den73
() автор топика
Ответ на: комментарий от tailgunner

Голый JS, HTML и CSS учить, конечно, надо

Тут вопрос, до какой степени учить. Одно дело - посмотреть в инспекторе то, во что сгенерировалось и из общих соображений догадаться, что к чему. Совсем другое дело - знать, как писать кроссбраузерный код в зависимости от текущего года :)

И допустим, я выучил. Мне не нравятся эти фреймворки. Я понял, что популярные != хорошие. А есть ли хорошие фреймворки в природе, вот в чём вопрос?

den73
() автор топика

Хз. Ничего не могу сказать. Как-то больше по JS, хотя и не нравится тоже.

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

Нет. Я нисколько не умаляют полезности таких вещей как реакты или прочие библиотеки\системы сборок\фреймворки\транпайлеры и всё, чему можно найти место и время. Я говорю о том, что чтобы их применять, надо понимать как они устроены.

И я не говорю о том, что изучать надо со столь низлежащих абстракций как принципы работы микропроцессоров например (хотя полезно). И даже не о преставлении о том, как работают веб-платформы на уровне хранения данных в памяти, jit компиляций\оптимизаций и вот это всего (хотя это еще более полезнее). Нет. Я говорю начать с того необходимого минимума, который касается конкретно окружения, в котором ты собираешься что-то строить. Но, конечно, это все надо если ты хочешь применять инструменты по назначению. И не удивляться чему-либо - потому что на самом деле в каждом из них есть логика и от каждого есть польза, а любое непонимание вытекает именно что от непонимания того, откуда зачем и почему эти инструменты вообще появились.

Учиться html и css - это сравни изучению правописания. Ты можешь декларативно описывать UI хоть на чем. Суть в том, что ты в конечном счете работаешь с конкретными объектными моделями DOM и CSSOM. И моделями построенными поверх них, например, vdom в том же реакте\вью\етк. Чтобы понять, зачем нужен тот же реакт, например, (и нужен ли он, и в каких случаях он действительно нужен, а в каких это будет из пушки по воробьям) следует сначала изучить то, поверх чего он работает. А ведь есть еще нативные концепции веб-компонентов и shadow dom, которые весьма отличаются подходом к разработке, хоть и призваны решать те же вещи.

Прежде чем пытаться с наскоку в двусторонний дата-биндинг, следует изучить работу BOM на примитивном уровне. Событийную его модель. Его нативные объекты. Нативные на том уровне, которые он предоставляет в качестве API. На том уровне, на каком эти кучи API стандартизованы.

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

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

если планов замахваться высоко нет, во фронтенде остаются вполне себе классические течения и подходы.

посмотрите на marionettejs. обычный такой себе классический mvc фреймфорк без экзотики. такая себе надстройка над backbone, который надстройка над jQuery.

это как раз то, на чем обвёрстывают ширпотреб вроде вордпрессов и всякого такого. рынок шире, работы больше, но деньги меньше.

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

И не удивляться чему-либо - потому что на самом деле в каждом из них есть логика и от каждого есть польза, а любое непонимание вытекает именно что от непонимания того, откуда зачем и почему эти инструменты вообще появились.

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

Суть в том, что ты в конечном счете работаешь с конкретными объектными моделями DOM и CSSOM. И моделями построенными поверх них, например, vdom в том же реакте\вью\етк. Чтобы понять, зачем нужен тот же реакт, например, (и нужен ли он, и в каких случаях он действительно нужен, а в каких это будет из пушки по воробьям) следует сначала изучить то, поверх чего он работает.

Услышал тебя. Буду изучать.

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

Я просто смотрел скринкаст по react, потому что react востребован на рынке труда :)

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

Зачем нужно делать свой синтаксис для этого DOM?

У DOM вообще нет синтаксиса. Это объектная модель. Живая, объектная модель, в памяти. С объектами, методами, классами, вот этим всем. HTML это лишь один из способ ее сериализации.

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

Зачем нужно делать свой синтаксис для этого DOM?

для лучшей читабельности. тут конечно игры с огнём про то что «верстка перемешана с кодом», но пока что приживается.

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

считается, что смотреть выхлоп JSX нужно максимум для дебага. как и фактический выхлоп бабеля в ванильный js. с точки зрения разработки, в этом не больше смысла, чем просматривать глазами машинный код после сборки — иногда нужно, но чаще нет.

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

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

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

React это даже не фреймворк. Это всего-лишь библиотека.
Чтобы он стал хоть отчасти похожим на фреймворк, к нему надо прикрепить еще несколько компонентнов.

Если ты хочешь строить сразу из кирпичиков, не вдаваясь в сути. То бери полноценные фреймворки построенные поверх веба, и пиши на них. Они по-максимум абстрагируют тебя от концепций, насколько могут. Но учти, что это уже по сути отдельная платформа, и зажат ты уже будешь в ее концепциях. Что там - Ангуляры, Метеоры.

Я просто смотрел скринкаст по react, потому что react востребован на рынке труда :)

Сегодня да. Вчера не был. Послезавтра все поменяется. (И вообще уровень популярности чего-либо весьма сомнителен и булшитен - где именно-то , на каком рынке, и куда вы дели тонны легаси в этом своем рынке).

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

зато потом ты можешь спокойно отдавать структуры данных в rx.js цепочки и не беспокоиться о том, что данные где-то будут перетёрты. у систеы будет достаточно формальных пруфов, чтобы гарантиовать безопастность.

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

Мне не нравится то, что react плюётся конструкторами, которые не декларативны, при том, что декларативное описание в виде innerHtml в принципе существует.

Может тебе нужен просто шаблонизатор на клиенте. Handlebars емнип не сильно жирный, попробуй. А логику пиши сам на ванильном JS, ты же не безрукий инвалид. Мало что ли API в браузерах? Как по мне так слишком даже много. Зачем еще какие-то мутные прокладки?

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

marionettejs

Не соглашусь, что рынок шире. В России 2 вакансии по данным rabota.yandex.ru, против более чем 100 по react.

den73
() автор топика
Ответ на: комментарий от int64

HTML это лишь один из способ ее сериализации.

Применимый по умолчанию и случайно являющийся форматом для html по умолчанию. Что делает его заметно более удобным, чем альтернативы, при прочих равных.

den73
() автор топика
Ответ на: комментарий от VladimirMalyk

считается, что смотреть выхлоп JSX нужно максимум для дебага.

Ага, и наверняка считается, что дебаг в норме не нужен. Но мне будет трудно поверить, что это так :)

den73
() автор топика
Ответ на: комментарий от int64

на каком рынке, и куда вы дели тонны легаси в этом своем рынке

rabota.yandex.ru - правда, он глючит, цифры по разным запросам не сходятся. Обещали починить.

Если ты хочешь строить сразу из кирпичиков, не вдаваясь в сути.

Я хочу: начать зарабатывать быстро. Чтобы через время мои знания не обезценились. Со временем хочу зарабатывать много. Из кирпичиков, из блоков или из навоза с соломой - вопрос второстепенный.

den73
() автор топика
Ответ на: комментарий от VladimirMalyk

Ну это я так, придрался к тому, что иммутабельность так уж быстра. Если там действительно внутри что-то умное, то тогда ладно. В целом плюсы иммутабельности ясны, правда, насколько она применима для гуя и как - мне пока не совсем ясно.

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

Так вышло ввиду того, что веб самое легаси-дружелюбная сфера.
И тот html что сегодня, уже далеко не выполняет тех задач, для чего его придумывали. Как ты пишешь изучить html - ну вот что ты там собираешься учить, если все что нужно знать об html это то, как оформляется тег. Ну и запомнить с десяток тегов исключений что тянуться через историю с собственным поведением. Всё. Что там еще семантическая верстка? Ну, это осваивается второстепенно и лишь если надо. В конечном счете семантика натягивается на любую правильно спроектированную верстку.

CustomElements. В HTML сегодня теги вида <this-is-my-supe-button> и <my-super-widget> вполне валидны. Что ты хочешь изучать в HTML в 2018 году, когда его задача лишь описать DOM модель, а не как было 15 лет назад, когда от того, как правильно и валидно будет написан html зависело на 99% верное отображение и поведение. Сегодня отображение и поведение уже не на плечах браузера, а на плечах программистов. На стандартных встроенных вижетах ты никуда не уедешь. Даже уже стандартные инпуты зачастую не используют, а делают поля ввода из обычных элементов. Иногда вовсе отрисовывают их на канвасе (если говорить например о текстовых процессорах, или редакторах).

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

Я понял, что это. Там бенчмарки однако есть.

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

Ну и к слову, как по мне, программисту с большим опытом, особенно опытом работы в системах с живыми объектами, где repl-driven-development - изучать веб должно быть проще простого. А все эти концепции объектных моделей на уровне азов вполне понимаются очень быстро, а дальше только их вариации - со справочником всегда под рукой никаких проблем быть не должно. Ну, а уж понять примитивнейший эвент-луп и ассинхронщину, если ты писал ГУЙ то вовсе должно быть проще простого.

Многим сложнее для людей которые приходят из статических языков, из языков с парадигмами структурного программирования. Из языков где первоочередное это IDE и компилятор бьющий по рукам.

Я не делю программистов\ людей на правильных и неправильных. И языков не делю. И сам пишу помимо веба на сишечке, go и иногда на java. Просто веб люблю больше всего. За его динамичность и за то, что он живой. Сильно жалею, что когда было можно, веб-девелопмент не пошел по пути smalltalk-систем. Потому как считаю, то его разработка должна быть именно в такой парадигме. А концепция файлов, модулей, компиляции, и вот этого всего - лишь вносит путаницу - многие пытаются подходы привычных им сфер перекладывать сюда, а здесь все иначе.

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

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

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

VladimirMalyk
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.