WikiDer > Платформа ColdBox
| Оригинальный автор (ы) | Ortus Solutions, Corp | 
|---|---|
| изначальный выпуск | 15 июня 2006 г. | 
| Стабильный выпуск | |
| Репозиторий | Репозиторий ColdBox | 
| Написано в | CFML, Ява | 
| Тип | Фреймворк веб-приложений | 
| Лицензия | Лицензия Apache v2 | 
| Интернет сайт | ColdBox.org | 
ColdBox является Открытый исходный код, на основе соглашений, модульная каркас веб-приложений предназначен для строительства корпоративные приложения с участием CFML с помощью Иерархический MVC подход. ColdBox использует Соглашение важнее конфигурации и стремится к простоте, быстрому развитию. Он использует Модель-представление-контроллер, Внедрение зависимости, Модульное тестирование, Аспектно-ориентированное программирование архитектурные образцы. ColdBox позволяет разрабатывать автономные модули, которые могут совместно использоваться приложениями. ColdBox - это активный и хорошо документированный фреймворк CFML.[2]
История
- ColdBox был разработан Луисом Маяно, и его исходный код был впервые открыт в 2006 году.
 - ColdBox стал профессиональный открытый исходный код проект в 2008 году, когда профессиональные услуги предлагала материнская компания Ortus Solutions, Corp.
 - В 2011 году он представил Контроллер представления иерархической модели в качестве основного шаблона проектирования фундамента.
 - В 2020 году он представил тесную интеграцию Явас ЗавершенныйБудущее API для поддержки Будущее и обещания и асинхронный/параллельно программирование
 - Последний выпуск - версия 6.0.0 (21 августа 2020 г.)
 
Платформы
ColdBox поддерживается Люси (Популярный движок CFML с открытым исходным кодом) и Adobe ColdFusion серверы приложений.
Он поддерживает плагины IDE для, Код Visual Studio, Возвышенный текст, Eclipse IDE и Adobe ColdFusion Builder.
Применение
Ниже приведен список некоторых известных пользователей платформы Coldbox.[3]
- Adobe
 - Esri
 - FAA
 - GE
 - Космический центр Кеннеди
 - Лаборатория реактивного движения НАСА
 - Railo
 - Люси
 - L'Oréal
 - ВВС США
 - ВМС США
 - Чартерные школы Академии успеха
 - Американская молодежная футбольная организация
 - Музей искусств округа Лос-Анджелес
 
Обзор
Атрибуты высокого уровня ColdBox:
- An HMVC веб-фреймворк для Холодный синтез Платформа.
 - Модульная платформа разработки предоставлять HMVC архитектурные образцы
 - Соглашения по конфигурации (без XML)
 - Интегрируется с Спящий режим ColdFusion ORM
 - Предлагает последовательную структуру, направленную на уменьшение путаницы и легкость обучения
 - Упорство слои абстракции (кеширование)
 - Встроенная библиотека журналов
 - Встроенная инъекция зависимостей и возможности АОП
 - Языки, специфичные для внутреннего домена, для определения кэширования, DI / AOP, ведения журнала и фиксации
 - Возможность проводить модульное и интеграционное тестирование
 - Аякс поддержка, которую легко расширять и настраивать
 - RESTful и МЫЛО поддержка веб-сервисов[4]
 - Интеграция и мониторинг Adobe Flex / Air
 - Предоставляет возможности для нескольких сред разработки
 - Подробная документация
 - Встроенная интеграция с Java CompletableFuture API для поддержки будущего и обещания.
 
Внутренние рамки
Платформа ColdBox состоит из трех независимых фреймворков:
- LogBox - Библиотека журналов
 - WireBox - Внедрение зависимостей и библиотека АОП
 - CacheBox - Механизм кеширования и агрегатор
 - ColdBox MVC - Веб-фреймворк на основе соглашений MVC
 
Контроллеры
ColdBox - это среда, основанная на соглашениях, которая запрограммирована на CFML, в отличие от других сред CFML MVC, которые используют декларативную логику XML для своих контроллеров.
Ниже приведен пример контроллера:
 1 составная часть{ 2  3 	// Использование внедрения зависимостей для виртуальных сервисов на основе гибернации 4 	свойство имя="userService" вводить="entityservice: Пользователь"; 5 	 6 	/** 7 * Немедленный возврат HTML 8 	*/ 9 	функция скажи привет(мероприятие){10 	 	вернуть "Здравствуйте";11 	}12 13 	/**14 * Немедленный возврат JSON из памятки объекта ORM15 	*/16 	функция скажи привет(мероприятие){17 	 	вернуть userService.получить( rc.мне бы ).getMemento();18 	}19 	20 	/**21 * Возвращать контент в нескольких форматах22 	*/23 	функция список(мероприятие){24 		prc.данные = userService.список();25 	 	// выводим всех пользователей в формате json26 		мероприятие.renderData( данные=prc.данные, форматы="json, xml, pdf, html" );27 	}28 }Сопоставления URL-адресов
ColdBox поддерживает сопоставление URL-адресов и маршрутизацию в стиле Rails, но адаптирован для ColdFusion. Он также поддерживает создание маршрутизации RESTful:
 1 // Ресурсы  2 ресурс( "фотографии" ); 3  4 // Вложенные ресурсы 5 Ресурсы( 6 	ресурс 	= "агенты", 7 	шаблон 	= "/ сайты /: идентификатор / агенты" 8 ); 9 10 // Перенаправления11 маршрут( "/ oldRoute" )12 	.toRedirect( "/ main / redirectTest" );13 14 // Прямая маршрутизация15 маршрут( "/ рендеринг /: формат" ).к( "actionRendering.index" );16 17 // С Regex18 маршрут( "post /: postID-regex: ([a-zA-Z] +?) /: userID-alpha / regex: (xml | json)» )19 	.к( "ehGeneral.dumpRC" );20 21 // маршрутизация поддоменов22 маршрут( "/" )23 	.withDomain( ": username.forgebox.dev" )24 	.к( "subdomain.show" );25 26 // Ответы + Условия27 маршрут( "/ ff" )28 	.withCondition( функция(){29 		вернуть ( Findnocase( "Fire Fox", cgi.HTTP_USER_AGENT ) ? правда : ложный );30 	} )31 	.toResponse( "Привет, FireFox" );32 маршрут( "/ luis /: lname" )33 	.toResponse( " Привет, Луис {lname}, как дела {ты} 
", 200, "Что за чувак!" );34 35 // Встроенные ответы закрытия36 маршрут( "/ luis2 /: lname" )37 	.toResponse( функция( мероприятие, rc, prc ){38 		вернуть " Привет из страны закрытия: # arguments.rc.lname # 
";39 	} );40 41 // Не просматривает событий42 маршрут( "свяжитесь с нами" )43 	.так как( "свяжитесь с нами")44 	.смотреть( "simpleView" );45 46 // Именованные маршруты47 маршрут( шаблон="/ routeRunner /: id /: name", имя="routeRunner" )48 	.к( "main.returnTest" );49 50 // Групповая маршрутизация51 группа( { шаблон="/ runAWNsync", обработчик="утилиты.AWNsync" }, функция( опции ){52 	маршрут( '/:Логин пользователя' )53 		.withAction( { получить = "runAWNsync", опции = "returnOptions" } )54 		.конец();55 } );56 57 // RESTFul Действия58 маршрут( "/проверка состояния здоровья" )59 	.withAction( { получить = "runCheck", опции = "returnOptions" } )60 	.к( "утилиты.HealthCheck" );URL-адреса RESTful
ColdBox позволяет легко создавать URL-адреса RESTful с помощью сопоставлений URL-адресов и обнаружения расширений. Изначально ColdBox может обнаруживать любое расширение при предоставлении ресурса URI:
http://api.coldbox.org/rest/user/luis.jsonhttp://api.coldbox.org/rest/user/luis.xmlhttp://api.coldbox.org/rest/user/luis.pdfhttp: //api.coldbox.org/rest/user/luis.yml
Это позволяет обнаруживать такие расширения, обеспечивать безопасность вокруг них и настраивать расширения.
Поддержка Ajax
ColdBox поддерживает все платформы JavaScript, которые предоставляют возможности Ajax. Он также предоставляет функцию автоматической сортировки для рендеринга любого объекта в следующие форматы изначально: XML, WDDX, JSON, JSONP, TEXT, PDF, CUSTOM.
Поддержка SOAP-Adobe Flex / Air
ColdBox предлагает поддержку для создания, мониторинга и разработки веб-сервисов SOAP и удаленных компонентов Flex / Air. Это позволяет использовать одну парадигму разработки для нескольких интерфейсов GUI.
Ссылки на документацию
внешние ссылки
- Официальный сайт
 - Репозиторий кода GitHub
 - Онлайн API
 - ForgeBox - совместное использование кода на основе сообщества
 - Помощь группе Google
 
использованная литература
- ^ «Версии платформы ColdBox». forgebox.io. Получено 2020-08-21.
 - ^ Фреймворк ColdFusion MVC
 - ^ http://www.ortussolutions.com/products/coldbox#overview
 - ^ Как создать службу RESTful в ColdFusion