NET Compact Framework
NET Compact Framework — это облегчённая версия платформы .NET Framework, разработанная корпорацией Microsoft для создания и выполнения управляемых приложений на устройствах с ограниченными вычислительными ресурсами, таких как карманные персональные компьютеры (КПК), смартфоны, промышленные контроллеры и встраиваемые системы на базе операционных систем Windows CE и Windows Mobile.
История
Первая версия .NET Compact Framework (v1.0) была выпущена в 2002 году одновременно с выходом .NET Framework 1.0 и операционной системы Pocket PC 2002. Основной целью было предоставить разработчикам знакомую среду программирования на C# и Visual Basic .NET для мобильных устройств, сохранив при этом совместимость с основными библиотеками и принципами работы настольной версии.
В 2005 году вышла версия 2.0, которая значительно расширила функциональность: была добавлена поддержка Windows Forms, улучшена работа с XML-веб-сервисами, внедрена поддержка SQL Server Compact Edition (SQL CE) — облегчённой версии базы данных для мобильных устройств. Версия 2.0 стала основой для большинства коммерческих мобильных приложений середины 2000-х годов.
Финальная версия 3.5 была выпущена в 2008 году и включала поддержку LINQ, Windows Communication Foundation (WCF) и улучшенную работу с сенсорным вводом. Разработка платформы была прекращена в 2010 году после выхода Windows Phone 7, которая использовала Silverlight и XNA вместо .NET Compact Framework. Официальная поддержка .NET Compact Framework 3.5 завершилась в 2019 году.
Архитектура и основные компоненты
.NET Compact Framework является подмножеством полной .NET Framework, но имеет ряд архитектурных отличий, обусловленных ограниченными ресурсами целевых устройств:
Среда выполнения (Common Language Runtime — CLR)
CLR в .NET Compact Framework реализует управляемое выполнение кода, сборку мусора и безопасность типов. По сравнению с настольной версией, CLR Compact имеет меньший размер (около 5-10 МБ) и упрощённую реализацию сборщика мусора, что снижает задержки при работе на медленных процессорах.
Библиотека классов
Библиотека классов .NET Compact Framework включает около 20% классов из полной .NET Framework. Основные пространства имён:
- System.Windows.Forms — реализация оконных форм для мобильных устройств. Поддерживает только базовые элементы управления: кнопки, текстовые поля, списки, меню. Отсутствуют сложные элементы, такие как DataGridView или RichTextBox.
- System.Data — поддержка работы с базами данных через ADO.NET. Включает провайдеры для SQL Server Compact Edition и Microsoft Access.
- System.Xml — полная поддержка XML-документов, включая XPath и XSLT.
- System.Net — поддержка HTTP, TCP/IP и UDP-соединений. Включает классы для работы с веб-сервисами (SOAP).
- System.IO — работа с файловой системой, включая чтение и запись данных на карты памяти и встроенные накопители.
Отличия от полной .NET Framework
- Отсутствие поддержки Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) и Windows Communication Foundation (WCF) в полном объёме.
- Упрощённая система безопасности: отсутствует Code Access Security (CAS), используется только рольовая безопасность.
- Ограниченная поддержка рефлексии: невозможно динамически создавать сборки.
- Размер сборок (DLL) значительно меньше, что критично для устройств с ограниченной памятью.
Применение
.NET Compact Framework использовалась в следующих областях:
Мобильные устройства
- КПК и смартфоны на Windows Mobile — основная область применения. Разработчики создавали приложения для управления контактами, календарями, навигации, а также корпоративные решения для полевых сотрудников.
- Навигационные системы — например, приложения для GPS-навигации на устройствах Pocket PC.
- Медицинские устройства — портативные терминалы для сбора данных о пациентах, управления лекарствами и ведения электронных карт.
Промышленность и встраиваемые системы
- Промышленные контроллеры — устройства на базе Windows CE, работающие на производственных линиях, в системах учёта и управления.
- Терминалы сбора данных — портативные сканеры штрих-кодов, используемые в логистике и розничной торговле.
- Автоматизация зданий — контроллеры для управления освещением, климатом и безопасностью.
Финансовый сектор
- POS-терминалы — устройства для приёма платежей, работающие на Windows CE.
- Мобильные банковские приложения — ранние версии мобильных банков для КПК.
Инструменты разработки
Разработка приложений под .NET Compact Framework велась в среде Visual Studio 2005, 2008 и 2010. Для эмуляции устройств использовался эмулятор Windows Mobile, входящий в состав SDK. Основные языки программирования: C# и Visual Basic .NET.
Для развёртывания приложений на устройствах использовались CAB-файлы (установочные пакеты) или прямая загрузка через ActiveSync. Для работы с базами данных применялась SQL Server Compact Edition, которая могла быть встроена в приложение как отдельная DLL.
Критика и ограничения
- Ограниченная производительность — на устройствах с процессорами 200-400 МГц и 64-128 МБ ОЗУ приложения могли работать медленно, особенно при работе с большими объёмами данных.
- Отсутствие поддержки современных технологий — платформа не поддерживала WPF, WCF, ASP.NET и другие технологии, доступные в полной .NET Framework.
- Сложность отладки — эмуляторы не всегда точно воспроизводили поведение реальных устройств, что приводило к ошибкам при развёртывании.
- Прекращение поддержки — с выходом Windows Phone 7 и переходом на Silverlight, а затем на UWP, .NET Compact Framework стала устаревшей. Разработчикам пришлось мигрировать на новые платформы.
Наследие
Несмотря на прекращение поддержки, .NET Compact Framework оказала значительное влияние на развитие мобильной разработки. Многие концепции, такие как управляемый код, сборка мусора и библиотеки классов, были перенесены в более поздние платформы Microsoft: Windows Phone, Windows 10 Mobile и .NET MAUI. Кроме того, опыт работы с .NET Compact Framework повлиял на создание облегчённых версий .NET для встраиваемых систем, таких как .NET Micro Framework.
Источники
- Microsoft Developer Network (MSDN) — документация по .NET Compact Framework 3.5
- «Programming Microsoft .NET Compact Framework» — книга Дэниела М. Морриса (2006)
- «Windows Mobile Development» — статьи на сайте MSDN Magazine (2005-2008)
- «.NET Compact Framework 3.5: The Complete Guide» — техническая документация Microsoft (2008)
- Статья «.NET Compact Framework: A Retrospective» на сайте CodeProject (2017)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →