LINUX.ORG.RU
ФорумTalks

Три вопроса для флейма. Но про WEB.

 , ,


1

2

1. Если React.js такой быстрый, то почему facebook.com такой тормозной? Выглядит так, будто он DOM перманентно переписывает.
2. Если CDN ускоряют загрузку библиотек, почему 90% времени загрузки любого сайта я вижу в статус-баре поочерёдное ожидание ответа от разных CDN??? Слава Богу, счётчики и реклама вырезаны адблоком.
3. Я вот собираю css с помощью libsass и т.п., все js и css собираются на сервере при обновлении питоновыми модулями, основанными на сишных либах. Регулярно читаю стоны фронтендеров, как им тяжело пересобирать каким-то gulp'ом или webpack'ом весь сайт. Это что, жабоскрипторы так боятся испачкаться не-дай-боже технологиями, отличными от их жабоскрипта? Не дай бог воспользоваться чем-то, написанном на сишечке?

Чёрт, ещё четвёртый вопрос про ангуляр.

Если 1.3 быстрее 1.2, а 1.5 быстрее 1.3, а 2 вообще самолёт, то почему на телефонах только 1.2 в связке с ui.bootsstrap и ionic НЕ ЛАГАЮТ? Все более лучшие лагают как пятый андроид на 512к памяти, и кому тогда эта синтетическая «скорость» нужна?

★★★★★

Последнее исправление: Shadow (всего исправлений: 4)

Если React.js такой быстрый, то почему facebook.com такой тормозной?

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

Valeg ★★★
()

КАКАЯ СИШЕЧКА В ВЕБЕ?! НА ДВОРЕ 2017 ГОД!!! Засунь сишечку в микроконтроллеры, но даже там она не нужна!!! Кококок!

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

Ты, наверно, и парсер регэкспов с нуля пишешь на JS?
Я просто вызываю либу на Си. Как GD или ImageMagick в php. Но нет, фронтендеры как святой воды боятся всего, что не на JS.

Shadow ★★★★★
() автор топика

Если React.js такой быстрый

Он не быстрый. Он быстрый по сравнению с Angular 1. Во многих случаях ещё и по сравнению с кучей jQuery-лапши.

CDN ускоряют загрузку библиотек

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

Это что, жабоскрипторы так боятся испачкаться

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

почему на телефонах только 1.2 в связке с ui.bootsstrap и ionic НЕ ЛАГАЮТ?

Сравнение проводилось на одном и том же проекте на одном и том же объёме данных или балабол?

b-adblack-
()

Если CDN ускоряют загрузку библиотек

Это правда? Я стараюсь его не юзать обычно... В редких случиях.

Регулярно читаю стоны фронтендеров, как им тяжело пересобирать каким-то gulp'ом или webpack'ом весь сайт.

Да лан, один раз написал сборку и все нормально. Не знаю кто там стонет даже...

FIL ★★★★
()
Последнее исправление: FIL (всего исправлений: 1)
Ответ на: комментарий от b-adblack-

На демочках ui.bootstrap разных версий и ionic.
А на своём проекте я много данных в памяти клиента не держу, всё лишнее обнуляю (привычка с Си, да. Но часто помогает).

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

фронтендеры как святой воды боятся всего, что не на JS

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

b-adblack-
()

Если React.js такой быстрый

Быстро никогда не рекламировалось кор девелоперами

почему facebook.com такой тормозной

Ты кроме фб и лора сайты не посещаешь чтоле?

libsass

https://github.com/sass/node-sass

как им тяжело пересобирать каким-то gulp'ом или webpack'ом весь сайт

А чем бандлишь js? Сколько файлов?

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

Это что-то реально очень очень очень большое. Я такого никогда не встречал, разве что ts долговато собирается...

FIL ★★★★
()
Ответ на: комментарий от b-adblack-

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

У меня так scss, jade/pug и сборка js проекта. За всем следит веб-сервер, который это кеширует и меняет при обновлении. Все сборки - питоном и через сишные либы.

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

который это кеширует и меняет при обновлении

Ну в гульпе-то ватчер есть. И даже можно автообновление прикрутить через BrowserSync. Но сборка происходит не моментально.

b-adblack-
()
Ответ на: комментарий от Shadow

За всем следит веб-сервер, который это кеширует и меняет при обновлении.

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

Видимо, мало - всего 24

Мало, да. Типичный среднеразмерный моднявый проект с зависимостями из npm это наверное 1-2k файлов (только реакт где-то штук 200 файлов).

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

