Тенденции развития технологий разработки приложений

Наталия Елманова

Разработка приложений в современных ИТ-проектах

   Особенности современных ИТ-проектов

   Переход к разделению труда в проектах по разработке ПО

   Изменение требований к приложениям

   Вовлечение заказчика в процесс разработки

Самые популярные архитектуры и платформы

   Архитектура, ориентированная на сервисы

   Наиболее популярные платформы

   Рост популярности мобильных платформ

Инструменты для разработчиков сегодня

   Бесплатные версии коммерческих инструментов

   Инструменты с открытым кодом

   Самые популярные среды разработки

 

Настоящая статья посвящена технологиям разработки приложений и тенденциям их развития в условиях перехода большинства отечественных и зарубежных компаний от стихийной автоматизации отдельных областей их деятельности к единым интегрированным решениям.

Разработка приложений в современных ИТ-проектах

Современный период развития средств автоматизации и информатизации отечественных предприятий можно охарактеризовать как время массового перехода от стихийной автоматизации отдельных областей деятельности компаний к единым интегрированным решениям, охватывающим все аспекты их существования.  Это не могло не отразиться на составе и объеме наиболее часто выполняющихся ИТ-проектов и на методах их выполнения.

Особенности современных ИТ-проектов

Если еще пять-семь лет назад были широко распространены проекты, связанные с заказной разработкой уникальных приложений (и несколько реже — решений на основе готовых компонентов, предназначенных для конкретной предметной области) и выполняемые силами эрудированных программистов широкого профиля, владеющих и смежными специальностями (например, умеющих администрировать локальные сети и СУБД), то сегодня в первую очередь заказываются проекты внедрения готовых бизнес-приложений и ERP-систем, в рамках которых нередко выполняются проекты по разработке решений на базе все тех же готовых бизнес-приложений. Причиной этого является, с одной стороны, осознание руководителями большинства компаний того факта, что, как бы их компания ни претендовала на уникальность в своей маркетинговой стратегии, по существу и ее производство, и отдельные аспекты ее деятельности являются вполне типовыми, а с другой стороны — осознание производителями бизнес-приложений неуникальности бизнес-процессов большинства компаний и создание ими широкого спектра типовых решений с одновременным предоставлением услуг по их внедрению, сопровождению и обновлению своими силами или силами партнеров.

Переход к разделению труда в проектах по разработке ПО

Подобная ситуация не могла не отразиться на кадровом составе ИТ-компаний, среди которых в последнее время преобладают системные интеграторы (иногда имеющие свой отдел разработки, но специализирующиеся в основном на комплексных проектах, включающих не только разработку приложений), а компаний, специализирующихся исключительно на разработке приложений, немного. В последних полным ходом идет процесс специализации, разделившей группу разработчиков на бизнес-аналитиков, системных аналитиков, программистов, технических писателей и руководителей проектов. При этом нередко системный аналитик не умеет программировать, бизнес-аналитик не руководит проектами, а руководитель проекта занимается только организационной работой и не интересуется ни архитектурой приложения, ни тем более предметной областью. Это отражает факт перехода от малотиражного производства эксклюзивного программного обеспечения к массовому промышленному производству типовых решений, востребованных современными пользователями.

Изменение требований к приложениям

Говоря о проектах по разработке приложений и о связанных с разработкой приложений частях комплексных ИТ-проектов, следует заметить, что сегодня наиболее актуальным становится создание корпоративных решений на основе не только СУБД, но и других продуктов — офисных приложений, GIS- и CAD-систем, средств бизнес-анализа, специализированных серверных продуктов, систем управления предприятием и других бизнес-приложений. Требования к защищенности создаваемых решений также заметно отличаются от тех, что существовали еще три года назад. Наконец, одной из важных тенденций является рост интереса к приложениям для мобильных устройств и приложений, способных работать автономно и при необходимости синхронизироваться с информационной системой предприятия.

Из иных тенденций, проявившихся в последнее время в области разработки корпоративных решений, следует отметить растущую потребность компаний в средствах бизнес-анализа, входящих в состав имеющихся решений или существующих в виде отдельных инструментов. Несмотря на то что создание приложений с применением бизнес-аналитики затруднено из-за того, что сегодня вопросы стандартизации доступа к данным многомерных хранилищ и языка запросов к ним остаются актуальными, в руках разработчиков уже имеется достаточно средств решения подобных задач для наиболее популярных аналитических платформ как от поставщиков самих аналитических платформ (например, Oracle, Microsoft и Hyperion), так и от компаний, специализирующихся на инструментах анализа данных (Cognos, ProClarity и Business Objects). Кроме того, средства бизнес-анализа (Business Intelligence and Report Tools, BIRT) доступны и для платформы Eclipse, занимающей сейчас половину рынка средств разработки Java-приложений.

Вовлечение заказчика в процесс разработки

Оценка вклада разработчиков приложений в успех бизнеса компании-заказчика, равно как и оценка качества самого процесса разработки и его результата всегда являлась спорным вопросом и поводом для непонимания и конфликтов. Однако в последнее время появились методы оценки зрелости процессов разработки и рекомендации, основанные на модели Capability Maturity Model Integration (CMMI), а также ряд методологий разработки приложений, предоставляющий заказчику приложения возможность контролировать ход процесса разработки. Модель CMMI позволяет оценить и усовершенствовать процессы разработки приложений и воспользоваться удачными примерами постановки подобных процессов, и наличие оценки того или уровня зрелости согласно этой модели у компании-разработчика в известной мере является гарантией качества конечного результата процесса разработки продукта в этой компании.

Семейство методологий разработки приложений под общим названием Agile methodologies (включающее, в частности, методологию экстремального программирования, о которой мы писали несколько месяцев назад) предоставляет «рецепты» для ежедневного управления проектной командой, включая, наряду с прочими, принцип разработки, управляемой тестированием (Test-Driven Development, TDD), зарекомендовавший себя в качестве средства получения высококачественного кода. Особенностью данного семейства методологий является вовлеченность заказчика в процесс разработки с тем, чтобы он мог его контролировать на всех этапах.

Самые популярные архитектуры и платформы

Архитектура, ориентированная на сервисы

Одна из современных тенденций развития ИТ-инфраструктуры современных предприятий и архитектур корпоративных приложений — переход к архитектуре, ориентированной на сервисы (Service Oriented Architecture, SOA). Данная архитектура предполагает создание и внедрение распределенных приложений и служб, основанных на применении различных технологий, например веб-служб (так, подобные технологии широко поддерживаются платформой Eclipse и средствами разработки от Borland и Microsoft).

Наиболее популярные платформы

Одна из наиболее заметных тенденций последнего времени проявляется в унификации платформ, для которых создается большинство приложений, и выделении среди них двух лидеров — Windows/Microsoft .NET и Java/J2EE. Это во многом обусловлено способностью указанных платформ обеспечить возможность создания приложений, степень защиты данных в которых, равно как и возможности создания пользовательских интерфейсов и обеспечения доступа к сервисам и данным, отвечают современным требованиям. Впрочем, указанная тенденция уже давно ни для кого не нова.

Отметим также, что ввиду бурного роста интереса корпоративных заказчиков к разработкам для мобильных устройств средства разработки данной категории приложений и сами мобильные платформы становятся все более популярными среди разработчиков.

Рост популярности мобильных платформ

Сегодня мобильные приложения разрабатываются примерно для полутора десятков платформ. Согласно проведенному в конце прошлого года исследовательской компанией Evans Data Corp. опросу нескольких сотен разработчиков мобильных приложений, основными лидерами в этой области являются .NET Compact Framework и Java 2 Mobile Edition (J2ME), а также другие платформы Microsoft для мобильных устройств и Embedded Linux (рис. 1).

 

Популярность мобильных платформ среди разработчиков

Рис. 1. Популярность мобильных платформ среди разработчиков (источник — Developers’ Choice Wireless Platforms. Definitive Rankings of Wireless Platform by Developers Worldwide — Evans Data Corp., September 2005)

Тем не менее, согласно тому же опросу, в плане удовлетворения разработчиков качеством инструментов и уровнем поддержки сообщества разработчиков первое место сейчас занимает платформа Nokia Series 60. По прогнозам той же Evans Data Corp., на рынке мобильных платформ ожидается рост доли Embedded Linux.

Что касается средств разработки приложений, для платформы Windows Mobile инструменты от Microsoft существуют уже в течение нескольких лет. Инструменты компании Borland доступны для платформ .NET Compact Framework, Symbian и J2ME. Кроме того, имеются некоторые инструменты разработки мобильных приложений компании Sybase, а также ряда других производителей.

Инструменты для разработчиков сегодня

Узкая специализация разработчиков привела к активному развитию в течение последних пяти лет так называемых средств поддержки жизненного цикла приложений, предназначенных для больших коллективов разработчиков. К подобным средствам относятся средства управления требованиями, моделирования бизнес-процессов, приложений и данных, тестирования и оптимизации приложений, управления коллективной работой, контроля версий, управления изменениями. Производят такие инструменты многие ведущие поставщики ПО: IBM, Computer Associates, Borland, Microsoft, Oracle и ряд других.

В последнее время пристальное внимание инструментам подобного назначения стали уделять многие компании, ранее специализировавшиеся на создании сред разработки (в частности, IBM, Computer Associates, Borland, Microsoft, Oracle и Sybase).   Потребность во взаимной интеграции всех этих «тяжелых» инструментов привела к созданию целых платформ для ролевой разработки программного обеспечения и управления жизненным циклом приложений — такие платформы сейчас производятся компаниями Borland, IBM, Microsoft и рядом других.

Как правило, применение подобных инструментов требует рассмотрения процесса разработки программного обеспечения как производственного процесса и соответственно создания и внедрения методик управления этим процессом, сходных с методиками управления процессами материального производства. Внедрение подобных методик зачастую осуществляется   путем реализации отдельных (и не дешевых!) ИТ-проектов по внедрению в компаниях — разработчиках интегрированных платформ разработки приложений с целью автоматизации и оптимизации процессов, сопровождающих разработку, включая постановку задач, управление требованиями, достижение соответствия стандартам качества.

