[Moscow.pm] Уж не знал что до такого дойду.
Dmitriy T.
403rus на gmail.com
Сб Июл 19 10:36:33 PDT 2008
Ivan B. Serezhkin wrote:
> Привет.
>
> Господа, агитирую вас за активнейшее использование жабаскрипта в своих
> веб аппликухах.
> Я тут на досуге попробовал.
> Ваня Широков посоветовал использовать http://script.aculo.us/
> Я внимательно посмотрел на это дело, и обнаружил, что использовать
> такие фреймворки легко. Скачал нужные .js, положил в репозиторий и
> попробывал применить исчезающие/появляющиеся дивы. вообщем минут через
> 40 в моей админке дерево публикаций научилось
> сворачиватся/разворачиватся.
> Заодно я обнаружил. что $() - это чиноним для document.getelementById,
> очень понравилось.
> Потом я прочитал про XMLHTTPRequest, то что элементу можно прописывать
> innerHTML я знал и до этого. Сделал одну формочку на аяксе,
> понравилось. Jemplate у меня использовать не получилось, у меня
> слишком уж сильно используются разные хитрости в ttk. По этому просто
> гоню html и налепляю на нужные элементы.
> Через некоторое время файлик admin.js разросся, начал походить на
> фреймворк. Вместо hidden полей, я стал использовать объект dispatcher,
> в котором хранить состояние страницы и необходимые callbacks.
> Джаваскрипт конечно язык ублюдочный, но всё же понятие ссылка там
> есть, то есть жить можно.
> Через сутки игры с http://scripteka.com/ у меня появилось подобие
> рельсовского фреймворка, тоесть каждый видимый объект не только себя
> может отрисовать, но и хэндлить свои ajax события сам. Вместо гнусных
> плюсиков для добавления удаления тэгов с документа я применил
> drag&drop, потом применил его для создания связей между документами.
> Всё летает, шевелится, моргает во время событий, крутит вебдванольными
> крутилками и работает быстро.
> Конечно, на мордусайта такое пускать нельзя, там должен поработать
> профессиональный джаваскриптизёр, но для начала надо попробовать
> сделать это самому, это не сложно, и очень эффективно. Берёшь фаерфокс
> с фаербагом и инспектишь нужные элементы, сразу становится ясно что с
> ними делать, берёшь и делаешь.
> Кстати, куча мсассивов в дом модели на самом деле массивами не
> являются, а явкляются коллекциями, и for( x in array) на них не
> работает. всё жутко неудобно, но ждать когла в фаерфоксе будет
> парратовский ecmascript - это терять время.
> Я думаю, если мы начнём делать наши продукты современнее, народ к нам
> потянется.
> Начать стоит просто с применения скрывающихся дивов и отправки
> XMLHTTPRequest на сервер, а там понравится.
>
Что-то у меня ощущение что взрослые фреймворки поудобнее будут начиная с
определённой сложности. Типа YUI или GWT. YUI я правда не щупал (если
кто щупал скажите - как там), а вот GWT довелось.
Пару раз попробовал даже написать GWT+сервлеты. Так меня там порадовало
удобство - можешь дебагить и GUI и серверную часть одновременно, данные
гонять туда обратно через сериализацию удобнее чем через всякие JSON.
Что начал я завидовать джавапрограммерам(хотя ИМХО чтобы стать
джавапрограммером достаточно знать один язык какой-нибудь с ООП-ом и
немного терпения) чёрной завистью и даже захотел патчик сделать чтобы
воткнуть perl внутрь их сервера чтобы прям можно было дебагить не только
GUI но и серверные куски в одном флаконе - но что-то немного помучавшись
забил на это.
(подкалывает :) )
Хотя в яндексе за использование GWT может расстреляют. Это не одно и то
же что на морды nginx ставить, гугл это не рамблер - судя по новостям
теперь самый заклятый друг яндекса(скупает всё подряд вокруг). :)
Подробная информация о списке рассылки Moscow-pm