Исаак Дили — автор двух фреймворков: onTap и совсем недавно ORM (объектно-реляционный картограф), называемый DataFaucet (предмет будущего фреймворкового интервью). Вот его ответы на мои 10 основных вопросов.
Смотрите другие базовые интервью: Джефф Бауэрс на FarCry , Джон Фаррар на COOP и Марк Мандель на Transfer ORM .
1. Привет Айк! Дайте нам ваш лифт: кратко изложите суть onTap в одном или двух предложениях.
Sales Pitchy Version: платформа onTap для ColdFusion делает то же, что ColdFusion для Интернета: упрощает множество мощных инструментов.
Версия Sales Pitchy: платформа onTap — это SOA-подход к разработке ColdFusion.
2. Давайте копнем немного глубже: расскажите подробнее об основных функциях.
Версия 3.2 преобразовала все свои конфигурационные файлы из плоского CFML, включенного сейчас, в CFC и включает новый IoC Manager. IoC Manager и Plugin Manager предоставляют разработчикам структуру для распространения или продажи подключаемых, интеллектуально интегрированных приложений и сервисов, которые могут быть установлены в браузере. В недалеком будущем на сайте фреймворка будет размещен веб-сервис, который позволяет устанавливать эти «подключаемые» приложения непосредственно из фреймворка практически так же, как можно устанавливать надстройки в Eclipse или FireFox 3, не выходя из среды IDE. ,
Если это звучит пугающе, не волнуйтесь. Ничего из этого на самом деле не нужно для разработки приложений с помощью инфраструктуры onTap. Сам фреймворк не зависит от ОО, так же, как фреймворк Fusebox не зависит. Вы можете разрабатывать свое приложение «в экстремальных условиях», используя IoC-инфраструктуру и т. Д., Или вы можете просто создавать страницы, если вы этого хотите. Я предпочитаю подход OO / SOA.
Фреймворк включает в себя мощную библиотеку XHTML: мощный и расширяемый движок шаблонов, который дает вам доступ к различным инструментам построения форм и Ajax.
Я использую эти инструменты XHTML в сочетании с уникальной базовой архитектурой, которую я называю «многоуровневое включение». Там, где в Fusebox есть схемы и соединения, у инфраструктуры onTap есть «процесс», который напоминает и фактически отображает как URL, так и путь к файлу. Это многоуровневое включение также предоставляет некоторые дополнительные основанные на каталогах хуки для мощных функций брендинга / настройки, а также множество всесторонних функций интернационализации (i18n) для всех, кто нуждается или хочет их.
И это даже не затрагивает множество других шансов и недостатков, которые вы найдете в инфраструктуре, например, кеширование контента, виджеты Ajax, соответствующие разделу 508, инструмент управления правилами на основе XML, обеспечивающий мощно настраиваемую бизнес-логику, которой могут управлять пользователи ( не найдено в других рамках) и т. д.
3. Как появился onTap и какова была причина его создания? Как вы вовлечены?
Я оригинальный автор. Примерно в то время, когда я начал работать над многоуровневой техникой включения, я много работал с Fusebox 3. Конечно, это была достойная структура, и изначально я был ее большим поклонником… со временем я все больше разочаровывался количество повторений, задействованных в файлах переключателей в Fusebox 3.
Многоуровневая концепция включения была чем-то, что мне пришло в голову однажды, и я долго работал над этим, чтобы усовершенствовать его. Для меня это всегда был отличный способ сократить объем написанного кода. Остальная часть фреймворка появилась позже и всегда была просто бесконечной погоней за инструментами, облегчающими мою собственную разработку — если я нашел способ создать общий инструмент, который был бы полезен позже, я включил его в дистрибутив.
4. Когда разработчик должен искать на вкладке? Что это значит для этого?
Самая сильная сторона инфраструктуры onTap заключается в ее способности обеспечивать беспроблемный брендинг и настройку, а также бесшовную автоматическую интеграцию между приложениями для плагинов (оба используют одни и те же методы).
В течение многих лет я работал во многих компаниях ASP, и одна проблема, которая постоянно возникала на каждом ASP, — это запросы на настройку клиента. Клиенты всегда нуждаются в инструментах, которые система не была предназначена для их предоставления, и затем поиск способа их предоставления постоянно проблематичен для компании, предоставляющей услуги, часто фактически нанося ущерб компании в финансовом отношении. Платформа onTap предоставляет полный набор инструментов, которые очень хорошо работают для смягчения проблем, вызванных реализацией запросов на настройку клиента.
5. Каковы предварительные условия для использования onTap? Есть ли какие-либо предварительные знания, которые помогут новым пользователям? Использует ли он какие-либо другие структуры, которые могут упростить или усложнить вещи?
Знание некоторого ColdFusion очевидно помогло бы! Единственным реальным требованием является ColdFusion 7, и он должен работать как в операционных системах Windows, так и в Unix. Я еще не пробовал с более свежими версиями BlueDragon или с Railo. Он не требует каких-либо дополнительных платформ, хотя включает встроенную интеграцию для ColdSpring или Lightwire, если вы предпочитаете это.
Основная архитектура, лежащая в основе инфраструктуры onTap, честно говоря, не очень сложна и специально разработана для того, чтобы быть очень простой в использовании, однако она отличается от большинства других сред ColdFusion своим подходом. Поэтому, если вы придете к нему, ожидая, что он будет вести себя так же, как Mach-II, Model-Glue, ColdBox или даже FuseBox, вам, возможно, придется отказаться от некоторой сложности, чтобы понять, насколько прост и мощен фреймворк onTap.
Когда я работаю над своими собственными проектами, я трачу не более нескольких минут на вещи, которые обычно, даже с такими хорошими фреймворками, как ColdBox, занимают несколько часов моего времени. Я трачу эти дополнительные часы, работая над новыми проблемами, вместо того, чтобы работать над проблемами, которые я уже решил несколько раз, например, выкладывая или проверяя форму. И когда я работаю над проектами на своей повседневной работе, я, по сути, считаю большую часть своего времени, потраченного на работу, «потерянным временем», потому что я знаю, насколько быстрее все можно сделать.
6. Что отличает OnTap от других фреймворков?
Три вещи особенно:
— SOA-подход к разработке ColdFusion
— Мощные инструменты для настройки и брендинга (очень полезно для ASP)
— его простота
На самом деле, мне кажется интересным то, что несколько лет назад я провел сравнение нескольких фреймворков ColdFusion — их было не очень много, поэтому у меня были только Fusebox 3 и 4, Mach-II и фреймворк onTap. В то время я был действительно разочарован дополнительной работой, необходимой для других структур, в частности, множеством строк XML, необходимых для Mach-II.
За прошедшие годы не только Mach-II и Fusebox приняли мои подходы, но и другие фреймворки, такие как ColdBox, возникли в разных местах, и все они рекламировались как методы их преимуществ, которые я использовал в течение долгого времени. Я не просто говорю это, чтобы похлопать себя по спине (несмотря на то, что я этим горжусь), но хочу подчеркнуть, что почти все, что находится в рамках onTap, всегда было «впереди своего времени». Я думаю, что это должно говорить о долговечности структуры, о которой я знаю, что некоторые люди обеспокоены.
По правде говоря, мне нравится думать, что фреймворк onTap во многом похож на ColdFusion, чем большинство других фреймворков ColdFusion, созданных в последние годы.
7. Есть ли отличные примеры onTap «в дикой природе»?
Я должен быть честным здесь и сказать, что никто еще не сообщил мне о чем-либо. Я действительно хотел бы сказать «ааа, да, ХХХ Банк использует это», но я не могу.
Несколько лет назад я реализовал решение, используя его для оборонного подрядчика под названием Raytheon. Я не решаюсь сказать, что это пример структуры в дикой природе, потому что это была такая ранняя версия.
Я рад получить новости, хотя!
8. Как насчет лицензирования, сообщества, поддержки и документации?
Он выпущен с лицензией в стиле OpenBSD, которая является чуть менее строгой, чем LGPL2, в которой вы можете не только создавать коммерческое программное обеспечение с его использованием (господин знает, что у меня были свои планы), но вы также можете зашифровать свое собственное программное обеспечение. на основе платформы onTap, если вы хотите. Это только требует, чтобы вы включили уведомление о том, что ваш дистрибутив включает в себя фреймворк onTap и что он не одобрен авторами фреймворка (который на сегодняшний день принадлежит только мне).
В настоящее время я работаю довольно усердно, чтобы попытаться вырастить сообщество разработчиков. Я пытаюсь найти лучшие способы поощрения обратной связи и участия. Я просто не очень хорош в маркетинге и навыках людей. Тем не менее, я очень заинтересован в том, чтобы вырастить более активное сообщество вокруг этой среды, например сообщества Fusebox или FarCry, в которых есть настоящие разработчики. команды и активные форумы и списки рассылки. Я бы хотел, чтобы в какой-то момент у команды была команда разработчиков, а не только я. Я хотел бы, чтобы он включал обзоры кода / критические замечания и вклады кода от других членов сообщества. Я только недавно опубликовал блог об этом, в котором просил людей написать о своем опыте работы с фреймворком, хорошим или плохим.
Документация по фреймворку всегда была… ну, многословна. Я на самом деле удалил часть документации в этом последнем выпуске, потому что обнаружил, что не только многое из этого не было прочитано, но и у меня было много разработчиков за эти годы… ну, они не были жалобами, но они будут например, Джефф Питерс из сообщества Fusebox, когда я встретил его на cf.Objective, рассказал анекдот о просмотре документации за несколько дней до разговора с кем-то еще, в котором фраза «Должен ли я читать ВСЕ это ?!» был использован.
Автор «Model-Glue» Джо Райнхарт однажды прокомментировал список cf-talk, сказав, что «спасибо за столь высокую планку для документации», потому что он нашел мою документацию очень тщательной (читай LONG).
9. Что будет в будущем для onTap?
Сейчас я работаю над тем, чтобы вернуть его в свой домен. Я только что зарегистрировал tapogee.com… Вскоре я надеюсь, что на нем будет размещен веб-сервис, о котором я упоминал ранее, для мгновенного поиска и загрузки приложений для плагинов. Я надеюсь, что с более активным сообществом будет много сервисов и приложений на основе плагинов, которые могут работать вместе, чтобы создать пакет, который действительно использует коллективные таланты сообщества ColdFusion в целом, чего не было в других платформах. до сих пор (да, даже FarCry, я такой смелый). Работай меньше, добивайся большего.
С этой целью я также планирую самостоятельно опубликовать небольшую книгу о том, как разрабатывать приложения с использованием фреймворка и, возможно, футболок и других методов партизанского маркетинга.
10. Где люди могут найти больше информации о onTap?
http://on.tapogee.com и проверьте блог структуры на RIAForge .