Бесплатные версии коммерческих инструментов

Если вспомнить, что происходило с инструментами для разработки в последние два года, можно заметить, что в последнее время весьма активно проявилась тенденция выпуска ведущими производителям средств разработки их бесплатных версий (причем с неплохими функциональными возможностями) с целью привлечь внимание разработчиков к потенциалу и возможностям полнофункциональных продуктов и платформ, для которых они предназначены. В частности, компания Borland уже примерно три года выпускает бесплатные версии некоторых своих средств разработки. Корпорацией Microsoft недавно было выпущено семейство продуктов Express, включающее несколько инструментов для разработки приложений Windows Forms и ASP .NET. Корпорация Oracle, в свою очередь, также предоставила свободный доступ разработчиков к инструменту Oracle JDeveloper 10g.

Инструменты с открытым кодом

Наблюдается еще одна тенденция, характерная для современного рынка средств разработки, —  активный рост популярности платформ и инструментов с открытым исходным кодом, в развитие которых сейчас инвестируется немало средств коммерческими компаниями, в том числе такими известными производителями платформ, как IBM, Novell и Oracle. Среди наиболее ярких примеров следует отметить активное развитие среды Eclipse — универсальной открытой платформы разработки, совместимой с множеством языков, платформ развертывания и технологий, а также проекта Mono реализации части платформы .NET для операционной системы Linux (для последней сейчас активно выпускаются компиляторы и иные инструменты).

Начало проекту Eclipse было положено в 1998 году корпорацией IBM, поставившей перед собой цель создания интегрированной среды Java-разработки нового поколения, расширяемой за счет встраиваемых в нее интегрируемых инструментов, силами нескольких поставщиков Java-инструментов. С этой целью корпорация IBM в конце 2001 года предоставила сообществу Open Source часть исходного кода своего средства разработки Java-приложений WebSphere Studio Workbench и сформировала консорциум Eclipse (включавший представителей компаний Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft и Webgain) для управления дальнейшим развитием этой среды разработки, преобразованный в дальнейшем в независимую некоммерческую организацию Eclipse Foundation, насчитывающую сегодня 115 членов.

Сегодня, по прошествии пяти лет с момента ее создания, платформа Eclipse стала настолько популярна, что начала вытеснять с рынка широко применявшиеся коммерческие инструменты (например, некоторые средства Java-разработки). Сегодня доля рынка средств разработки Java-приложений, занимаемая Eclipse, составляет примерно 50%. При этом в течение предыдущего года явно наблюдалась тенденция превращения Eclipse из среды Java-разработки в платформу интеграции инструментов для всего жизненного цикла разработки приложений — недавно в рамках консорциума Eclipse были начаты такие проекты, как создание графической среды моделирования, инструментов для архитектуры, ориентированной на сервисы, а также выпущены обновленные версии инструментов тестирования, бизнес-анализа, средств создания web-приложений.

Что касается собственно средств разработки приложений, на основе платформы Eclipse сейчас созданы среды разработки для PHP, Fortran, Macromedia Flex; планируется выпуск ряда инструментов для разработки приложений для встроенных и мобильных платформ. Для платформы Eclipse существуют и коммерческие средства разработки компаний IBM, Borland и SAP.

Самые популярные среды разработки

Согласно опросу 1200 разработчиков, проведенному в июне этого года исследовательской компанией Evans Data Corp., наиболее широко используемой средой разработки оказалась Microsoft Visual Studio .NET (рис. 2).

 

Частота использования сред разработки

Рис. 2. Частота использования сред разработки (источник — Developers’ Choice IDE Scorecard — Evans Data Corp., June 2006)

По данным того же опроса, наиболее популярной в плане функциональности средой разработки приложений оказалась IBM Rational Application Developer, признанная участниками опроса лучшей в качестве инструмента моделирования и сборки приложений и обладающей лучшим набором примеров (рис. 3).

 

Суммарный рейтинг сред разработки

Рис. 3. Суммарный рейтинг сред разработки (источник — Developers’ Choice IDE Scorecard — Evans Data Corp., June 2006)

Результаты данного опроса отражают уже упомянутые тенденции преобладания двух наиболее популярных платформ (Windows/Microsoft .NET и Java/J2EE  — практически все популярные среды разработки предназначены для этих платформ) и роста популярности средств и платформ разработки с открытым кодом (о чем свидетельствует присутствие Eclipse в пятерке самых популярных сред разработки).

***

Итак, современные тенденции развития технологий разработки приложений включают уменьшение доли разработки приложений в ИТ-проектах, постепенный переход от малотиражного производства эксклюзивного программного обеспечения к массовому промышленному производству типовых решений, все более активное применение средств поддержки жизненного цикла разработки приложений (включая проекты внедрения интегрированных платформ для разработки приложений). В последнее время также усилился интерес к созданию приложений для мобильных платформ. Характерной тенденцией последних лет является также появление высококачественных инструментов с открытым кодом. Не исключено, что названные тенденции сохранятся еще в течение как минимум нескольких лет.

 

В начало В начало

КомпьютерПресс 9'2006

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует