http://msdn.microsoft.com/mobility/
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/faq/default.aspx
Для разработки приложений Microsoft Smartphone с использованием Visual Studio Net 2003 вам потребуется установить пакет SDK для Windows Mobile 2003-based Smartphones, доступный для загрузки по следующему адресу:
http://msdn.microsoft.com/mobility/windowsmobile/downloads/
Для просмотра постоянно обновляемого документа Wiki, содержащего ответы на наиболее часто задаваемые вопросы, посетите следующий сайт:
http://wiki.opennetcf.org/ow.asp?CompactFrameworkFAQ
Особенности взаимодействия с собственным кодом
Вызов собственного кода (native code) из VB.NET или C# не представляет особых сложностей, но вам следует знать о некоторых частных правилах и устоявшихся приемах. Лучше всего изучать это на примерах.
■ Основы работы с собственными кодами в среде .NET Compact Framework
An Introduction to P/Invoke and Marshalling on the Microsoft .NET Compact Framework
Авторы: Jon Box, Dan Fox; Quilogy
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfintrointerp.asp
■ Тонкости работы с собственными кодами в среде .NET Compact Framework
Advanced P/Invoke on the Microsoft .NET Compact Framework
Авторы: Jon Box, Dan Fox; Quilogy
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfadvinterop.asp
■ Передача асинхронных сообщений из собственного кода в управляемый код при помощи .NET Compact Framework
Asynchronous Callbacks from Native Win32 Code Автор: Maarten Struys; PTS Software
http://msdn.microsoft.corn/library/default.asp?url=/library/en-us/dnnetcomp/html/AsynchCallbacks.asp
Работа с операторами мобильных сетей
Компания Microsoft предлагает рекомендации и программу сотрудничества по вопросам создания, сертификации и развертывания приложений на мобильных телефонах, публикуемые операторами мобильных сетей.
■ Сокращенная ссылка, которая переадресует вас на более подробное содержимое, указанное далее:
Сокращенный URL-адрес Mobile2Market
http://www.mobile2market.com
■ Сертификация от Mobile2Market и маркетинговая программа
http://msdn.microsoft.com/mobility/windowsmobile/partners/mobile2market/default.aspx
■ Список операторов мобильных сетей, рекомендации по отдельным операторам и контактная информация
http://msdn.microsoft.com/mobility/windowsmobile/partners/mobile2market/smartphoneapps/default.aspx
Развертывание и установка
Инсталляционные технологии постоянно развиваются, и то, какую из них следует использовать, зависит от типа разрабатываемого приложения и вида целевого оборудования. Как и в случае изучения способов взаимодействия с собственными кодами, лучше всего изучать то, что вам необходимо, на конкретных примерах.
Инструкции по развертыванию и установке приложений .NET Compact Framework хорошо изложены в документации продукту MSDN, которая поставляется вместе с Visual Studio .NET. С неплохим примером развертывания приложения на устройствах вы можете ознакомиться в оперативной справочной документации, последовательно выбрав следующие разделы: Visual Studio .NET→Developing with Visual Studio .NET→Designing Distributed Applications→Developing for Devices→Samples and Walkthroughs→Smart Device Walkthroughs→Generating Custom CAB Files for Device Projects (Visual Studio .NET→Разработка с помощью Visual Studio .NET→Проектирование распределенных приложений→Разработка для устройств→Примеры и анализ→Анализ интеллектуальных устройств→Генерация пользовательских CAB-файлов для проектов, ориентированных на устройства).
■ Пошаговый разбор создания инсталляционного приложения для Pocket PC
Developing and Deploying Pocket PC Setup Applications
Автор: Ralph Arvesen; Vertigo Software, Inc.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfdeployment.asp
■ Подробное описание динамической установки .NET Compact Framework на устройствах на тот случай, если это вам когда-либо понадобится
Creating an MSI Package That Detects and Updates the .NET Compact Framework
Автор: Stan Adermann; Microsoft Corporation
http://msdn.microsoft.com/library/default.asp?url=/library/ en-us/dnnetcomp/html/netcfdepl.asp
Профессиональные инструментальные средства разработки инсталляционных программ. В настоящее время некоторые изготовители инсталляционных средств для настольных компьютеров и серверов расширили свои предложения, которые теперь охватывают и мобильные устройства. Вне всякого сомнения, вам стоит ознакомиться с предложениями InstallShield для мобильных устройств,
http://www.installshield.com
Примечание. Я указал здесь InstallShield, учитывая широкую известность и популярность этого средства установки. Если вы используете другие инсталляционные программы, то, безусловно, вам стоит посетить соответствующие Web-сайты, чтобы узнать, поддержку каких мобильных устройств они предлагают.
Оптимизация производительности
В указанной ниже статье вы найдете превосходные советы и описания эффективных практических методов настройки производительности приложений, а также подробное изложение методик получения данных профилирования приложений с помощью .NET Compact Framework, которые вы сможете применить для анализа производительности приложений. Эта прекрасная статья поможет вам сохранять "дух производительности" в процессе разработки мобильных приложений.
■ Developing Well-Performing .NET Compact Framework Applications
Авторы: Dan Fox, Jon Box; Quilogy
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfperf.asp
ПРИЛОЖЕНИЕ Б
Примеры программ на языке Visual Basic .NET
Почему именно VB.NET и С#?
Споры между разработчиками программ на языках VB.NET и С# никогда не прекращается, и это неплохо! Представителям обоих лагерей есть чему поучиться друг у друга. Что касается меня, то, поработав с обоими языками в течение многих лет, и в частности, имея опыт работы в составе группы разработчиков на Visual Basic, могу поделиться следующими наблюдениями. Каждый из этих языков может быть использован для решения практически любой задачи программирования — все дело в акцентах. Я обнаружил, что Visual Basic .NET с его традиционным для Visual Basic акцентом на продуктивности программирования великолепно приспособлен для разработки конечных приложений.
С другой стороны, преимуществом С# является его строгость, что делает его более приспособленным для проектирования каркасов приложений. По всей видимости, оба языка в равной степени хорошо приспособлены для проектирования повторно используемых компонент, которые занимают промежуточное положение между независимыми приложениями и обширными библиотеками программ. Кроме того, оба языка предлагают опции, отличные от используемых по умолчанию, которые сближают подходы, основанные на использовании каждого из них. Так, в Visual Basic .NET имеется директива Option Strict On, которую я настоятельно рекомендую помещать в начале любого модуля, который вы пишете, в качестве меры, позволяющей вылавливать многие виды распространенных синтаксических и логических ошибок. Помимо этого, оба языка учатся друг у друга, заимствуя каждый с выходом очередной новой версии нечто полезное, что впервые было предложено в другом языке; это порождает хороший дух соперничества между этими двумя языками.
В Visual Basic .NET мне особенно нравятся возможности, относящиеся к обработке событий; ключевые слова AddHandler и Handles (используемые в приведенных ниже кодах) гораздо более элегантны и декларативны, чем их текущие варианты, используемые в С#. Поскольку удобнее всего работать с примерами, которые написаны на наиболее привычном языке, я поместил в данное приложение VB.NET-версии почти всех листингов, приведенных в основной части книги.