Visual Basic.NET приходит на мобильные устройства

Вступление

В данной статье описывается, как разрабатывать Windows-приложения для карманных компьютеров, поддерживающих .NET Compact Framework. Рассматривается весь цикл разработки, отладки и развертывания приложения, а также показываются отличия между .NET Framework и .NET Compact Framework.

Smart Device Extensions (SDE) for Microsoft Visual Studio .NET позволяет применить весь ваш опыт .NET-программирования при разработке Windows-приложений для устройств, поддерживающих Microsoft .NET Compact Framework. С помощью SDE можно создавать приложения для платформ Pocket PC и Microsoft Windows CE .NET, используя знакомые языки - Microsoft Visual Basic .NET и те же инструментальные средства и библиотеки классов, что и при разработке .NET-приложений для настольных компьютеров и серверов. Так как карманные устройства не поддерживают все возможности, предоставляемые их полноразмерными "сородичами", самое сложное - выяснить, какие составные части Microsoft .NET Framework претерпели изменения из-за приведения этой инфраструктуры в соответствие с ограниченными возможностями мобильных устройств. К счастью, среда Visual Studio полностью поддерживает мобильные устройства и, в частности, позволяет отлаживать на настольном компьютере приложения, рассчитанные на эти устройства.

Приложение "Здравствуй, мир!"

Создавать SDE-приложения в Visual Basic .NET очень просто. Начнем с традиционного приложения "Здравствуй, мир!" для демонстрации всего процесса разработки, который состоит из следующих этапов.

  1. Создание приложения в Visual Studio .NET на настольном компьютере.
  2. Развертывание приложения на устройстве.
  3. Отладка приложения в Visual Studio .NET.

Будем считать, что у вас имеется подключенное устройство или (при отсутствии настоящего устройства) эмулятор Pocket PC.

  1. Создание нового SDE-проекта в Visual Basic .NET.
    1. Откройте диалоговое окно "New Project" и выберите шаблон "Smart Device Application" из группы "Visual Basic Projects" (рис. 1).

      Рис. 1. Диалоговое окно New Project, шаблон Smart Device Application

    2. При необходимости измените местонахождение проекта в поле Location.
    3. В поле Name введите имя приложения (например, "HelloWorld"). В каталоге, указанном в поле Location, будет создан новый каталог с исходным кодом вашего приложения.
    4. Щелкните OK.
  2. Это приведет к запуску Smart Device Application Wizard (рис. 2). Вам нужно выбрать платформу, для которой ведется разработка, - Windows CE или Pocket PC (где Pocket PC является специфическим типом устройства Windows CE). От этого выбора зависит, какой шаблон проекта будут использоваться для построения изначально пустого приложения. Так, в форме шаблона "Windows Application" для Pocket PC присутствует элемент управления MainMenu, которого нет в шаблоне для платформы Windows CE.

    Рис. 2. Smart Device Application Wizard

    1. Выберите платформу (если будете использовать эмулятор, укажите Pocket PC).
    2. Выберите тип проекта. Для нашего первого приложения, которое просто будет показывать форму на устройстве, выберите "Windows Application".
    3. Щелкните OK, после чего мастер создаст проект (это может занять какое-то время).

    Вы должны увидеть приложение на Visual Basic .NET.

    Теперь создадим небольшую тестовую программу.

    1. Поместите на форму кнопку (элемент управления Button).
    2. Дважды щелкните кнопку (или как-то иначе откройте окно кода) и в обработчике события Click кнопки введите следующий код:
      MsgBox("Здравствуй, мир")
    3. Нажмите <F11>, чтобы начать пошаговое выполнение приложения. При этом приложение компилируется (информация о ходе компиляции показывается в окне Output), а затем открывается диалоговое окно Deploy.
    4. Выберите целевое устройство (мы будем использовать Pocket PC Emulator) и щелкните Deploy, чтобы приступить к развертыванию. Как и при компиляции, информация о ходе развертывания показывается в окне Output, а в строке состояния Visual Studio .NET выводится текущая информация.
      Примечание Если в вашей конфигурации SDE есть какие-либо ошибки, они проявятся именно на этом этапе. Если вы прочитали и выполнили инструкции по установке, то, как правило, проблема может возникнуть только одна: не удается соединиться с устройством. Заметьте, что в данной версии SDE даже при использовании эмулятора требуется, чтобы у компьютера был сетевой адрес. Если проблемы с установкой соединения решить не удалось, пожалуйста, прочитайте соответствующую документацию.

    Visual Studio .NET свяжется с устройством и установит вашу программу. Прежде всего на устройство установится .NET Compact Framework, если этой инфраструктуры еще не было на устройстве. Затем ваше приложение будет скопировано в каталог \Program Files (по умолчанию). И, наконец, приложение запустится (или запустите его сами).

    Рис. 4. Диалоговое окно "HelloWorld", показываемое на устройстве

  3. Щелкните кнопку OK в правом верхнем углу диалогового окна устройства, чтобы закрыть это окно.
  4. Щелкните кнопку OK в правом верхнем углу формы на интеллектуальном устройстве.
  5. При этом вы вернетесь в Visual Studio .NET. Заметьте, что приложение исчезло с экрана устройства.

Итак, мы создали приложение (пусть и тривиальное), развернули его на интеллектуальном устройстве. Все это наверняка показалось вам очень знакомым, так как при разработке других приложений в Visual Studio .NET вы делали почти то же самое. Теперь закончим разработку приложения и создадим редистрибутивный пакет, чтобы вы могли поделиться этой мощной программой с друзьями и удивить их своим мастерством программирования!

Заключительная часть разработки приложения

Так как мы хотим, чтобы наша программа для интеллектуального устройства выглядела как настоящее профессиональное приложение, добавим в нее значок (icon) и создадим редистрибутивный CAB-файл. Затем CAB-файл можно будет открыть и запустить щелчком или касанием указателя (tap), либо предварительно скопировать этот файл на устройство. CAB-файл можно запускать из любого места, так как он содержит всю информацию по установке, необходимую интеллектуальному устройству. При запуске CAB-файла из него автоматически извлекаются файлы приложения и помещаются в подкаталог каталога \Program Files с тем же именем, что и проект для интеллектуального устройства.

Вы можете управлять тем, куда устанавливаются файлы приложения. Для этого нужно перед запуском мастера CAB-файлов указать свой INF-файл (с расширением .inf) и при необходимости библиотеку Setup.dll. В INF-файле задаются каталоги, файлы, параметры и конфигурации. В файле Setup.dll (необязательном) содержатся функции, реализующие операции, которые выполняются при установке или удалении вашего приложения.
Теперь все готово к компиляции приложения и созданию редистрибутивного пакета.