LINUX.ORG.RU

Почему системы сборки для сайтов такие убогие?

 ,


0

3

Grunt. Gulp. Пробовал их. Убожество, как оно есть. Конструктор а-ля make.

Вот в Java я без всяких дополнительных настроек в maven создаю проект и он умеет его компилировать, собирать jar-архив, прогонять тесты, создавать архив с документацией. Наверняка ещё что-то умеет, что мне никогда не было надо.

Пишу я модерновый сайт. HTML5, CoffeeScript, Less, React, все дела. Минификация, мап-файлы, ну всё как у ребят. Я не в 90-х, мне надо, чтобы в браузере всё обновлялось в ту же миллисекунду, как только я сохранил, ну и без перезагрузки страницы по возможности. Я зря макбук покупал что-ли? Пусть пыхтит всеми ядрами.

Что же я вижу? Чтобы на этих ваших грунтах и гульпах сделать то, что мне надо, мне надо упарываться жаваскриптами, егойными доками, плагинами несколько дней. У меня билдскрипт получается больше, чем весь мой сайт! Я за 10 лет программирования джавы мавен знаю хуже, чем я узнал этот ваш гульп за один день пытаясь написать скрипт для абсолютно банальных вещей.

Собственно что мне надо: OPINIATED (то бишь за меня там решили, по каким каталогам мне надо разложить исходники, какой системой модульности мне пользоваться, и тд и тп) система сборки, которая просто работает и даёт всё, что может пожелать разумный человек, из коробки без всяких плагинов и настроек. Я хочу писать сайт, а не конфиг билд-системы.

Есть такое?

★★★★★

нужна большая кнопка «Сделать ЗА@#$СЬ!»

fxd

anTaRes ★★★★ ()

Legioner ★★★★★  любитель айпедиков от Apple

угадал автора по содержанию

по теме: тебе нужен Wordpress

а вот

за 10 лет программирования

пора бы уже знать, что всякие там

CoffeeScript, Less, React

УГ

reprimand ★★★★★ ()

Я за 10 лет программирования

А я за 20 лет программирования и 13 лет разработки научился отличать программистов от говноедов.

за меня там решили
хочу писать сайт, а не конфиг

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

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

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

Legioner ★★★★★ ()

Вот в Java я без всяких дополнительных настроек в maven создаю проект и он умеет его компилировать

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

Пишу я модерновый сайт. HTML5, CoffeeScript, Less, React, все дела.

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

Как так может быть, в самом деле?

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

Это что из упомянутого находится в стадии бета-тестирования?

HTML5 — «живой стандарт»: возможно, некоторые из фич, которые ты используешь, ещё не устоялись. ReactJS, Grunt и, собственно, node.js ещё не выпустили версию 1.0. Да ещё у них зависимости есть, которые тоже не факт, что все до версии 1.0 дошли.

proud_anon ★★★★★ ()

без перезагрузки страницы

ты про цсс, картинки и js- модули?

anonymous ()

сборки
в ту же миллисекунду

Пиши голые пыхпых скрипты.

Deleted ()

gulp шикарен и unix-way

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

umren ★★★★★ ()

У меня для этого вотчмен натравлен на проект, остальное убого. Грунт фтопку.

ya-betmen ★★★★★ ()

Потому что разрабатывать на жс без страданий невозможно.

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

Вот если бы они на C были написаны, тогда другой вопрос.

пора вызывать царя значит

umren ★★★★★ ()

Первый раз? Есть такое. Пред написанием фронтенда ты пердолишься с его сборкой, зато потом оно собирается в один клик/автоматически. Ну, а вообще на кой ляд ты обмазался препроцессорами? Ты хочешь еще по ним доку читать и плагины наворачивать. Конкат/минификация делается парой строк, зачем ты себе создал проблемы?

ritsufag ★★★★★ ()

OPINIATED

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

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

на кой ляд ты обмазался препроцессорами?

Поддерживать большой CSS без препроцессоров довольно печально.

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

Из конкретного могу посоветовать brunch.

Спасибо, похоже как раз что я искал. Есть луч света в тёмном царстве.

Legioner ★★★★★ ()

Есть yeoman с кучей готовых генераторов.

holuiitipun ()

Пишу файлы в стиле Module Pattern

@

Собираю через «cat m1.js m2.js > app.js»

В последнее время вообще ничего не собираю. Загрузка полсотни js-файлов - ничто, по сравнению с загрузкой одной хилой картиночки

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

CoffeeScript

А для него автодополнение есть вообще? А то я как-то глянул и грустно стало, решил, что уж лучше тогда TypeScript.

Deleted ()

чуваг, как я тебя понимаю.

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

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

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

ну он как раз и хочет точно также только для html+js+css. грусть-тоска но ввиду дикого разнообразия составных частей пока что универсального решения не предвидистя.

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

на чём же вы css пишете, батенька?

крайне странный вопрос

Звучит примерно как «на чем же вы php пишете»
Мне сказать текстовый редактор в ответ, верно?

reprimand ★★★★★ ()
Последнее исправление: reprimand (всего исправлений: 1)
Ответ на: комментарий от orm-i-auga

jar или war или еще какой-нибудь -ar

anonymous ()

Зачем это все? Пользуемся Jenkins+Ant+тулзы для минификации и горя не знаем, да.

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

HTTP-соединение передаёт только один файл за раз. Для каждого файла делается отдельный запрос.

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

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

HTTP/2 это пока ненаступившее светлое будущее.

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

Перезапустил телефон, зашел на сайт со своим проектиком из 25 js-файлов за 2 секунды. Чешу в затылке

HTTP-соединение передаёт только один файл за раз

Даже всемогущий nginx не умеет лить файлы по одной трубе? Я-то сам не проверял, принимал на веру: в заголовке от хрома же написано keep-alive

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

Даже всемогущий nginx не умеет лить файлы по одной трубе? Я-то сам не проверял, принимал на веру: в заголовке от хрома же написано keep-alive

Имеется в виду очерёдность передачи файлов.

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

А я всюду читаю про то как браузеры создают 6-8 постоянных соединений и сосут всё через них

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

Про http2 я в курсе. Работы над стандартом HTTP/2 завершены Только когда он будет.

Да и про остальное. Keep-alive проблему не решает. Кеш он и в Африке кеш.

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

Почему?

хотя бы потому, что настройки клиента влияют на keep-alive

Wat beteken dit?

Ты не можешь быть уверен что и как браузер положит в кеш. +Legioner выше уже сказал про мобильные браузеры.

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

Начали за здравие («Полсотни http запросов») закончили за упокой (некие «настройки клиента влияют»)

Не убедили. Пока останусь при своем мнении. Будет время - склею все файлы и сравню скорость появления страницы в телефоне.

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