[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