Корпоративная мультиплатформенность бизнес-приложений
В сегодняшних непростых экономических условиях стратегия выживаемости компаний предполагает не унификацию бизнес-процессов в отраслевых рамках, а умение быстро перестраивать прикладную часть ИТ-инфраструктуры. Конкурентоспособность предопределяется быстротой реакции, а не рефлективной способностью впасть в деловую спячку, включив режим минимального ресурсопотребления. Доминирует смешанный подход, когда ключевые аспекты бизнеса автоматизируются за счет внутренних команд, а наименее критичные бизнес-процессы получают поддержку со стороны ИТ в виде готовых решений, а также продуктов аутсорсинговых компаний. Цикл от постановки бизнес-задачи (например, введение нового сопровождающего информационного сервиса) до ее реализации путем встраивания в эксплуатируемую систему может укладываться в рамки нескольких рабочих дней. Критичным является не производительность отдельных модулей, не архитектурное совершенство, и даже не предполагаемые затраты на сопровождение и модификацию системы. Работающее прикладное ПО «здесь и сейчас» ценится выше, чем фундаментальные решения, у которых срок завершения внедрения не соответствует современному темпоритму бизнеса.
Разработка прикладного ПО для бизнеса предполагает наличие у программистов специфических навыков и особого инструментария. Так называемые средства быстрой разработки, позволяющие практически мгновенно реализовать вполне работоспособные приложения для взаимодействия с базами данных, здесь не имеют альтернативы, особенно при наличии большого объема унаследованного программного кода. Классическая среда Delphi, ставшая для целого поколения разработчиков дорогой в ИТ-будущее, остается весьма популярной в корпоративном сегменте, несмотря на смену компании-владельца. Embarcadero не только обладает всеми правами на данную линейку «средств быстрой разработки», но и предложила рынку новые интересные возможности, полностью отражающие потребности современной инженерии прикладных программных средств.
Фактическое доминирование одной платформы в последние несколько лет представляло собой ярко выраженное динамическое равновесие. Становилось ясно, что новые импульсы со стороны производителей аппаратного обеспечения мобильного класса выведут ситуацию в плоскость многополярного развития. Помимо мобильности как принципиально другой аппаратной платформы стал заметен и чисто потребительский тренд, когда пользователи, включая корпоративный сегмент, просто «устали» от однообразия интерфейсных метафор. User experience подразумевает эмоциональную оценку характеристик продукта, а преемственность в моделях интерфейсов на базе предлагаемого ОС набора компонентов стала синонимичной слову «однообразие». Эстетические предпочтения вкупе с высокими стандартами качества платформы Mac OS значительно пересилили фактор стоимости. Основным нефункциональным качеством как собственного, так и готового ПО стала мультиплатформенность.
Для независимых разработчиков и системных интеграторов распространение мультиплатформенности – скорее позитивный фактор, так как это способствует расширению круга потребителей, а проблема освоения новых инструментальных средств разработки несущественна. Внутрикорпоративная же разработка ПО сильно отличается от аналогичных процессов в независимых командах. Концентрация на минимизации срока ввода новых, пусть и небольших по меркам всей системы возможностей, массовый, подчас внеплановый пересмотр архитектуры функционального ядра на основе изменяющихся структур данных, децентрализация и отсутствие четких вертикальных связей в архитектуре системы, а также превалирование гибкости над четкостью делает невозможным ведение нескольких идентичных проектов. Эти факторы и определили текущую востребованность средств быстрой разработки под различные платформы на основе единого исходного кода проекта.
Компания Embarcadero представляет средства «нативной» разработки, но в это понятие вкладывается не только генерация платформно-ориентированных исполняемых модулей. Строгое соответствие «пиксел-в-пиксел» интерфейсов приложений принятым платформенным шаблонам де-факто стало качеством, определяющим выбор в пользу конкретного ПО. Продукты Delphi и C++Builder решили эту задачу за счет введения новой библиотеки FireMonkey с сохранением технологии компиляции до низкоуровневого кода. Сама возможность использования модульного компилятора или определенного набора не вызывает вопросов, тогда как повышение уровня абстракции элементов управления и представления пользовательского интерфейса предполагает различные варианты решения. Платформа FireMonkey в отличие от своей предшественницы – библиотеки визуальных компонентов VCL – использует средства GPU для отображения графических элементов в рамках графических библиотек: DirectX для Windows и Quartz/OpenGL для Mac OS.
Обобщенные механизмы воспроизведения графики, предлагаемые библиотеками на основе GPU, позволили применить развитый механизм стилизации интерфейса. Изначально элемент управления способен отобразить себя только в контексте примененного к нему стиля, включая растровые и анимационные эффекты. Тогда адаптация интерфейса к конкретной платформе достигается загрузкой нужного стиля в рамках модели дизайна, характерной для конкретной платформы. Отсутствие точного интерфейсного соответствия типовым приложениям во многом не дали развития альтернативным подходам. Даже малейшее отклонение в визуальном представлении от принятых для платформы интерфейсов стандартов создает ощущение «чужеродности» используемого ПО, резко снижая как уровень доверия, так и эмоциональный комфорт, чего удается избежать при использовании средств разработки Embarcadero. Сегодня Delphi XE3/C++Builder XE3 обеспечивают «нативную» мультиплатформенность для Windows XP-7 и Mac OS X, а также стилизацию существующих приложений под Windows 8. В ближайшем будущем – Mobile Studio для поддержки iOS и Android на основе FireMonkey.