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)
Ответ на: комментарий от int64

Иногда вовсе отрисовывают их на канвасе (если говорить например о текстовых процессорах, или редакторах).

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

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

изучать веб должно быть проще простого

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

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

Не... Загрузка и зарплата - это разное :) «Рынок знает всё» (С)

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

шо, прям спрос на фронтендщиков вместе с этими сводками меняется в реалтайме? :)

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

Почему здесь ангуляр и реакт стоят рядом?

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

Я хочу: начать зарабатывать быстро. Чтобы через время мои знания не обезценились.

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

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

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

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

гляньте https://www.slideshare.net/vladimirmalyk/30-52623533
оно отражает суть, разве что с тех времён webpack победл и на сцену вышел react.

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

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

Мне сложно сориентироваться

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

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

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

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

Оно не кривое. Оно не предназначено было для таких вещей, когда создавалось. Это все равно, что пытаться молотком забивать шурупы и винить при этом молоток. А редакторы на веб технологиях вполне пилятся и весьма успешно. ONLYOffice, MSOffice, Google Docs, Atom.
Не знаю, что ты говоришь про клавиатуру, но и с ней все в порядке. Веб это еще и игровая платформа, тут без клавиатуры никуда.

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

захотели например асинк-эвейт синтаксис — взяли да и заплили.

Бабель - это круто. Хочу.

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

Ну как всё в порядке? Коды клавиш для оперы нужны другие и ЕМНИП где-то нельзя отличить нумпад от стрелок или что-то ещё. Это я говорю только про новые версии.

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

А куда-нибудь выложить, где не забанено? А то вдруг ещё кто-нибудь захочет посмотреть? Впрочем, если лень, то вышли плиз на budden73@mail.ru

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

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

Понял, постараюсь соответствовать (а то я имею тенденцию закапываться).

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

Опера сейчас на том же движке что и chrome. Там не могут быть другие коды. И нумпад прекрасно детектится.

К слову, что до реализации кроссбраузерности тех или иных вещей в разных браузерах - есть такая вещь, как полифилы. Они призваны уравнивать возможности браузеров в соответсвии со спекой. Поэтому когда ты что-то пишешь, ориентироваться надо прежде всего на спецификацию. А если где-то работает по какой-то причине не в соответствии с ней, то применять полифил - готовый, или писать самостоятельно. Конечно, есть вещи, которые уровнять нельзя, но такие вещи будут встречаться лишь в жутком легаси по современным меркам, таким как ie или старая опера 12, которые по факту сегодня считаются мертвыми, и за поддержку\разработку под них, цена увеличивается временами на 100%, если необходимо реализовывать какой-то сильно хитрый функционал.

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

А куда-нибудь выложить, где не забанено?

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

зы. выслал

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

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

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

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

Спасибо, я посмотрел презентацию. Кое-что отложу на потом, т.к. не понял. Я так понял, requirejs уже совсем стух, а bower и gulp вроде вытесняются webpack-ом. Но я могу быть неправ :)

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

Помимо keyCode у событий клавиатуры, есть еще параметр key, позволяющий отличать, например, когда на нумпаде нажата цифра, а когда стрелка. Ну и есть еще вещи типа клавиш модификаторов и прочего.

Мне на самом деле не понятно, с какими именно трудностями ты столкнулся и что не смог решить.

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

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

Не смог решить то, что в IE после ввода первой буквы курсор иногда перескакивает в начало поля ввода. А в целом есть JavaScript Madness: Keyboard Events

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

После того, как мне настойчиво объяснили, что React - это не фреймворк, прочитал ReactJS для глупых людей. Брошу-ка я реакт, поизучаю лучше ангуляр :) Я изначально так и собирался, но меня один дядя сбил с пути истинного.

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

Но он популярен по невыясненным причинам, вот и тащат его.

Тебе не приходило в голову что это именно ты чего-то не понимаешь?)

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

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

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

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

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

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

Угу. Единственное, rabota.yandex.ru более глючная, чем я думал, на её число вакансий полагаться нельзя - теперь смотрю на hh.ru . Хотя и он вроде был глючный.

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

Еще есть moikrug.ru Часто там бывают достаточно интересные вакансии

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

Если вы разрабатывает публичный сайт или приложение, и вы рендерите все на клиенте, то вы выбрали неправильный путь. Клиентский рендеринг — это причина, почему SoundCloud работает медленно, и почему Stack Overflow (используя только серверный рендеринг) работает так быстро.

Мегалол! Надеюсь хипстогуры развенчают этот навет.

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

там еще не затронута тема тестирования на jest и например моки для не js ассетов которые умеет импортировать вебпак но которые не являются нативными для js в принцыпи)

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

Мой путь в react был таким.

1. JQuery -> мне нужен биндинг данных на DOM -> knockoutjs -> нужен динамический DOM -> react -> ... запутался с хранением состояний.

2. VanilaJS -> самописный виртуальный дом -> ... а как с данными работать, как их роутить на виртуальный дом? -> redux -> react+redux :)

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

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

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

попробуй сделай свой ЯП, это не так то просто

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

И оказалось, что решает только задачу убийства моего времени.

ТС не понимает что нужно на рынке и куда и с чем ему можно вылезти в свет.

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

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

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

