Часто возникает ситуация при создании монолитного класса, когда необходимо внутри функции вызвать методы или свойства, главного класса. При этом область видимости удобного для этих целей this весьма ограничена. В ExtJS для такой задачи имеется очень удобное решение. Читать далее…
Хотелось бы провести небольшой обзор интересного редактора FlashDevelop. Каждый работавший в Adobe Flash CS с ActionScript обращал внимание на неудобство работы с кодом в этом IDE, а так же отсутствие навигации по файлам проекта, да что там, на отсутствие вообще такого понятия, как проект. Возможно есть такие, кто сейчас скажет: “Серьезный проект, да тебе во Flex”. С одной стороны не могу не согласиться, во Flex работы с проектами на уровне, да и плагин Flex к Eclipse очень хорош. Но работа с Flex, это работа в MXML. А что делать когда нет желания-умения-возможностей. Итак, если все выше написанное вам близко, вам под кат. Читать далее…
Вспомнив что у меня имеется подписка на Microsoft продукты через dreamspark, решил посмотреть, что предлагает софтверный гигант для прототипирования интерфейсов. А наткнулся в итоге на интересную альтернативу Dreamweaver - Expression Web 3. Ее функционал практически ничем не отличается от Dreamweaver CS3, но есть одно ключевое отличие. При первом открытии Expression Web 3 все основные возможности грамотно и аккуратно сосредоточены вокруг рабочей области, пользователь видит большинство функций, которые предоставляет IDE. В Dreamweaver же, я смог узнать, что у него есть аналогичные функции, только сравнивая их с Expression. Может конечно мне стоило сразу после установки сконфигурировать Dreamweaver, чтобы удобно расположить в панелях необходимый мне функционал, но почему Adobe было не побеспокоится об этом ? В целом же программы действительно идентичны. Единственное у меня всегда были проблемы в Dreamweaver со стандартными Javascript функциями, у Expression Web их нет. Читать далее…
![]()
Важно.
Если вы этого еще не сделали, обязательно прочитайте первую часть и вторую часть этой статьи. Без этого будет очень трудно объяснить (или даже невозможно), а для вас понять, что написано в этой части.
Вступление.
Помогая на форуме, и читая код людей, которые делали ошибки при наследовании ExtJS классов, я обратил внимание на ошибки, которые пользователи обычно делают. Поэтому я решил написать эту статью, в которой буду собирать эти ошибки, и объяснять как их решать. Я имею ввиду что я не буду создавать больше частей этой статьи, а буду добавлять найденные ошибки сюда, вместо того чтобы бесконечно создавать части 4, 5 и т.д. Читать далее…
![]()
Важно.
Если вы этого еще не сделали, обязательно прочитайте первую часть этой статьи. Без этого будет очень трудно объяснить (или даже невозможно), а для вас понять, что написано в этой части.
Вступление.
Прошел уже практически год, с того момента, как я опубликовал первую часть моей статьи. Я успешно использую концепцию пред настроенных классов, чтобы писать реально большие приложения (~150 .js файлов ~60000 строк кода, не считая серверного кода и .css файлов). Приложение полностью модульное, каждый класс это отдельный файл, словом мой способ доказал что он упрощает разработку, организацию кода и отладку.
К сожалению, не все было хорошо у других, кто использовал мой подход, они сталкивались с различными проблемами и Ext Support Team обрабатывали их проблемы и просьбы о помощи. Все это привело в к тому, что мой подход стали называть “абсолютная мерзость” и было сказано, что “это создает проблемы”.
Примечание: Как быстрые автомобили сами по себе не приводят к несчастным случаям, хотя тот кто ездит медленно, часто делает это на быстрых машинах, сам способ не может быть настоящей причиной проблем, а вот его применение может.
В любом случае, есть какая-то нелогичность, что я могу использовать данный подход, а кто-то нет.
Так я стал смотреть глубже в причину ошибок и выделил некоторые из них с которыми пользователи могут столкнуться при разработке. Я также буду писать на тему “делать” или “не делать” и когда надо использовать пред настроенные классы, а когда нет. Я не буду сравнивать мой метод с другими (Метод Фабричных функций, прямой метод, загрузка по требованию и другие), потому что 1) я их не использую и 2) я не хочу превратить эту статью в очередной холивар между пользователями Linux и Windows.
Это в полной мере зависит от вас какой способ вы выберете. Однако, если вы выберете мой способ, то следуйте правилам, которые я хочу изложить. Читать далее…



