LINUX.ORG.RU

Когда наступит свтелое будущее web разработки?

 , ,


1

2

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

В соответствии с заветами просветлённого по имени Никита Грошин быдлопрограммирую на PHP и иногда бухаю. Интересует вопрос появится ли у браузеров богатый набор элементов GUI и не только и мощный айпиай по взаимодействию со всеми этими прелестями. Можно ли будет в Firefox 500 делать что-то типа

        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "Product ID";
            dataGridView1.Columns[1].Name = "Product Name";
            dataGridView1.Columns[2].Name = "Product Price";
…
из коробки а не еб…ся с HTML тэгом table и мерзким уродцем JavaScript то есть, конечно же, jQuery? Будет ли RAD как у Delphi, Visual Studio, Visual C++ Builder? Заменят ли CSS чем-то получше чтобы как можно меньше «тра…ся» с этой вёрсткой которая никаким боком к программированию них не относится но которой занимается почти каждый PHP (web) программист (не очень понимаю какого чёрта до сих пор нету компонента NavMenu, TabbedView, ImgViewer, RichTextField и т.п. и т.д. которые почти что на каждом сайте)? Будет ли возможность говнокодить не только на JavaScript?

появится ли у браузеров богатый набор элементов GUI и не только и мощный айпиай по взаимодействию со всеми этими прелестями

Можно ли будет в Firefox 500 делать что-то типа

не еб…ся с HTML тэгом table и мерзким уродцем JavaScript то есть, конечно же, jQuery?

Будет ли RAD как у Delphi, Visual Studio, Visual C++ Builder?

Заменят ли CSS чем-то получше чтобы как можно меньше «тра…ся» с этой вёрсткой

Нет

какого чёрта до сих пор нету компонента NavMenu, TabbedView, ImgViewer, RichTextField и т.п. и т.д. которые почти что на каждом сайте

Смотри ExtJS. А вообще не нужно. У каждого сайта свой внешний вид. Внешний вид должен верстаться кем-то. И веб-вёрстка — это таки программирование, только декларативное, а не как в этом вашем делфи.

И вообще, писать бизнес-логику в обработчиках — не комильфо. Не говоря о том, что делфи-подход — это прошлый век, а сейчас модно использовать two-way data binding.

static_lab ★★★★★ ()

тра…ся

Ты зачем точки тут поставил? похапэ окончательно мозг сожрал?

anonymous ()

почти каждый PHP (web) программист

этим должен заниматься верстальщик, а не программст

TERRANZ ★★★★ ()

Вёрсткой должен заниматься верстальщик, а не программист.
Ну и открой для себя какой-нибудь twitter bootstrap.

blackst0ne ★★★★★ ()

Будет ли возможность говнокодить не только на JavaScript?

Уже:
https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile...
http://mbebenita.github.io/LLJS/
http://asmjs.org/

пример с ООП, мутабельностью и устаревшим подходом с обработке событий

Такого не будет. XXI век, ООП в стиле дельфи умерло, а функциональщина покоряет программирование. Учи http://elm-lang.org/ (ну или любой другой функциональный язык).

Заменят ли CSS чем-то получше чтобы как можно меньше «тра…ся» с этой вёрсткой

Уже: http://gridstylesheets.org/

Ценный совет: не будь PHP/JAVASCRIPT макакой, осваивай новое.

quantum-troll ★★★★★ ()

Можно ли будет в Firefox 500 делать что-то типа

Напиши генератор, который будет конвертить что-то типа этого в реальный код. Или погугли - наверняка уже написали.

ziemin ★★ ()

Будет ли возможность говнокодить не только на JavaScript?

Она была, чувак. Пятнадцать лет назад. Но твои предшественники ее просрали, потому что вместо того, чтобы осиливать толстые клиенты, лезли в хттп+браузер, а потом вместо того, чтобы осиливать жабаапплеты/активексы, лезли в dhtml.

Ты страдаешь закономерно - это ваш вебняковый первородный грех.

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

Есть фреймворки, позволяющие писать web applications. Проблема в том, что Web это не только Static HTML и Rich Web Applications. Большинство сайтов расположены где то посередине. Им важна индексируемость (а поисковик не умеет в жаваскрипт в общем случае). Им важны все популярные браузеры (даже IE 8). Это всё накладывает свои отпечатки.

Конкретно твой код можно хоть сейчас на JavaScript сделать. Визуальных редакторов я не видел, но так ли они нужны? Если не хочешь трахаться с вёрсткой, наговнякай как можешь и сдавай результат. А если тебе нужен качественный результат, ты думаешь, твоя визуальная среда его обеспечит?

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

Смотри ExtJS.