А на каком основании двусторонний биндинг стал сложным? А на Dbase III и Clipper 87 в 1990 году это было просто. Задача та же - написать ГУЙ к БД со свистелками и перделками. Она решалась легко. И чем дальше, тем сложнее оно становилось. Хотя до 2013 года мне удавалось обходиться обычными датасетами, пусть несколько усложнёнными по сравнению с тем же клиппером, но ещё постижимыми. Теперь, оказывается, двусторонний биндинг, т.е. тупо возможность показать данные на экране, отредактировать их и записать обратно в БД - это не то, с чего я могу начать. Это какой-то лохотрон :)

Скоро неделя, как я не могу решить такую задачу, как автоматически сгенерировать работоспособное меню для 4 страниц своего сайта. В меню должно показываться, где я нахожусь. Если я добавлю 5-ю страницу, меню должно перегенерироваться. Допустим, оно должно собираться из title, из структуры директории, из какого-то специального скрытого div, находящегося на странице. Раньше я делал это на чистом html, написал функцию на лиспе строк на 20, которая генерировала меню по шаблону. Да, данные собирались вручную, а не выдёргивались из самих страниц, но это же была наколенная поделка. Также я написал примитивный генератор галереи - ну ещё строк 20. Да, там наверняка говнодизайн, но возложенные на меня задачи были просты, я отвлёкся от своих дел на несколько часов и решил их. Этот сайт работал на тех браузерах, работает на современнх, хотя порядка 10 лет к нему никто не прикасался :)

http://boxlab.narod.ru/gallery_li.htm

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

По мере знакомства со всё новыми и новыми технологиями (а я уже касался webpack, express, react, pug, vue и наверное, часть технологий уже забыл из тех, в которых прошёл hello world) я чувствую, что решение этой тривиальной задачи становится всё дальше и дальше.

Почему в Microsoft Word в 1998 году был пункт «создать оглавление», который собирал по документу все заголовки (аналоги h1,h2,h3) и строил из них иерархическое кликабельное меню, пригодное для печати. Можно было просто зайти в меню Word, пошарить по нему и за 10 минут найти эту возможность, а ещё за 30 - настроить нужный вид. Почему в 2018 году у меня с этим трудности? Операция «пошарить по меню» стала столь трудоёмкой, что стало практически нереально её осуществить.

Я вот тут не сразу понял, что react и angular из разных категорий. Но я же не сам это придумал - сравнение react vs angular много где в интернете проводится.

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

ТС не понимает что нужно на рынке и куда и с чем ему можно вылезти в свет

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

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

Спасибо, я уже выкинул реакт в пользу vue, и nuxt тоже попал в поле зрения. Просмотрел один hello world.

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

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

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

Я вижу такой отстой, что не верю своим глазам.

Все современное, что относится к UI - адский ад. И вёб - одно из мягчайших его проявлений.

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

А все эти фреймворки и ноды - это, видимо, дымовая завеса, которую умные люди поставили против дурачков.

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

Соответственно, где-то есть и высокая зарплата за настоящие технологии. Вот их я и ищу.

Может быть разработка на плюсах с компиляцией в wasm?

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

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

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

Ну ладно, если я когда-нибудь сумею наладить хотя бы в четверть такую же удобную генерацию меню, какая была в Word в 1995 году, мы вернёмся к этому вопросу. Я пока просто отбрасываю все технологии либо после hello, world, либо в его середине, поэтому до генерации меню никак не дойду :)

Все современное, что относится к UI - адский ад

Опять же, на tk я сумел написать за несколько месяцев IDE для CL, а atom-slime за два года не смог родиться, после чего умер :)

Может быть разработка на плюсах с компиляцией в wasm?

Плюсы - это предыдущая версия ада, от которой мне почти всегда удавалось держаться подальше :) Headhunter не знает слов wasm, webasm, webassembly. Видимо, оно никому не нужно :)

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

Обалдеть, я уже знаю, про что около 1/4 слов, которые там перечислены :)

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

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

Оно же тухлое и совсем плохо пахнет.

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

Тут не пёрфект-пиксель, а тупо меню разворачивается и не сворачивается.

Если тебе так хочется bootstrap и древнеоперу — наверно, стоило попробовать более старый bootstrap. Хотя сейчас этот самый bootstrap не так часто пользуют.

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

Потому, что реакт — это просто JS, а ангуляр — фреймворк в жабостиле, криво переизобретающий буквально всё. Ну и ангуляр до жути негибкий.

Тогда выносим состояние в родителя (нарушение идеи модульности)

Если не нравится состояние в родителе — выноси его из реакта. Просто в реакте принято не запихивать состояние в «тупые» (презентационные) компоненты.

Понятие видимый/невидимый должно полностью находиться внутри виджета.

Эмм. Нет. Если меняется route и пользователь переходит на отдельную страницу — это не значит «все виджеты на этой странице скрыли себя», это «router отрендерил другой компонент, выкинув ВСЕ виджеты отсюда». Чем аккордеон хуже раутера?

Виджет должен уметь выразить своё неудовольствие при попытке его скрыть или показать

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

Ну и состояние всех форм может храниться далеко снаружи этих форм и сохраняться при скрытии/появлении.

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

По UI не претендую на знания того, как правильно. Но «Просто в реакте принято не запихивать состояние в «тупые» презентационные) компоненты.» для меня никогда не выглядело особо привлекательным. Делать надо так, как удобно и при этом чтобы не было слишком сложно. Если состояние легко размещается в презентационных компонентах и это не приводит к путанице, нет причины его там не хранить. Во всяком случае, и Delphi, и Tk так делают и ничего страшного от этого не происходит.

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