LINUX.ORG.RU

Дискуссия: нужны ли скрипты на стороне клиента?

 , , ,


0

1

Часто сползаем в этот разговор, поэтому создаю отдельную тему.

Предполагаю проведении дискуссии. Для тех кто не в курсе (спасибо Википедии) Дискуссия – это обсуждение спорного вопроса, проблемы; разновидность спора, направленного на достижение истины и использующего только корректные приёмы ведения спора. Т.е. сообщения не аргументированные – это просто флуд.

В связи с чем этот вопрос назрел? Многих людей (включая меня), так или иначе связанных с веб-разработкой, раздражает тот факт, что WWW используется не по назначению, в частности многие современные «сайты» не могут отобразить вообще ничего без JS/WASM, потому что как таковыми сайтами они не являются. Это ужасно медленные веб-приложения, которые максимально неэффективно используются для того, чтобы отобразить тот же самый HTML / XHTML, либо решать что-либо такое для чего веб не предназначен, решать то, что по хорошему надо бы запускать непосредственно в ОС.

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

Интересно узнать ваше мнение, конструктивную критику, поддержку.

UDP: Дискуссия не удалась, можно сказать. У всех в корне разная точка зрения. Компромисс не найден.

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

★★

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

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

Я отвечаю вам с elinks. Жить можно.

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

По теме: Я вот на ЛОРе использую скрипт lorify-ng, написанный на JS, и я не представляю насколько ЛОР для меня без него станет неудобным. Кстати, почему сколько лет, а на ЛОРе нет этой функциональности «из коробки», совершенно не понимаю(для олдфагов можно сделать отключаемой).

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

Это понятно, что уже навелосипедили инструментов на базе этого стека. Тут вопрос к тем, кто первый начал м2м на нем делать. Для браузеров - не парит. Но м2м - это другая история, зачастую подразумеваямая постоянную связь. В итоге из-за хттп и его стейтлес народ пошел во все тяжкие с дрочингом ендпоинтов, которые каждый раз делают одну и туже операцию ААА.

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

Если я хочу лайкнуть текст на странице

То тебе нужно приложение. Страницы они не для этого, они для информирования.

То есть на лоре реакции перестанут работать. Либо нужно приложение для него разрабатывать.

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

Ничто не мешает сделать форму (<form> в HTML / XHTML) в которой бы отсылалась информация об оценке сообщения. При генерации HTML / XHTML нужно будет дернуть СУБД и посчитать сколько найдено записей.

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

Офигенная оптимизация.

Не понимаю в чем проблема. Это несколько десятков байт. Сервер, написанный для работы с FastCGI (например на Си++ или Java) даже «заметит» такой нагрузки, отдача статики в виде килотонн текста, картинок, видео гораздо сильнее нагружают сервер.

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

И? Тысячи перегенерируются ежеминутно. Отдавать страницу заново когда пользователь на ссылку тыкнет или когда отметку поставит. Погоду не сделает.

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

Во-первых это будет просто сайт, а не веб-приложение, а во-вторых да, это быстрее чем выплевывать 10 МБайт исполняемого JS кода клиенту, который потом еще должен будет выкачать мегабайт 20 и сам это все интерпретировать.

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

Во-первых это будет просто сайт, а не веб-приложение

Чем одно отличается от другого?

а во-вторых да, это быстрее

Пруфы?

чем выплевывать 10 МБайт исполняемого JS кода клиенту, который потом еще должен будет выкачать мегабайт 20 и сам это все интерпретировать.

Открыл отладочную панель браузера на этом сайте, нажал Ctrl+F5. 379.94 kB transferred. Где 10 МБ исполняемого JS кода?

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

Чем одно отличается от другого?

У-уууууууу. Поисковик вам в помощь.

Открыл отладочную панель браузера на этом сайте, нажал Ctrl+F5. 379.94 kB transferred. Где 10 МБ исполняемого JS кода?

Потому что здесь почти нет JS. JS тут только уведомляет о новых сообщениях, ЛОР – сайт.

Откройте веб-приложение например: docs.google.com

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

У-уууууууу. Поисковик вам в помощь.

Поисковик вам в помощь.

Откройте веб-приложение например: docs.google.com

Открыл. 8 МБ. Снова нету «10 МБайт исполняемого JS кода клиенту, который потом еще должен будет выкачать мегабайт 20».

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

Удалил кэш firefox. Открыл панель разаботчика. Открыл docs.google.com, залогонился. Смотрим:

Всего получено 17.85Mb.

Сортируем по размеру, вот самые большие:

2.75Mb - 2824546840-client_js_prod_kix_core__ru.js
2.61Mb - 2989743591-client_js_prod_kix_tertiary__ru.js
2.51Mb - 1797198593-client_js_prod_kix_app__ru.js
1.60Mb - 1162746327-homescreen_binary_i18n_core__ru.js
1.16Mb - 1884934677-client_js_prod_kix_docos__ru.js
Это в сумме: 10.63Mb.
rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 2)
Ответ на: комментарий от wandrien

действительно универсальные приложения.

Ерунда. Очередная «серебряная пуля»

Привести примеры направлений, где «действительно универсальный веб» непригоден?

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

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

Что ещё должно произойти чтоб люди поняли что интересы бизнеса не бьются со здравым смыслом даже?

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

А то детей учить не надо, больных лечить не надо, дома строить не надо. Работой никакой заниматься не надо. Сиди на пальме и соси палец. Удобно.

Или какие есть альтернативы? Назад в крепостное право? А то понаделали этих компухтеров и сидят там, пока коровы недоены.

wandrien ★★
()

https://web.archive.org/web/20120102074458/http://autonomo.us/2010/08/the-libre-web-application-stack/

The Libre Web Application Stack

By Luis Villa on August 9, 2010 7:00 AM

This post is an essay based on my talks at Libre Planet 2010 and GUADEC 2010. While not strictly about web services, it is about a strongly related topic that may be of interest to free software supporters who read autonomo.us. Disclaimer: since my last post at autonomo.us, I have become an employee of the Mozilla Corporation. I don’t feel this has tainted my views, but feel free to weigh that information as part of your analysis of this article. Relatedly, I do not speak for that employer when writing here; my words and ideas here are my own. tl;dr version: We shouldn’t throw the baby out with the bathwater. The bathwater is the ethical problems with software hosted on someone else’s server; the baby is the strength of the libre web application development stack- which may actually be the best platform for building autonomy-preserving user-oriented software.

Put yourself in 1995. I’m going to tell the you of 1995 that in 2010, there will be a software platform with the following properties:

 

  • The widget toolkit for this platform will have two independent, competitive, Libre implementations; one of those implementations will be the most widely used consumer-facing piece of free software ever, and the other one will have the support of the second and third largest software companies on earth.
  • Tens of millions of dollars a year in engineering time will go into improving those free implementations of the standard; in fact, Microsoft will spend lots of money and PR time saying ‘we’ve caught up to the libre implementations.’
  • This widget toolkit will have no vendor gatekeepers or tolls; in fact, all the biggest software vendors on earth will have attempted to disclaim patent claims against it, making it not only no-cost but also perhaps the safest free software toolkit available from an IP perspective. New additions to the toolkit will be free by default; there will be some exceptions to this but those exceptions will be bitterly contested, sometimes with huge proprietary software companies weighing in on the side of free implementations.
  • The major implementations of the widget toolkits will be extensible using a simple scripting language, making them much easier for users to customize than most (non-emacs) toolkits.
  • Free software written for this platform can be made trivially available not just to users of free operating systems but also to people on other platforms, potentially helping grow the community of free software developers and users.
  • This widget toolkit will be available on every computing platform on earth; not just PCs but also many phones and soon on TVs. If your hardware supports this widget toolkit, it immediately has enough applications that it is considered commercially viable, leading to an unprecedented blossoming of operating systems platforms, many of which are built on GNU/Linux (unlike the situation in 1995, where new platforms have no apps and so find it nearly  impossible to compete with Win3.1/95.)
  • The logic and data storage systems backing this widget framework will also be varied- there will be proprietary implementations, but there will be dozens if not hundreds of free frameworks as well, in essentially every programming language you can imagine. It is taken for granted that these frameworks run on Linux first. Among many others, the White House will use such a free framework to deliver (closed) software.
  • At the same time, because of elegant design, it is easy to swap out backends, so if you want to write backends in different ways, you can do that; in fact, people are taking advantage of this every day to write completely new frameworks with a variety of different properties.
  • A function called ‘view source’ is viewed as a key competitive differentiator in this platform; it is actually hard to close the source describing widget layout and behavior (though easy to close the backend.)
  • Millions of high school kids are taught (at least part of) this framework; millions more will have taught it to themselves using view source!
  • This platform will have been so successful that virtually every single first-world computer user will use it (in some way) every day.

At this point, 1995-you says ‘This sounds too good to be true. There must be a catch.’ There are two major catches, the second a consequence of the first. The first catch is that the default data storage architecture is distributed, and the default licensing is effectively permissive, making it expected (though not mandatory) that users are separated from both the code they run and their data. In other words, developers who use this stack are perhaps more free than they’ve ever been in the history of computing (and not surprisingly they’ve adopted it in droves)- but users often have even less control than they had when they were using traditional proprietary desktop applications. The you from 1995 would probably think that freedom-lovers would have reacted to this unfreedom by rewriting the thin layer of proprietary code sandwiched between gigantic gobs of free code, and/or by working to make the platform more amenable to local or distributed use. You might expect that they would even have embraced and extended the platform to make it even better for freedom. Instead, the second catch is that fans of freedom have largely thrown the baby out with the bathwater, ignoring (or at best failing to embrace) this rich, free platform. Instead, in a story straight out of the Innovator’s Dilemma, they’ve continued to focus on traditional widget toolkits and interfaces which lack all the benefits I’ve just listed out. It should be obvious by this point that the platform I’m talking about is HTML and the many, many application frameworks that can be used to generate it. This platform- what I’ll call the libre web application stack- is not perfect, but it has the potential to be hugely freedom-enhancing, as, for the first time, the world’s premiere software development platform is essentially libre. Therefore, I think free software advocates should be mindful of the issues with SaaS, but they should still consider writing their next app in the libre web application framework and then deploying in an autonomy-respecting way, rather than writing in a traditional framework.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 2)
Ответ на: комментарий от Nervous

Я бы не сказал, что Java`у любят как язык. Как язык она мягко говоря «не очень». (Можете посмотреть с каким пренебрежением плюсовики отзываются о джаве). Java отличная бизнес среда. Но как и любая бизнес среда она порождает легаси и выглядит кривенько относительно современных технологий. В качестве доказательств могу привести COBOL. Ужасный по современным меркам язык, но используется до сих пор в банковской сфере, причем используется именно старый код, ведь никто не рискнет заменить тот код, который уже работает, учитывая что есть риск.

Можно сделать бизнес язык лучше Java? –Можно, но никто не перепишет килотонны отлаженного кода просто так.

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

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

Какие современные технологии вы подразумеваете, и на каких языках они написаны?

Если говорить о С++, то какие бизнес-проекты, написанные на этом языке, еще не в статусе легаси? Проект, над которым работают более 5 лет, по сути уже легаси, т.к. за это время меняются: среды разработки, компиляторы, стандарты, библиотеки, и много чего еще. И естественно, править килотонны отлаженного кода, под новые тенденции мало кто захочет. Да и бизнес скажет, что накладно.

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

Я бы не сказал что пять лет это уже легаси в мире Си++. За это время успевает выйти 1 новый стандарт и g++ с горем пополам начинает его поддерживать.

Ну и сказать откровенно, увидеть сейчас С++20 код это «Оу! Новенькое!» (уже 3 год идет), увидеть С++17 это «Не плохо», увидеть С++14 это «Норм», увидеть С++11 «Блин, старые плюсы!», увидеть С++98 «Пипец легаси!». Ну по крайней мере у меня такое мироощущение.

Системы сборки меняются? Ну как сказать… CMake уже сколько лет. Ну и еще параллельно есть для *NIX систем GNU Autotools (на любителя).

Про среды ничего сказать не могу: я пишу в Emacs.

Библиотеки да, меняются довольно быстро.

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

На l.o.r реакции работают и без JS, я помню что у нас есть любители его выключать. Но менее удобно, с перезагрузками страниц.

fallback для пользователей консольных браузеров?

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

Какие современные технологии вы подразумеваете, и на каких языках они написаны?

Ну скажем так: Eneterprice’ность Java’ы делает код на нем каким-то уродливым. Откройте класс и ужаснитесь, что там 30 раз написано private static final int.

Есть какое-то подсознательное ощущение что так быть не должно.

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

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

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

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

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

Java-разработка довольно давненько ушла к тому, что в проектах пишут классы с аннотациями, аля правилами, на основе которых библиотеками генерируются рабочие классы, фабрики, методы. Облегчает ли это жизнь разработчикам? Да, но генерируется много статики. При этом, от разработчиков требуют, чтобы в проектах они по возможности не создавали статические методы и поля. Как-то так..

TechnoMag ★★
()

Скрипты ИНОГДА нужны.
Но, вебмастера которые внедряют свистоперделки в свои «сайты» выигрывают конкуренцию на больших объёмах. Дальше уже действует дарвиновский отбор.
Так что к сожалению или нет, хотим мы того или нет, а скрипты в вебне будут.
И придётся нам жрать говно с теми миллионами мух, которые не могут ошибаться.

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

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

На кой хрен нам 5G, если до сих пор приложения выполняются локально? Загадка.

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

Не разбираюсь, честно сказать, но мой телефон в моем небольшом городе 5G не пишет разве что под землёй.

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

t184256 ★★★★★
()