Оно платное что ли? Ещё один фреймворк, библиотека, сборище виджетов которые в результате выдадут ту же мешанину из div`ов с переопредлённым сбособом отрисовки и гору CSS.

А вообще не нужно. У каждого сайта свой внешний вид.

Да, свой с общими почти для каждого сайта элементами GUI. Так же как и в каждой Windows Linux или Mac программы тоже свой внешний вид, но почему-то при их разработке не нужно создават кучу элементов GUI почти что с нуля.

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

Да, только почти в каждом объявлении о найме PHP программиста присутсвуют требования знать CSS, jQuery, JavaScript или написано «умение верстать» или «превосходная вёртска» а мой, и многих других PHP разработчиков, типичный рабочий процесс поочередно состоит из вёрстки вместе с JavaScript и PHP.

onemorehuman ()
Ответ на: комментарий от quantum-troll

Все они в результате преобразуются во всё тот же JavaScript и мне неизвестно насколко читабельным и объёмным по сравнению с просто JavaScript будет результирующий код. И если на сайте буд что не так дело всё равно придётся иметь не только с JavaScript но, скорее всего, и с тем языком из которого оно потом скнвертировалось. Ну и библиотеки которые написаны на JavaScipt и для JavaScipt.

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

А чем эта страница не web applications?

Большинство сайтов расположены где то посередине. Им важна индексируемость (а поисковик не умеет в жаваскрипт в общем случае). Им важны все популярные браузеры (даже IE 8). Это всё накладывает свои отпечатки.

Можно взять текущий HTML, напихать кучу тэгов с API для создания элементов GUI таким образом ускорив разработку и избавив от необходимости создавать десятки и сотни строк кода для создания этих самых по сути стандартных виджетов, компонентов, элементов интерфейса, обозвать как-то по другому текст оставить как есть.

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

А чем эта страница не web applications?

Эта это ЛОР? ЛОР это практически статичный сайт с функционалом из 90-х. Он всем не web applications :) Классический пример web application это web-интерфейс gmail.

Можно взять текущий HTML, напихать кучу тэгов с API для создания элементов GUI таким образом ускорив разработку и избавив от необходимости создавать десятки и сотни строк кода для создания этих самых по сути стандартных виджетов, компонентов, элементов интерфейса, обозвать как-то по другому текст оставить как есть.

Это уже сделали: XUL. Но он особенно никому не нужен, даже в энтерпрайзе, где можно поставить всем фаерфокс. А вне энтерпрайза люди хотят красивые дизайны и функциональные интерфейсы, заточенные под конкретную задачу. Сложно это всё подогнать под один знаменатель.

На самом деле ты пытаешься решить проблему, которой по сути нет. Дизайн делает дизайнер. Он его в любом случае будет делать, хоть у тебя web-сайт, хоть у тебя iOS App, хоть у тебя десктопное приложение. Без дизайна обходятся только совсем мелкие конторы. Вёрсткой занимается верстальщик, довольно низкооплачиваемая профессия. Даже если его нет, вёрстка, как таковая, обычно много денег не требует.

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

Хотя может я ошибаюсь и Delphi.Web взлетит. Кто его знает.

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

Который создаёт, имеет в себе все эти десятки строк кода. Я вот к чему писал: есть тэг который создаёт элемент GUI кнопку и это правильно и это нужно так как они нужны почти всем и есть почти везде, это стандартный элемент GUI который много где встречается. Легко создающиеся и широковостребованные кнопки есть, но нету так же широковостребованого слайдера, просмотрщика изображений/контента. Его нужно создавать самому. Было бы здорово если бы каждый разработчик заново создавал из уже имеющихся тэгов кнопку.

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

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

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

Эта это ЛОР? ЛОР это практически статичный сайт с функционалом из 90-х. Он всем не web applications :) Классический пример web application это web-интерфейс gmail.

Да-да. Как только на HTML страницу добавили AJAX и она стала похожей на обычную программу она тут же становится web приложением. А чем HTML страница на которой AJAX не везде и есть скрипты и она обрабатывается на сервере не приложение? HTML + CSS это графический интерфейс пользователя с помощью которого он отдаёт команды а код который обрабатывает эти пользовательские действие есть частью программы.

На самом деле ты пытаешься решить проблему, которой по сути нет. Дизайн делает дизайнер. Он его в любом случае будет делать, хоть у тебя web-сайт, хоть у тебя iOS App, хоть у тебя десктопное приложение. Без дизайна обходятся только совсем мелкие конторы. Вёрсткой занимается верстальщик, довольно низкооплачиваемая профессия. Даже если его нет, вёрстка, как таковая, обычно много денег не требует.

Почему бы не сделать аналог DataGridView прямо в броузере, а? Данная штука много где востребована, отпадает необходимость городить свой код а так же необходимость выкачивать HTML, кучу CSS & JavaScript. Да и, скорее всего, быстрее будет чем на JavaScript. Одни плюсы: стандартный компонент с одинковыми способами взаимодействия, меньше работы разработчикам, меньше нагрузка на Сеть и оборудование.

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

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

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

Клиенту сперва нужно загрузить JavaScript код потом, скорее всего, ещё горку JavaScript в виде зависимости в виде jQuery, потом кучку CSS правил и HTML теги. Ещё есть другие проблемы. Например, что если разработчик очередного чудослайдера через месяц всё забросит а через полгода ничего не работает на десятке сайтов? Лучше же написать что-то типа

<viewer effect=blur controls="next prev pause close" caption=slider speed=5s/>

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

Да-да. Как только на HTML страницу добавили AJAX и она стала похожей на обычную программу она тут же становится web приложением. А чем HTML страница на которой AJAX не везде и есть скрипты и она обрабатывается на сервере не приложение? HTML + CSS это графический интерфейс пользователя с помощью которого он отдаёт команды а код который обрабатывает эти пользовательские действие есть частью программы.

Web-приложение это не технический термин. Это такая шкала. От статического сайта-визитки, на котором 0 функционала как на клиенте, так и на сервере до сложного сайта с кучей JavaScript-а, аякса, localStorage-а, веб-сокетов. И клиентская часть тут только одна из частей, серверная не менее важна. LOR по этой шкале находится далеко от веб-приложений.

Почему бы не сделать аналог DataGridView прямо в броузере, а? Данная штука много где востребована, отпадает необходимость городить свой код а так же необходимость выкачивать HTML, кучу CSS & JavaScript. Да и, скорее всего, быстрее будет чем на JavaScript. Одни плюсы: стандартный компонент с одинковыми способами взаимодействия, меньше работы разработчикам, меньше нагрузка на Сеть и оборудование.

Стандартизаторы поругаются ещё на этапе обсуждения имени тега :) Это будет нетипично для HTML. Он даёт строительные кирпичи, но не готовые компоненты. Хотя input type=«date» уже есть, как знать, может и data-grid-view когда-нибудь будет. Я же не спорю, я просто объясняю, почему сейчас эта идея утопична.

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

Почему сразу унылом? Предоставить разработчикам все возможности по измению компонентов и всё.

onemorehuman ()

из коробки а не еб…ся с HTML тэгом table

будто это что-то плохое

если ты настолько ленив - можешь использовать asp.net. Там такая хрень поощряется.

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

Клиенту сперва нужно загрузить JavaScript код потом, скорее всего, ещё горку JavaScript в виде зависимости в виде jQuery, потом кучку CSS правил и HTML теги.

Угу, размером в 20 килобайтов загзипованной ерунды, из которой 15 из кеша взяты (потому что на CDN ссылки). А потом клиенту нужно будет загрузить звёздное небо на фон в 500 килобайтов :)

Ещё есть другие проблемы. Например, что если разработчик очередного чудослайдера через месяц всё забросит а через полгода ничего не работает на десятке сайтов?

Как это ничего не работает? С обратной совместимостью в вебе проблем нет, если работает сейчас, то будет работать всегда. К себе главное скопируй чудослайдер.

<viewer effect=blur controls=«next prev pause close» caption=slider speed=5s/>

Лучше. Но не намного лучше, чем написать <script src=«viewer.js»></script> <div class=«viewer» data-effect=blur data-controls=«next prev pause close» data-caption=slider data-speed=5s></div>. Причём последний результат работает здесь и сейчас, а первый никто не будет ставить на сайт ещё лет 10, пока живы пользователи с браузерами без поддержки этого чудо-тега. И это в том случае, если ты уговоришь всех производителей браузера встроить поддержку этого тега.

Браузеры, кстати, не резиновые. Не забывай и про это. Браузер сейчас это огромная программа, размером сравнимая с ядром операционной системы. И каждая лишняя строчка функционала это потенциально баги, потенциальные уязвимости всякие <viewer effect=«<!--/*/etc/passwd и прочая муть.

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

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

private void button1_Click(object sender, EventArgs e)

зачем тут sender, когда есть EventArgs e?

и почему не просто Event?

не очень понимаю какого чёрта до сих пор нету компонента

NavMenu, TabbedView, ImgViewer, RichTextField и т.п. и т.д. которые почти что на каждом сайте Разве в пыхе есть вообще компоненты? Что-то новенькое...

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

Уже пытались, в раннем ASP.NET, вышло ужасно.

еще были «шарики»

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

Как по мне утопична она в большей части потому что не те люди там сидят. И можно просто включить в браузер компонент который во нутреннем представлении должен называтся везде одинаково а потом в HTML пиcать что-то вроде <great-tag-name extends=DataGridView и браузер уже сам снадбит тег необходимой функциональностью.

Он даёт строительные кирпичи, но не готовые компоненты.

Вообще-то в нём есть куча готовых компонентов. ul, li, table, img, button, input со всеми его типами и т.д. просто подавляющее большинство web разработчиков пользуется почти что исключительно только div’ами так как создавался HTML для создания обычных документов а не программ с GUI.

onemorehuman ()

Возможно какой-нибудь canvas спасет вебню. Нагородить внутри что угодно, избавиться от html and css, запилить свои canvas-qt и canvas-gtk. А js станет эдаким «машинным кодом» веба, на котором никто писать не будет, но будут 100500 языков в него комплириющихся.

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

Угу, размером в 20 килобайтов загзипованной ерунды, из которой 15 из кеша взяты (потому что на CDN ссылки). А потом клиенту нужно будет загрузить звёздное небо на фон в 500 килобайтов :)

Да-да. Сущие копейки. Размер HTML страниц с каждым годом всё увеличивается вместе с тормозами этих самых страниц. Этот аргумент вообще никак не катит против наличия стадартных компонентов в браузере. Аргумент с CDN просто «железный». У ползователей кеш же резиновый, все используют один и тот же CDN, данные никогда не «протухают» и т.д.

Лучше. Но не намного лучше, чем написать <script src=«viewer.js»></script> <div class=«viewer» data-effect=blur data-controls=«next prev pause close» data-caption=slider data-speed=5s></div>. Причём последний результат работает здесь и сейчас, а первый никто не будет ставить на сайт ещё лет 10, пока живы пользователи с браузерами без поддержки этого чудо-тега. И это в том случае, если ты уговоришь всех производителей браузера встроить поддержку этого тега.

Клёвая позиция. Странно как это у нас появились HTML v 5 и CSS v 3. Наверное пришельцы удалили у всех браузеры и везде установили новые и одинаковые чтобы наконец-то свершился приход новых возможностей.

Браузеры, кстати, не резиновые. Не забывай и про это. Браузер сейчас это огромная программа, размером сравнимая с ядром операционной системы. И каждая лишняя строчка функционала это потенциально баги, потенциальные уязвимости всякие <viewer effect=«<!--/*/etc/passwd и прочая муть.

Опять же, HTML 5 и CSS 3 с новыми тэгами и новой функциональностью, новые версии JavaScript, новые API. Никто ж не думает что на этом всё остановится и ничего больше не добавлят и завтра всё заморозят?

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

Наверное зря создали все эти Qt, GTK+, FLTK, Windows Forms. Да и button, textarea, input нужно убрать из HTML. А чё? <div class=«textarea»></div> + JavaScript и норм будет. Ах ещё и canvas зачем-то добавили. Вот же ж… <div class=canvas></div> плюс JavaScript и всё замечательно. Так победим.

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

Уже были поделия типа адоб флеш и им подбные...

Индексированный поиск по канве будет через распознавание образов?

Еще скажи что stateless природа паутины ущербна, нужен сплошной рантйм...

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

Про индексацию не подумал. Может гуглобот осилит интерпретацию js. Но я с фронтендами никогда не работал, и пишу с позиции дивана. Какие идеи есть у уважаемого анонимуса?

А флеши и сильверлайты таки закрытые поделки в одних руках. Канвасы тут выигрывают.

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

Серебряной пули нет. Оставить все как есть. Вместо идей - подходы и парадигмы.

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

Эпоха отравления экосистемы ie к счастью завершилась, несмотря на появление проходимцев типа HTML5 builder-ов всяких, сейчас все довольно перспективно, хотя и не без сложностей.

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

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

это была не рекомендация если что
борланд умер 10 лет назад

wxw ★★★★★ ()

Уж больно твоё «светлое будущее» по описанию смахивает на средневековое мракобесие.

1С- программист, чтоли ?

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

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

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

гуглобот давно уже может в индексацию динамики

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

Все они в результате преобразуются во всё тот же JavaScript и мне неизвестно насколко читабельным и объёмным по сравнению с просто JavaScript будет результирующий код.

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

Ну и библиотеки которые написаны на JavaScipt и для JavaScipt.

Ну тут как с хаскелем и си, да.

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

Почему добавление новых тегов и создание RAD «смахивает на средневековое мракобесие»?

onemorehuman ()

Радов не будет. Но будут веб-компоненты. Когда-нибудь.

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