Дискуссия о нововведениях в ZF
С выходом Zend Framework версии 1.6, в фреймворке появилось много разных нововведений, в т.ч. появился класс Zend_Dojo, призванный помочь разработчикам в построении "friendly user interface". Изначально, признаюсь честно, я очень обрадовался такому новшеству, ведь каждый профессиональный разработчик мечтает иметь server-side систему для управления Javascript кодом, да и Dojo – один из самых лучших Javascript-фреймворков.
Сразу же, как только я узнал о выходе ZF v1.6, я с упорством начал изучать новые компоненты фреймворка. Дойдя до класса Zend_Dojo_Form, я был поражен простотой его использования. Буквально несколько строчек кода превращали обычную веб-форму в очень красивую форму с Javascript-валидаторами, но… Мои хорошие впечатления быстро развеялись, когда я "наступил" на хорошенькие "грабли", которые заставили меня опомниться…
В чем проблема?
Причиной моего глубочайшего разочарования стала несовместимость Dojo с TinyMCE. Дойдя до элемента textarea, я "прицепил" на него TinyMCE, чтобы увидеть свою форму в полной "боеготовности". Но после обновления страници я увидел, что мой любимый визуальный редактор не работает.
В разных браузерах были разные ситуации: один его показывал, но вводить текст не представлялось возможным, другой – вообще не отображал. В таких случаях у меня есть стандартные действия: запускаю Firebug, вижу кучу ошибок и проблем с инициализацией TinyMCE. Перепробовал разные варианты решения проблемы, но всё было тщетно. Проблема оставалась нерешаемой. Я пробовал подключать TinyMCE до инициализации Dojo, и после инициализации, но ничего не помогало. Решил немного "погуглить".
Перебрав кучу вариантов, перечитав много информации, я понял, что всё это чепуха. Что было не удивительно, я не один искал решение этой проблемы – много программистов пыталось решить данную задачу, но и они не добились ничего толкового.
Проблему несовместимости Dojo и TinyMCE
я так и не решил, поэтому я думаю, что стоит подождать, пока одна из
команд разработчиков посуетится над её решением. Ведь эта проблема
поднималась на официальных форумах обеих команд уже давно, а реальных
действий в этом направлении программисты так и не увидели.
Вообще, идея интеграции Zend Framework именно с Dojo, мне понравилась не очень, так как я очень люблю работать с jQuery. Я считаю данный Javascript-фреймворк лучшим за Dojo и более достойным кандидатом для интеграции, поэтому я начал разрабатывать собственные классы для работы с jQuery, которые со временем планирую опубликовать на своём блоге.
Данные классы я решил писать целенаправленно, для решения конкретных задач, а не просто управлять выводом Javascript-кода на страницу и уже на данный момент у меня есть несколько наработок, но они ещё немного сыроватые.
Ещё одним хорошим Javascript-фреймворком я считаю ExtJS, но основным его минусом является очень большой вес. Также у него есть и большие плюсы, например, наличие библиотеки ExtPHP, но на моё мнение она еще недоработана, поэтому использовать её в своих проектах я пока не берусь.
Послесловие
Если кто-то из Вас знает решение проблемы совместимости Dojo с TinyMCE, очень прошу Вас написать об этом в комментариях к этой статье. А также если кто-то хочет вместе со мной разработать библиотеку Zend_jQuery, то я буду очень рад этому и я считаю, что только небольшой группой разработчиков можно довести такую библиотеку до ума, поэтому я приглашаю Вас принять участие в разработке.
Жду Ваших предложений…
