LINUX.ORG.RU

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

 


5

5

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

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

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

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

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

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

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

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

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

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

★★★★

PHP+html+jquery

Для некоторых сайтов идеально, но гугл диск ты на таком не сделаешь.

Js мне вообще не нравится, но для клиента он неизбежен.

А че не нравится то? Объективненько, или пацаны (судя по возрасту скорее мужыки?) сказали? Есть typescript - Ака java/c# + ES6

expressjs + nodejs

На хлеб можно и просто фронтом зарабатывать

webstorm

А это тут при чем? Есть еще Atom (местами годный, местами кал собачий)

webpack

Можно (и я даже советую) воспользоваться готовым стартер китом (тысячи на гитхабе). Или react-create-app.

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

А ты крут! Надо всем вайтишникам на форумах советовать, а то больно много развелось.

Ну он же специалист по лиспам - ему роднее будет.

А вообще у ТС явные проблемы с оценкой своей конкурентоспособности - его ЯР явный пример тому.

nihirash ★★ ()
Последнее исправление: nihirash (всего исправлений: 1)

А то я тут начитался, что всё это хипстота и что PHP+html+jquery - это наше всё.

Не бери ноду, там хипсторы и npm со слабыми паролями и троянами.

И вообще, насколько веб сегодня актуален

Будет актуален всегда. Торгаши каждый день берут кредиты и разоряются. Большая часть сайтов - это визитка+калькуялтор+2 формы обратной связи. Для этого даже php не нужен, всё делается на каких-нибудь говноконструкторах/cms мышкой за 5 тыр/штука. Потом идут магазины. Там просто берешь opencart, делаешь верстку, обмазываешься плагинами и доводишь напильником. Заливаешь товары и 20+ тыр себе в карман.

насколько актуальна работа по частным заказам?

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

crutch_master ★★★★ ()

вообще разговор не о чём - регаешься на каком-нить freelance.ru или на другом и смотришь за какие задачи башляют и дальше уже смотришь нода, буст, ангулар или ещё какая-нить хрень дико обрела популярность ну и понеслась душа в рай. НО веб меняется постоянно, если на старости лет, хочется более спокойного, то лучше мигрировать на java, .net - но там надо, конечно, в офисе сидеть.

vtVitus ★★★★★ ()

Всем спасибо за советы! Особенно интересно про трояны в ноде. Где можно подробнее узнать?

А че не нравится то?

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

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

А это тут при чем? Есть еще Atom

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

Можно (и я даже советую) воспользоваться готовым стартер китом

next.js - это не из них? Ещё я видел сайт yeoman, но пока руки не дошли.

den73 ★★★★ ()

Пост — троллинг со скуки?

Человек, пишуший свой ЯП с парсером и компилятором хочет зарабатывать на фронте. Гы-гы.

Смешно, конечно, но коль не шутишь — java + spring наше все. Для фронта jquery+html, его учить не нужно, оно само пишется, если ты программист.

rj45 ()

А то я тут начитался, что всё это хипстота и что PHP+html+jquery - это наше всё.

Достаточно просто посмотреть вакансии или предложения на фрилансе, чтоб увидеть что пхпшников действительно очень много требуется (точнее там обычно упор на вордпресс или еще какую-нибудь cms), так что если устраивает вечно подчищать за васянами и ставить кривые тыренные плагины, то этот стек должен быть в приоритете. Нормальных (т.е. относительно больших и где именно программирование) проектов что на php, что на python, что на java, что на %другой ЯП% примерно одинаково.

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

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

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

У меня кончились деньги и я больше не могу писать свой ЯП. Мои иные навыки не востребованы, нужно как-то освежить их. Кроме того, если рассчитывать, что я где-то ещё раздобуду денег, то JS является передовой платформой. SourceMaps, Babel, Typescript, Hot Reload - это всё близко к теме. Java не может быть платформой для моего ЯП, т.к. она проприетарна (пруф).

Насчёт jquery и само пишется, я не соглашусь, т.к. jquery не решает полностью проблему кроссбраузерной совместимости. Первая же задача, к-рую я решал (виртуальная клавиатура) потребовала написания кусков кода для конкретных браузеров, и я не нашёл готового решения задачи - пришлось велосипедить. Баги пока так и остались. Т.е. мне кажется, что грамотно писать кроссбраузерный код - это очень сложно и требует больших знаний. Кроме того, я регулярно захожу в интернете на кривые сайты, даже очень популярные. А если взять 4- летний браузер, то вообще пипец.

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

Вам может тогда какого-то товарища «взять» себе на верстку?

Может.

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

Нет, тыренные не буду ставить, а вот подчищать - это норм. Моя карьера по большей части состоит из трёх таких «подчисток», когда предыдущая команда сливалась, а потом приходил я и всё доделывал. Правда, не всегда получалось одинаково хорошо, но всегда получался юзабельный конечный результат, который внедрялся. Ассениаторы ценятся обществом :)

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

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

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

Послушай, фрилансером—вебмастером без верстки тебе не получится работать.

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

В большинстве сайтиков за копейки(а сразу тебе больше и не доверят) тебе хватит знания js на уровне отправить данные из формочки, дернув гугл аналитику(или что там сейчас ставят).

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

Просто поверь, не спрашивай.

Ну почему, почему? Мне JS интересен по причинам языковедения и из-за лицензий. Поэтому, чтобы от него отказаться, нужен веский довод. И если оно плохое, может быть, в нём есть какое-то Дао, которое делает его хорошим? Например, выкинуть хипстоту и написать на всё свои велосипеды? Я уже чуть не написал нано-шаблонизатор на базе underscore, но потом сдержался.

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

Я тебя услышал про java+spring. Если поверю, что в JS лезть не надо, то это остаётся как вариант. Что тогда думаешь про golang? Он мне больше нравится и мне кажется, что это довольно грамотный продукт. Во-первых, не проприетарен, во-вторых, просто более умно сделан, чем java.

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

JS это криво специализированный говнонедоязычок. Писать на нем есть боль для грамотного спеца.

Node.js — костылированное говно, наполненное колбэками доверху.

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

Golang это такой недоси без библиотек. Им ничего вменяемого нельзя сделать. Только хелоуворлды. Сырой и неготов.

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

rj45 ()
  1. Поставь перед собой задачу - что-то создать.
  2. Прикинь, из какой области технологии могут потребоваться для решения.
  3. Сходи в музей, начни с истории появления существующих инструментов, применяемых в данных областях. Узнай границы их применения и возможностей, для начала теоретически.
  4. Выбери удобные лично тебе или необходимые там, куда ты собрался попасть.
  5. Попробуй решить поставленную задачу выбранными инструментами. Узнай границы твоего им применения на практике.
  6. Если забуксовал - возвращайся к п. 4, 3 или 2, а не поможет - к п. 1.
blexey ★★★★ ()
Ответ на: комментарий от nihirash

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

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

Всем спасибо за советы! Особенно интересно про трояны в ноде. Где можно подробнее узнать?

https://habrahabr.ru/company/ruvds/blog/335602/
Тут писал кто-то, что не сложно в зависимости протащить какой-нибудь трояниский пакет, который логи разукрашивает и что-нибудь ворует. Так как там всё друг от друга зависит то даже крупный адекватный фреймворк ни от чего не застрахован, т.к. какой-нибудь хипстор-недоумок, может сказать, «о прикольная разукрашка для логов» и поставить себе в зависимости ничего не проверяя, тем самым подкинув свинью всем, у кого он в зависимостях. Короче даже в wordpress, походу, не такая жопа, хотя wordpress - такое решето, что там 20 дыр в неделю в попсовых плагинах и в нём самом.

crutch_master ★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 2)

Вёрсткой заниматься не собираюсь

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

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

JS хорош своей гибкостью. Удобное представление данных, когда можно сделать obj.id и obj["id"] и вызывать также obj["getId"]() или находу задавать какие-то параметры объекту. Если делать на этом orm она будет лучше выглядеть, чем костыли с анотациями в яве, например. Тут тупо описываем модель в json, заполоняем поля, делаем get/set и т.д. Плохо, что экосистема - сральник с отбитыми хипсторами и добровольно-принудительно асинхронной нодой.

crutch_master ★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 2)

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

можно за деньги фронтендить лапшу на жквери.

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

мейнстрим меняетс постоянно, на сегодня (как мне кажется) это react + redux + typescript + webpack

VladimirMalyk ★★★★ ()
Последнее исправление: VladimirMalyk (всего исправлений: 1)

PHP+jquery

Технологии неактуальные в 2018 году.

От JS никуда не деться, бери сразу JS и делай всё на нём. Если не JS, тогда какой-нить Go или Rust.

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

Думаешь, без меня мало желающих освоить бюджетные миллиарды?

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

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

nihirash ★★ ()

webpack + ... + babel

TypeScript это js+ с типами, очень легко воспринимается, прозрачно транслируется в js. Мне как Java программеру TS дался легко и непринужденно.

Aber ()

А еще сейчас набирают обороты всякие CRDT и прочий ресёрч ибо фронтенд превратился в полноценные распределенные системы и по сложности ни чем не уступает бэкенду.

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

Ну попытать судьбу можно

Судьбу я уже попытал не раз - получил вполне определённый ответ. Пока мне ещё не отказали в ФЦП «Исследования и разработки» но на данный момент у меня предыдущий план развалился, нового пока нет - в заявке нечего написать. Я рассчитывал опереться на замечательные фичи SBCL, а там оказалась труха сплошная. Теперь, пока новый план не созреет, по сути я не знаю, что и как делать. К тому же деньги наверняка дадут сильно не сразу, а жрать надо уже завтра, и учить любую новую технологию/предметку нужно несколько месяцев, чтобы получить приемлемые условия при приёме на работу. Но если ты хочешь написать заявку за меня, то пиши на мейл - поговорим :)

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

Я читал где-то статью, что PHP непрестижно, Индия и дёшево. Я всё же хочу дорасти до топовой зарплаты со временем, поскольку уже её попробовал и мне понравилось :) Про CRDT спасибо, посмотрю, что это есть.

den73 ★★★★ ()