Комментарии 92
А в России всё тот же, что и в 2000-м.
В 2007 году нормальных онлайн-банков не было в принципе. Можно было либо поставить декстопное приложение, которое не отличалось юзабельностью, либо ходить пешком в отделение для любой операции.
В принципе такая альтернатива есть и сейчас. Но я лучше не пожалею лишний гигабайт памяти, чем пойду пешком в отеделение.
Про то что даже хабр не открывается странно. Здесь вроде нет сложных скриптов и стилей, просто текст.
Попробуйте на том ноутбуке еще раз в Doom 3 поиграть. Может быть он тоже уже не так сносно играться будет, из-за того что железо в ноутбуке физически устарело и не выдает такую же производительность, какая была в у него нового.
Неделю-полторы назад даже моя основная система (AMD FX-4100 и 4 Гб ОЗУ) висела при заходе на хабр: стоило открыть пару страничек и firefox висел наглухо. Попросил коллегу зайти, как у него из-под gentoo будет. У него не висло, но одна страница — один гигабайт ОЗУ минус. :) Что это было, непонятно. Сейчас всё работает нормально.
После 52 у них там и значительные оптимизации в потреблении памяти были, и движок начал новый приземляться и более-менее приземлился в 57, хотя доработки продолжаются. Сам браузер стал раза в два быстрее работать и раза в два меньше жрать при этом.
Естественно это всё крайне благоприятно отразилось при запуске новой версии на старом железе. 52й же и ниже и на новом трудно пользоваться без мата.
Не знаю, как с файрфоксами выше последней ESR, там что-то перепиливали с webextensions — опять, наверное, всю оптимизацию поломали. С Pale Moon (32-бит) всё ок.
В 2027 году 1 Тб памяти будет продаваться в магазине и будет стоить столько же, сколько сейчас стоит 1 Гб
И вы этот 1 Тб памяти просто не сможете заполнить никакими данными, настолько это будет черная дыра.
Поэтому о количестве памяти и не нужно заморачиваться. Она стоит копейки.
Сейчас 1 Гбайт памяти стоит столько же, сколько 1 Мб памяти стоил в 2007 году
В смысле? В 2007 1 ГБ стоил раза в 4 больше, чем сейчас. Но никак не как 1 МБ.
Поэтому о количестве памяти и не нужно заморачиваться. Она стоит копейки.
К сожалению, к устаревшим системам память стоит не слишком дёшево (512 МБ стоит на Юноне около 1000 рублей) и слотов там всего два.
Десктоп — даже на Норзвуде у меня материнка с 4 слотами памяти — по 1 ГБ DDR точно поддерживают. Правда сейчас в материнки могут ставить только 2 слота (зато модули по 16 обещают поддерживать).
Может тогда врачам говорить: ну подумаешь, погибнет один, они ещё нарожают. Вон в 2030 году будет уже 8 миллиардов, а к 2100 больше 10…
Но с точки зрения фронт-энда сайт банка — это просто формочка, а всё остальное — это свистелки и перделки.
Допустим возьмём форму перевода денег с карты на карту:
Что происходит на клиенте:
1. Пользователь вводит логин-пароль (+ двухфакторная авторизация где это применимо). Это просто формочка, которая дёргает сервис авторизации.
2. Пользователь видит список счетов — просто данные отображающая данные с сервера (т.е. при открытии страницы — получен json пакет и отображен на экране.
3. Пользователь выбрал счёт и выбрал «Перевести деньги» — GET запрос на отображение другой формы
4. Пользователь ввёл получателя, указал сумму. (Возможно сработала инлайн валидация, т.е. ещё пара запросов к серверу)
5. Пользователь нажал кнопку «Перевести» (отправка формы POST запросом, перенаправление на страницу с результатом)
Где тут что-то большее чем просто формочки?! Вся сложность онлайн-банкинга — она на сервере…
Доработки и разрастание функционала — это те вещи от которых никуда не убежишь. Но опять-же они большей частью происходят на сервере. Для клиента доработки сводятся к добавлению новых полей / форм или добавлению новых вызовов сервисов. И если запросы к сервисам оптимизированы и отправляются только нужные данные, то на производительность это не сильно влияет.
Другое дело, что заказчики часто хотят добавить на сайт всяких визуальных выкрутасов вроде анимации, баннеров, видео и прочего мусора. Вот это чаще всего и убивает фронт-энд и его производительность. А если сосредоточиться на полезном функционале, то можно сделать удобно и функционально и при этом уложиться в десятки-сотни килобайтов на страницу.
Допустим пользователь отфильтровал данные на странице. Сформировался запрос на сервер, сервер вернул 25 строчек с данными (пара килобайт) + информацию для пагинации и прочих (ещё 5 килобайт). Возможно нужно обновить связанные формы (ещё 20 килобайт данных). Отрисовка такого объёма данных не должна быть очень тяжёлой для браузера. Конечно, если у вас SPA, двухсторонний байндинг и прочие прелести, то пересчёт связанных значений может вылезти в проблему, но если у вас простейшие ajax запросы и jQuery, то всё будет работать довольно быстро. Хотя даже с довольно медленным Knockout.js не испытывал проблем на таком объёме данных при использовании двухстороннего байндинга.
Мы пишем наш код в десктопных приложениях, которые запускают браузер, который показывает текстовое поле.
В 2007 году если у тебя появлялся интернет быстрее 64 кб/с то ты прямо ощутимо чувствовал как всё начинает летать.
А современный веб дико тормозит даже на скоростных каналах, и этого никто не замечает. Кажется никто не видит как Фейсбук загружается по 2-4 секунды на гигабитном канале и компьютере с 16гб памяти и core i7 даже если он уже прокеширован, и какой ад Firefox с выключенным электролизом. Некоторые сайты порой загружаются так долго, что я не дожидаюсь их загрузки вовсе.
Даже shutterstock, который писался людьми которые ценят скорость начал тормозить. Потому что 5 сторонних либ для трекинга и сотни действий при загрузке каждой страницы не могут работать быстро.
Airbnb, booking.com и Linkedin это примеры того, что тормозить будет всегда и на чём бы вы это не запустили. В моём хитпараде правда лидером является ps4 store которая может загружаться до 20 секунд без малейшего стеснения. Но даже при этом каждое нажатие по ссылке вешает браузер минимум на 1 секунду.
Для того чтобы написать hello world нужно столько библиотек, что для этого на Хабре отдельный пост писали!
Достаточно сравнить скорость работы Фейсбука и ВКонтакте
Что делают многие современные сайты, и КАК МОЖНО ТАК ДОЛГО ЗАГРУЖАТЬСЯ, мне вообще непонятно :)
На прошлый НГ, я силами билайна остался с интернетом в 10 килобит, за эту неделю я проклял все новомодные технологии построения сайтов. Грузилось хоть как то, что старалось следовать той же передигме минимализма потребелния ресурсов. Новомодные СПА не работали все как один, на таком канале просто не возможно прогрузить все то, что этому надо для работы.
В общем у меня с тех пор немного подгорает, на эти ваши модные технологии, без оглядки на пользователя. Ради модной штучки и новомодного веенья в дизайне вы запросто можете сделать сайт не рабочим у части пользователей.
Сейчас пытаюсь донести банку олега, что сворачивающийся список счетов на сайте сделан убого и заставляет совершать лишние телодвижения, либо вообще провоцирует делать то, что не собирался. И исправить в общем то просто, не надо менять вертикальное положение элементов при изменении ширины. В ответ слышу, только вздохи, о том, что я ничего не понимаю и это офигенная супер технология адаптивной верстки. Они просто не способны в своем 2017 понять такую простую вешь.
В общем спасибо, но нет, если бы у меня был выбор я бы предпочел интернет на технологиях и подходах 2007.
Даже если взять какой-нибудь мобильный невероятно медленный 1 мбит/с, это 100 раз разницы. Обновите уже ваш интернет.
Ну и подскажу, если бы 10 кбит была бы юзабельной скоростью, и за неё можно было бы не платить, оператор тут же уменьшил бы эту скорость в 10 раз. В том то и фишка, что за бесплатно вам предоставляется только совсем неюзабельный интернет. Кто-то же должен оплачивать коммуникации.
В общем, по-вашему, из-за 1% пользователей, которые не заплатили за интернет, должны страдать остальные 99%, получив более плохую версию сайта. Конечно я не говорю, что сайт должен весить 10 МБ, но веб-версия до 1 МБ в сжатом виде — нестрашно. У Вас бы такая страница грузилась 14 минут, а у обычного пользователя с небыстрым интернетом пол секунды.
Вот в моем случае была тупо авария, а из за того, что НГ в нашей стране это 10 дней, то 10 дней я был вынужден пользоваться тем, что есть. Иногда я бываю в таких местах где мобильная связь настолько плохо работает, что скорость падает до тех же килобайт в секунду.
Вот поэтому я и считаю современную web разработку бездарным занятием, в большинстве своем. 1 МБ это гигантский объем данных, и то, что вы вынуждены делать не меньше, это не прогресс, это позор технологий.
что вы вынуждены делать не меньше
Я написал «до 1 МБ», а не «от».
Вы просто не представляете, себе интернет с такой скоростью, да?
Если у кого-то реально такая низкая скорость, как вы говорите, то им лучше пользоваться мобильными версиями сайтов — они как раз и должны меньше весить.
Если и этого не хватает, то получается, разработчики из-за маленького процента пользователей должны либо делать три версии сайта (что экономически не выгодно), либо сами эти версии должны быть хуже качеством, что повлияет на всех пользователей даже с быстрым интернетом.
Либо разработчики должны тратить больше сил на попытки сжать мобильную или обычную версию, пожертвовав качеством кода. Это тоже бред. Конечно это не значит, что стараться экономить не нужно вообще, но из-за 5 байт идти на не пойми какие жертвы — глупо. Экономия нужна почти всегда, но в меру.
НГ в нашей стране это 10 дней, и 10 дней я был вынужден пользоваться тем, что есть
Ох, а если бы вам вообще интернет обрезали на 10 дней, вы бы также говорили бы, что сайты должны грузиться и без интернета? Это авария, в случае аварии оно и не должно работать нормально.
Иногда я бываю в таких местах где мобильная связь настолько плохо работает, что скорость падает до тех же килобайт в секунду.
Ну это уже скорее претензия к связи, а не к сайтам. Впрочем, Вы всё-равно можете пользоваться приложениями: мессенджерами, оффлайн-картами, поисковиками и т. д. — это всё сэкономит трафик.
Я знаю не одного, веб программиста, причем позиционирующихся как очень сильные и знающие, которых стявят в тупик простые вопросы, о том, что происходит в их коде. Ну типа я тут вот в массивчике написал и оно работает, бинго!
Перекладывать проблемы с криво сделанного сайта на сеть, это как заявлять, что в том что авто жрет непомерно бегнзина, виноваты нефтекомпании.
позиционирующихся как очень сильные и знающиеСильный и знающий программист не будет использовать фрейворк, который для создания сайта не нужен. А перед тем, как взять фреймворк, он как минимум посмотрит, сколько он весит и как быстро работает (а вес, кстати, косвенно влияет на скорость инициализации). Конечно 10-килобайтный сайт Вы вряд ли получите, но см. мои ответы выше (хотя если это сайт, а не приложение, то может и получите — вначале загрузится html, а остальные плюшки догрузятся после этого).
Фреймворки суммарным объёмом до 50 КБ в сжатом виде — это норма. Выше — смотря что за проект. Лично я не думаю, что фрейморки будут составлять большую долю в проекте, если этот проект большой. Скорее уж собственные файлы. Я бы больше волновался, чтобы фрейворки не замедили саму работу сайта.
препроцессор похайповееПрепроцессор не увеличит размер и не замедлит сайт. Например, пропроцессор может добавить много префиксов в css, но они хорошо сожмутся минификатором. Или о каком именно препроцессоре Вы говорите?
когда 99% того, что загружается, разработчик даже не знает как работаетВы сами сейчас признали, что когда размер раздут — это вина разработчиков сайтов, а не технологий. И это абсолютная правда. Технологии тут не при чём — если разработчик неквалифицированный, сайт может весить сколько угодно. Так есть сейчас, так было и 10 лет назад (просто случалось реже, но не отказываться же из-за этого от технологий вообще, из-за того, что кто-то использует их неправильно).
Конечно же, из-за развития технологий, размер сайтов вырос даже в случаях, когда всё делается правильно. Но жаловаться на что-то с интернетом менее 1 Мбита — глупо. Приведём примеры загрузки на медленном интернете 1 Мбит, когда сайт сделан нормально:
- 50 КБ — лёгкая страничка. Загрузится за 0.4 сек.
- 100–200 КБ — обычный сайт без учёта картинок. Редко обычные сайты будут большего размера. Загрузится за 0.8–1.6 сек. Вполне приемлимо для такого медленного интернета.
- 500 КБ — сайты с большим количеством скриптов, стилей и графики. Это крупные и средние проекты. Загрузится за 4 сек. Медленно, но для такого инета пойдёт.
- 1 МБ — верхняя планка для крупных проектов. И даже такой сайт на таком интернете загрузится за 8 секунд.
в питере в час пик в центре из 4G удается выжать какие то совершенно скромные сотни килобитА я не говорил, что мобильные версии сайтов не нужны. Те цифры, которые я назвал — это для обычной версии.
Для мобильной верхней планкой я бы назвал 200 КБ. Если у вас скорость проседает до 200 кбит, то такая страница загрузится за 8 секунд. 100 КБ загрузятся за 4 секунды. 50 КБ за 2 секунды.
без принудительного перенаправления на полновеснуюА такое часто бывает? Если бывает, то да, это нехорошо, но юзер-агент решит проблему.
А что для вас плохая версия сайта?
У меня тут эксельчик в 30кб. Без каких-либо оптимизаций размера, кроме стандартного сжатия. Вы правда думаете, что форма интернет-банка на порядок сложнее?
подтверждаю, это так, интернет в 10килобит может быть много где, особенно много я его видел в Японии. Половина сайтов вообще не работает, и далеко не маленьких сайтов, сбербанк, апловские сервисы, гугл драйв и тд.
Вот что ещё сильно бесит дак это таймаут на загрузку страницы — если например сбербанк за минуту не открылся — останавливает загрузку и показывает ошибку. Зачем замарачивались и делали такое идиотское ограничение непонятно, и таких сайтов всё больше и больше.
Картинки, виджеты и сторонние запросы добавляют к этой цифре 2.1 МБ (100 КБ при повторном перезаходе). Большинство этой инфы — это картинки, но с ними ничего не поделаешь, т. к. их много в самой статье и в качестве аватарок в комментах, т. е. это не тот случай, где картинки можно убрать. Но конечно же, их можно отключить в браузере.
ещё несколько лет назад возмущался веб2.0 и прожорливостью браузеров и программ. на что знакомый программист сказал — нищеброд, нечего пользоваться старым железом.
что, сидишь на dial-up (а в регионах всё ещё сидят)? — нищеброд, не для тебя богатый мир технологий. комп 2007 года (core2duo, 4гб памяти) тормозит в при работе в интернете? тоже нищеброд, купи себе уже нормальный. монитор 1280х1024? лох, купи уже фуллхд.
в общем, моё ИМХО — современных разработчиков и тестеров нужно сажать не на топовые i7 с двумя-тремя огромными мониторами, а на третьи пеньки с квадратными мониторами. чтоб одни программировать учились, а другие проверяли работу этого ПО так сказать в реальных условиях. а то привыкли панимаш к фреймворкам и явамашине..
да, тоже слегка подгорает от "технологий".
разработчиков и тестеров нужно сажать [...] на третьи пеньки с квадратными мониторами
чтоб проверяли работу этого ПО так сказать в реальных условиях
В пределах моего круга общения, тестировщики обычно и сидят на более-менее типовом железе. Не третьи пеньки (их разве что в политехническом музее можно найти в 2017), но самое дешевое железо из доступного.
А еще наблюдая за комментариями в к этой статье, я заметил одну закономерность: какое бы слабое железо у тебя ни было, найдется другой комментатор, у которого машина еще слабее, и все безбожно тормозит (при этом отвечать на комментарии в этом самом треде у него производительности хватает).
А так — да, потерянные 10 лет получается…
Поставьте себе расширение, которое меняет UA, и получите то, о чём сейчас написали.
жду вторую часть с нетерпением.
1. ПК железо 2007 года в 2017 по прежнему актуально для веба и можно не обновляться минимум до 2018, так как все те же 64 бита, многоядерность, вебгл версии 1, композитинг через DirectX 10, Direct2D, аппаратное ускорение видео H264, DirectWrite — это всё вытягивает железо 2007 года. Более того, только-только в вебе подходят к раскрытию потенциала старых видеокарт и процессоров. Прогресс в этом плане остановился в 2007 году.
2. Без блокировщика рекламы ходить в интернет стало не возможно, с точки зрения психического здоровья.
3. Блокировка неугодных сайтов и борьба с пиратством на новом уровне.
4. Ждите в гости ностальгирующих по свободному интернету путешественников во времени из 2018-2019 годов.
P.S. Хотя я придерживаюсь позиции путешествий во времени, описанной в фильме «Патруль времени», а не «Назад в будущее». Т.е. нельзя изменить будущее, меняя свои действия в прошлом (основываясь на знаниях о будущем). Т.е. то, что для путешественников произойдет, для нас уже произошло, и их действия как раз приведут их в эту (нашу) реальность. Поэтому если кто и станет миллиардером вернувшись назад в прошлое, то он уже стал им в нашем времени. А возможно именно он написал эту статью (тогда вообще вынос мозга).
Как рассказать о современной веб-разработке путешественнику во времени из 2007 года