О IDE и framework'ах

Dec 18, 2006 01:04



Давно хотел написать, да все времени не хватало. Но тут slach подтолкнул написав про turboPHP. Не хочу вдаваться в плюсы и минусы «программирования мышкой». Но ребята очень правильно делают, что под свой фреймворк реализуют полноценную IDE. Буквально недавно столкнулся в проекте с тем, что если есть некий фреймворк, реализующий MVC, то ZendStudio физически не может дать полноценную поддержку этого фреймворка. Т.е. она не может (что понятно) динамически отследить какие модули будут подключены и дать доступ к их методам и свойствам. Что достаточно сильно снижает скорость разработки. В собственной IDE такая проблема должна решаеться много проще.



Собственно разрабатывая упомянутый выше фреймворк, я хотел обкатать новую (для меня) идею реализацию более строгой модели MVC, с «модной» реализацией через команды и т.п. Писать IDE под этот фреймворк в блийшее время в планы не входит, поэтому придется остаться со «старой», но проверенной временем реализацией.



Собственно это некий результат компромиса между строгим следование классической модели и удобством (скорее даже скоростью) разработки. Конечная страница, которую запрашивает пользователь, выполняет роль роутера и, частично, главного контроллера. Каждый модуль реализует свою MVC-схему - в нем есть свой контроллер, своя модель и свое представление, которые (в общем случае) не зависят от других модулей. У такого подхода есть ряд своих преимуществ:
  • модуль можно использовать независимо от самого фреймворка (конечно с оговорками - подсистему шаблонов и подсистему работы с БД все же придется тоже брать, ну или реализовывать интерфейсы, которым они соответсвуют).
  • одни и те же модули могут использоваться различными приложениями (сайтами) - это не просто повтороное использование кода, а то, что близко к концепции ASP (Application service provider). Я крайне благодарен Саше Смирнову, который на какой-то из встречь мельком упомянул о таком подходе, который он использует (использовал), что подтолкнуло меня к такой реализации. Единое ядро и наборы модулей на своем сервере, где хостятся проекты клиентов, очень мощьная и гибкая система получается.
  • модули могут быть как пользовательскими (специфичными и принадлежащими определенному проекту), так и «общественными».
  • и самое главное - удобство использования в ZendStudio - поборников минимализма в редакторе просьба не беспокоится :) То, что выпадающие списки методов ускоряют процесс разработки - я убедился на своем опыте, пересев с HomeSite на Studio.
  • на странице могут выводится (а часто так оно и есть) данные, которые приходят из разных модулей (например, новости и топовые позиции в магазине), соответственно странице придется либо выполнять роль роутера, либо под конкретное приложение создавать свой контроллер, что увеличит время разработки.


[ Оригинал Поста ]

framework, php

Previous post Next post
Up