Сам от мира js далек, но когда я впервые увидел, что у нас контейнеры с java мидлом с прогоном кучи тестов собираются быстрее, чем фронт раз в 10, я был, скажем так, в недоумении. Может ярлыки всё-таки неспроста вешают. Хипстота требует жертв? Всё руки не доходят посмотреть, что там у них все эти 15 минут сборки происходит.

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

Можно и готовый (к слову тем же конфигурированием вебпака), но это когда у тебя три зависимости это ок, а когда у тебя их 20-30 и не для всех имеет смысл включать все файлы, то жонглировать этим не оче приятно.

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

По-моему, их gentoo покусал.
Я бы сначала один раз сбандлил зависимости, а потом бы работал.

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

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

zz ★★★★
()

Не ответы на вопросы, но ещё наброс для срача:

1. JS не может быть быстрым и не жручим просто по определению, вне зависимости от реализации.

2. HTTP/HTTPS/HTTP(s)2 = ненужно.

3. WEB в текущем централизованном виде = ненужно.

4. Быдлокодеры фреймворков в сговоре с производителями мобильного железа и ОЗУ. 8 ядер и 4 гига оперативы в телефоне нужны только чтоб фейспук не тормозил.

5. CDN = велосипед, надо нормальный анонимный P2P с тотальным шифрованием.

StReLoK ☆☆
()
Ответ на: комментарий от b-adblack-

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

Shadow ★★★★★
() автор топика

1. Потому что нет.
2. Потому что передавай привет роскомпозору.
3. Да.
4. Потому что хипстоговно.

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

Например, http://www.codelord.net/2015/06/20/simple-pagination-and-url-params-with-ui-r...
Какая разница, будет страница пажинатиться по скроллу, или по клику.
ДОМ шатаю, да, но за счёт небольшого количества элементов, ленты фэйсбука не будет.

Shadow ★★★★★
() автор топика

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

sholom
()
Ответ на: комментарий от b-adblack-

Ну да. Пажинация, всё такое. DOM меняем только при скролле или пажинации раз в несколько секунд, и не кидаем туда тяжёлый контент, а то, что промотали - удаляем (чтоб память освободить).

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

О как.

Тогда всё понятно, найти best practices в мире фронтенда почти невозможно, но они есть.

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

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

Наверное причина та же, как у тех кто на пересборку стилей плачется - руки из жопы.

Vit ★★★★★
()

Хипсторы и говнокодеры, сэр.

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

Благородя заботливым mail.sru скоро вк окажется в разы прожорливей чем мордокнига

И лишь амиго спасёт хомячка с компьютером из топ-100 под ногами.

h578b1bde ★☆
()

1. Рякт быстрый не для пользователей, а для разрабов. Он позволяет кодить сайты с жирной мордой быстрее

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

3. Жабоскриптеры привыкли к хорошему, и сборку аж в целых десять секунд считают концом мира. А ты всё еще продолжаешь по десять минут ждать, пока твой C++ соберется на самом топовом Kabylake компутере, и считаешь это нормальным?

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

Я лишь о количестве зондов. И да, меня скорость фронтенда не очень беспокоит.

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

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

Goury ★★★★★
()

1. Потому что Фейсбук не на Реакте.

2. ИМХО изначально сомнительное утверждение.

3. npm умеет собирать пакеты с нативными зависимостями. Стонут же фронтендеры потому что не осилили (про make и cmake тоже есть стонущие). Кстати node-sass — обёртка над libsass, так что мимо.

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

1. Как раз пишу проект на react+graphql+relay. Тупит оно безбожно. Пока еще надеюсь что когда дойдем до этапа тестирования и оптимизации - то возможно пропустили какие-то компоненты и они постоянно перерисовываются.
2. цдн с ближайшего узла тебе тянет, сокращает время
3. собираю вебпаком, т.к. проект на nodejs то и вебпак сразу в комплекте и не нужно никаких других библиотек
4. хз

kiotoze ★★★★
()
10 сентября 2018 г.
Ответ на: комментарий от bytecode

это нодовский ад из зависимостей. взять тот же webpack там куча библиотек из 10 строк, например, какая-нить isPlainObject, которую можно заменить одной строчкой Object.prototype.toString.call(o) === '[object Object]', еще всякие библиотеки для парсинга JSON штук 5 разных (чем встроенный парсер не устраивает не ебу), они написаны все криво... Да и сами исходники ноды если взять там полно долбоебизма. Короче куча говна.

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