Сегодняшнее распространение инструментов для улучшения разработки программного обеспечения — повод для празднования. Многие замечательные люди ежедневно работают над созданием и распространением утилит, плагинов и IDE, которые упрощают нашу разработку! Однако оборотная сторона медали распространения описывает постоянную борьбу за определение лучшего инструмента как для текущей работы, так и для вашего будущего. Если вы когда-либо сталкивались с восемью фреймворками, конкурирующими за ваше внимание в одной и той же области программного обеспечения, и чувствовали паралич выбора, вы понимаете, насколько сложно может быть сделать этот важный личный и деловой выбор. Имея это в виду, мы приступаем к миссии по публикации серии официальных документов, в которых RAD Studio сравнивается и противопоставляется другим основным фреймворкам для разработки приложений, чтобы найти лучший долгосрочный выбор.. Наша аудитория — это как разработчики, которые должны хорошо понимать свой выбор, так и лица, принимающие решения, и бизнес-стратеги, ищущие структуру, которая будет поддерживать своевременную доставку, расширение в будущем и долгосрочную стабильность.
Методология
Для сравнения выбранных фреймворков будут использоваться пять тестовых приложений.
- Простой калькулятор стилей Windows 10
- GitHub недавний проводник
- Проводник Windows
- Читатель новостей Unicode RSS (с локальной базой данных)
- Приложение для захвата экрана и истории
Каждое приложение включает в себя основные функции, выполняемые хорошей платформой, такие как дизайн пользовательского интерфейса, связь REST API, поддержка Unicode, поддержка баз данных и т. Д. Эти приложения будут разработаны экспертами в выбранных средах (добровольно для Delphi и заключены контракты на другие платформы) и оценены в соответствии с к основным метрикам проекта.
Метрики
Эти документы будут оценивать фреймворки с точки зрения производительности разработчиков , функциональности фреймворка , гибкости инструментов и производительности во время выполнения .
- Продуктивность разработчиков — это мера усилий и кода, необходимых разработчикам для выполнения типичных задач разработки. Время, необходимое для выполнения задач разработки, влияет на доставку решения, а объем создаваемого кода влияет на усилия по обслуживанию (больше кода = больше ошибок). Производительность напрямую влияет на время вывода продукта на рынок и долгосрочные затраты на рабочую силу. Производительность будет измеряться путем сравнения начальной скорости разработки, окончательного времени сборки «быстрого запуска» и размера кода каждого тестового приложения, написанного в рассматриваемых средах.
- Функциональность означает его пригодность для конкретной задачи, определяемой в этом проекте как его расширяемость и безопасность. Отличная функциональность фреймворка позволяет компаниям создавать собственные расширения на родном языке, а также защищать свой исходный код от использования. Функциональность фреймворка будет оцениваться в соответствии с его расширяемостью, сопротивляемостью декомпиляции и известными эксплойтами.
- Гибкость означает широкий спектр задач, которые можно решить с помощью этого инструмента. Хотя IDE и фреймворки технически бесконечно гибки, поскольку в них можно разрабатывать все, что угодно, этот проект будет сосредоточен на кроссплатформенном использовании, сложности развертывания и требованиях, инструментах, интеграции с «магазинами приложений» и инструментах доступа к базе данных. Гибкость фреймворка позволяет разработчикам достигать своих целей с минимальным использованием других языков / инструментов и обеспечивает благодатную почву для надежного рынка сторонних инструментов . Гибкость будет качественно оценена на основе собственных возможностей каждой платформы, вариантов развертывания и предложений сторонних производителей.
- Производительность во время выполнения позволяет конечным пользователям оценивать одно приложение по сравнению с другим с такими же функциями и интерфейсом. Компании, создающие приложения с превосходной безвременной производительностью, избегают неудовлетворенности клиентов за счет минимизации времени ожидания и использования ресурсов на медленных машинах. Производительность во время выполнения будет оцениваться по времени запуска, пиковому использованию памяти и среднему использованию памяти.
Дорожная карта проекта
Embarcadero планирует этот проект как итеративное сравнение RAD Studio, Delphi и C ++ Builder с другими фреймворками с целью стимулирования диалога с другими разработчиками фреймворков. Все исследования и данные будут опубликованы на GitHub для ознакомления другими. Первое сравнение проводится между библиотекой визуальных компонентов (VCL) RAD Studio и Windows Presentation Foundation (WPF) .NET с использованием тестового приложения Calculator. После этого мульти-прикладная среда FireMonkey от RAD Studio будет протестирована на Electron. Ожидайте, что будущие итерации продолжат работу над вышеупомянутыми тестовыми проектами, будут включать новые фреймворки и опираться на эти первоначальные документы, чтобы обеспечить всестороннее сравнение ведущих инструментов разработки 2020 года.