LINUX.ORG.RU
ФорумTalks

Мысли об извращениях во фронтенде.

 ,


0

1

Навеяно темой: Мысли об извращениях в сфере десктопа

Destop и backend ерунда, по сравнению с frontend'ом.

Ну серьезно, для десктопа есть куча вылизанных инструментов, к примеру: С# + WPF/WinForms (Mono), Java, Qt, Vala для GTKшников.

В бекенде еще проще, 99.99% (шучу) сайтов делается на PHP: берем PHP + [Yii2, Laravel, Symfony] или Wordpress, MODx и мы уже в тренде.

Но фронтенд... Вот там АДИЩЕ полное.

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

Мне вот 25 и то мимо меня уже прошли: Backbone, Grunt, Gulp, Webpack, jQuery, Vue, ExtJS, Less, Stylus, Angular 1, NodJS + npm,yarn.

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

При этом на PHP я использую Yii2 + composer и это покрывает все мои задачи.

Фронтенд не моя основная специализация, но в последние время, я замечаю, что на работе приходится 70% времени писать только JS код.

А самая жесть в том, что разработчики выкидывают свои инструменты, не закончив их даже. В 2015 году мы делали B2B сервис на связке Yii2 + RabbitMQ + Angular 1. И какая там версия ангуляра уже? 4я? А первая уже рипнулась. А прошло 3 года! ТРИ! Всего три года. Год люди восхищались Angular, а потом он стал дерьмом. КАК?

Люди в свое время молились на Grunt, потом вышел Gulp и все восхищались им. В том числе и я. Самый адекватный таск менеджер, можно написать на JS что угодно и собрать что угодно.

У меня в свое время Gulp собирал тысячи строк кода на ExtJS 4. Но потом стало не модно. А что потом? Потом webpack, nodejs, es2015, babel. Костыль на костыле. Да, я стиснув зубы пишу на es2015 и использую webpack, потому что это стало «стандартом», но я жду момент, когда просто удалю этот webpack и у меня все работает из коробки в современных браузерах.

Нет, я не против ES2015, он мне зашел с первой минуты, но какой от него толк, когда браузеры его не поддерживают в полной мере и эта ситуация уже несколько лет не меняется?

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

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

Кто говорит, что все тормозит и жесть в Desktop/Backend еще во фронтенде не писали:) Крик души, не более. Всех с выходными!


Ответ на: комментарий от Harald

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

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

Мало того что ты превращаешь мой комп в тормозящее и падающее еще и выслушивать нытьё.

ilovewindows ★★★★★
()

Ещё один всё понял. Frontend на текущий момент это такая помойка, после которой даже PHP покажется вершиной инженерной мысли, и это вовсе не комплимент PHP.

Лучшее, что сейчас можно сделать, это взять Typescript (чтобы не разгребать дерьмо имбецилов разработчиков Бабеля) и Фейсбуковский Ректал (ибо там хоть до какой-то степени люди думают о backward compatibility и стабильном API). Из дерьма таким образом, конечно, всё равно не вылезешь, но будешь в дерьме хотя бы по горло, а не с головой.

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

Да я это давно понял, просто ну вот накипело что-то.

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

Согласен, в 2018 году в CSS нет неймспейсов, к примеру я хотел бы прикрутить bootstrap не глобально, а только к одному контейнеру, но увы.

а JS ES2015 неплох, но браузеры тормозятся. Хотя по сути добавляешь нормальный two-binding в JS, нормальный HTTP Resource, как в том же Vue и все! Все фреймворки не нужны.

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

Да PHP такой же кстати, ну не там в PHP 7 добавили что то вроде:

function someFunc(): bool
{

}

Но это так, сахар.

Кстати, я на типизацию не обращаю внимание, да и разработчики также. Везде используем ===, а переменные не меняют свой тип во время выполнения, ну только объекты могут неожиданно стать null.

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

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

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

Из последнего я писал на Mono, Vala. Сказка же!

Да и та же Java? Я вон каждый день в PHPStorm работаю, идеальный инструмент, хотя и на Java написан.

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

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

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

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

Да я не спорю, на счет типизированных языков.) Сам для хобби под Android на Java пишу. Очень все хорошо.

Проблема TS в том, что он все равно транслируется в JS. Если бы JS выкинули и оставили бы TS, то да, мы бы зажили.

С PHP тоже самое, но только отъявленный быдлокодер сможет тип переменной на ходу поменять.

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

Если бы JS выкинули и оставили бы TS, то да, мы бы зажили.

wasm же.

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

С иглы PHP уже не слезть, в ближайшие 5 лет точно, да и он развивается гораздо динамичнее всех.

Вон когда был PHP до 5.4 был редким говном и у той же Java были шансы занять нишу сайтов визиток, но нет - момент упущен.

А конкурентов больше нет. C#? Привет MS. Python? Те же яйца. NodeJS? Ахахаха)

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

Когда мне нужен фронтэнд, я использую TypeScript и мне легко.

Shadow ★★★★★
()

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

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

Из последнего я писал на Mono, Vala.

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

bread
()

Перейди уже на HTML5.2/CSS3/JSF2.3. Что мешает?

Для JSF есть больше 100 компонентов PrimeFaces.

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

Ненависти пост

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

Проблема не в этом. И даже не вполне в том, что программки, что вы пишете, — они *несвободны*.

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

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

Как до такого вообще можно додуматься?

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

Немного неадекватно, к сожалению.

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

Мне вот 25 и то мимо меня уже прошли: Backbone, Grunt, Gulp, Webpack, jQuery, Vue, ExtJS, Less, Stylus, Angular 1, NodJS + npm,yarn.

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

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

ибо там хоть до какой-то степени люди думают о backward compatibility и стабильном API

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

Хотя да, React и ReactNative напрямую сравнивать это нувыпонели, но как-то по иному не получается.

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

Да и та же Java?

Это там где if (str1 == str2) ВСЕГДА выдает false? И для сравнения строк по значению нужно использовать if (str1.equals(str2))?

Энжой йор статическая типизация в Джаве.

YogSagot ★★☆
()

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

ptarh ★★★★★
()

ES2015, он мне зашел с первой минуты, но какой от него толк, когда браузеры его не поддерживают

Толк в том что тебе комфортнее разрабатывать, а уж пользователям, проверь, совсем без разницы, крутится у них es2015 или es6, разницы нет.

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

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

Толк в том что тебе комфортнее разрабатывать

Babel и Webpack с понятием «комфорта» как-то не сильно ассоциируется, IMO.

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

Собственно, я у себя на виртуалхостинге нештатными средствами обновлял Node.JS до v9.2.0 именно потому, что он поддерживает уже некоторые фичи (далеко не все) от ES2015 без необходимости использовать бабеля. Потому что для меня были критичны те, что поддерживаются, и я вполне могу приспособиться к отсутствию тех, что не поддерживается.

Это исключительно и только чтобы бабеля на бэкенде не водилось.

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

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

ptarh ★★★★★
()

А пока у нас кучка deprecated технологий, велосипедов и фреймворков.

Дык не используй их. Серьезно, вот если сейчас взять какой-нибудь там jquery (да или самый что ни на есть обычный js), фигачить plain-скрипты в блокноте (то есть никаких сборщиков и прочей лабуды) - что фактически ты не сможешь сделать? Используя чужие инструменты - будь готов жрать всякие косяки и в итоге оказаться без поддержки, это плата за то удобство, которое они могут дать.

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

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

#======

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

И напоследок

В 2015 году мы делали B2B сервис на связке Yii2 + RabbitMQ + Angular 1. И какая там версия ангуляра уже? 4я? А первая уже рипнулась. А прошло 3 года!

А не пофигу ли? Сделали, оно работает? Что тогда париться?! Либы, внезапно, и для десктопа обновляются, и для бэкенда, и редко когда гарантируется прям полноценная обратная совместимость, когда ты можешь обновить свои компоненты и ничего не менять, при этом за счет стараний разработчиков тулзы твой проект станет лучше. Почему вдруг в случае фронта это все вызвало недовольство?

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

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

А это мартиролог. Для попадания в него достаточно быть мертвым.

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

Энжой йор статическая типизация в Джаве.

Это не имеет ровно никакого отношения к статической типизации. Просто String - ссылочный тип; если используешь Java, обычно это знаешь.

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

Да обходись, конечно, кто ж против. Вот только ты попытался плюнуть в язык, который не осилил, и обосрался.

hippi90 ★★★★★
()

С# + WPF/WinForms (Mono), Java, Qt, Vala для GTKшников

Ахах. Глупыш, сравнил деревянные десктоп-онли тулкиты с вебом. Веб, по сравнению с ними на порядок продвинутее. Когда сделают что-то уровня веб, но не корявое - тогда и можно будет сравнивать

но я жду момент, когда просто удалю этот webpack и у меня все работает из коробки в современных браузерах

Для своей хоумаги может и удалишь. А для рыночка будь бобр из сотен файликов склей один, потряси деревом и минифицируй. В стандартах ES2015 и HTTP2 подобных махинаций не предусмотрено. Так что прекрасного будущего не наступит никогда

А пока у нас кучка deprecated технологий, велосипедов и фреймворков

React вышел 5 лет назад. Angular - 8. Рыночек окромя них ничего другого считай не переваривает. Laravel вышел 6 лет назад

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

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

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

Посмотри в сторону Elm.

Unununij ★★★★
()

Меня умиляют люди, которые думают запрыгнуть во фронтенд за три месяца, ага

Согласен, это глупости.

Месяца достаточно, если до того с JS активно работали.

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

Веб, по сравнению с ними на порядок продвинутее.

Разве? Ну возьмем допустим Qt + QML (не знаю разные ли это технологии). Чем же веб продвинутее?

linuhs_user
()

Возможно я имел дело с плохим fe девелопером, но по сути от fe кроме того, чтобы запилить с помощью всяких js хаков и сss (что я вижу гораздо реже) так как нарисовал дизайнер ничего не требуется, а код там такой, что если какой-то скрипт не загружается, то рендеринг страницы ломается и прочий хардкод. Зато выглядит все везде одинаково, и в общем выглядит как кусок глянцевого журнала с рекламой. И да самое главное, нужно страницу сжать, а то что-то там 90% можно было просто на html и сss, да вообще зачем это нам, мы лучше будем вид js растягивать. Но зато и правда везде одинаково смотрится.

anonymous_sama ★★★★★
()
4 мая 2019 г.
Ответ на: комментарий от YogSagot

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

runtime ★★★★
()
12 июня 2019 г.

И какая там версия ангуляра уже? 4я?

Восьмая :)

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