Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре

Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре

Читать онлайн Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 144 145 146 147 148 149 150 151 152 ... 206
Перейти на страницу:

В зависимости от того, как будет использоваться ваше мобильное приложение, ему может потребоваться соединение с источниками данных посредством самых различных моделей подключения. Некоторые модели подключения, например Wi-Fi, отличаются высокой скоростью передачи данных и небольшой стоимостью, тогда как другие работают медленно и обладают высокой стоимостью. Дополнительные требования к разрабатываемому проекту могут появиться из-за необходимости поддержки соединений через общедоступные или виртуальные частные сети. В процессе проектирования модели доступа к данным для мобильного приложения важно представлять себе, какими могут быть сценарии подключения, и каким образом это может отразиться на ваших потребностях доступа к данным и их синхронизации. Важно продумать, какие данные будут храниться локально на устройстве, как будет организовано хранение этих данных и доступ к ним, и каким образом эти данные будут синхронизироваться с серверами.

В средах программирования доступа к данным часто предлагают многоуровневые подходы для организации работы с данными. Как и при работе с XML-ориентированными средами, существуют низкоуровневые модели однонаправленного доступа к данным, которые не имеют состояния, и построенные поверх них полнофункциональные модели, хранящие очень подробную информацию о своем состоянии. ADO.NET предлагает возможность выбора между этими типами моделей. Как разработчик, вы можете работать либо на высоком уровне абстракции, используя объекты ADO.NET DataSet для управления данными в памяти, либо на низком уровне, используя непосредственно классы DataReader и DataConnection, которые напрямую связываются с базами данных. Как и на заправках, полный сервис — это, разумеется, неплоxo, но за все услуги надо платить; в случае доступа к данным дополнительной платой за использование высокоуровневых служб будет необходимость хранения состояния в памяти, а это, в конечном счете, означает снижение производительности.

Если вы решите работать на низком уровне абстракции, то сможете хранить загруженные данные в наиболее эффективном для нужд вашего приложения формате, но тогда вам придется взять на себя все заботы по эффективному управлению данными.

В случае данных небольшого объема, данных, которые требуют интенсивной поддержки динамического обновления или данных, характеризующихся сложными взаимосвязями, вам будет очень полезна полнофункциональная модель, основанная на использовании объектов ADO.NET DataSet. При работе с объектами DataSet убедитесь в том, что вы используете наиболее эффективные способы доступа к данным. В случае работы с объектами DataRow в объектах DataTable это означает использование кэшированных индексов объектов DataColumn для доступа к полям.

Для достижения максимально возможной производительности при работе с большими объемами данных вы должны продумать для своего приложения пользовательскую модель данных, в наибольшей степени оптимизированную под решаемую задачу. Результатом этого может быть как непосредственное повышение производительности, так и снижение общего объема памяти, потребляемой вашим приложением. Если вы остановились на пользовательском низкоуровневом подходе, то по возможности постарайтесь воспользоваться наиболее простой и эффективной в отношении использования памяти моделью. Всегда осуществляйте мониторинг выполнения кода и тестируйте производительность вашего варианта проекта по сравнению с существующими высокоуровневыми моделями доступа к данным!

Существует две рекомендованных модели локального хранения долговременных данных на устройствах, одна из которых предполагает хранение данных в виде XML-файлов, а вторая — использование локальной базы данных устройства, например SQL СЕ. Каждый из этих вариантов доступен как при использовании высокоуровневой модели ADO.NET DataSet, так и при использовании адаптированных низкоуровневых механизмов для работы с данными. Коль скоро объем данных, с которыми приходится работать, остается сравнительно небольшим (например, порядка 50 Кбайт в случае XML-данных), то отличные и гибкие возможности вам предоставят XML-файлы. С увеличением же объемов данных все более привлекательным будет становиться использование процессоров баз данных. И вновь следует подчеркнуть, что единственным способом проверки того, что вы приняли верные проектные решения, является мониторинг выполнения кода и получение количественных показателей, которые можно сравнивать между собой.

Как и в случае проектирования пользовательских интерфейсов, лозунг "пишется однажды — выполняется везде" — не более чем призрачная цель при проектировании доступа к данным в мобильных приложениях. Для достижения максимально возможной производительности вы должны специальным образом настраивать модели доступа к данным и использования памяти применительно к конкретным устройствам, на которых будет выполняться приложение. Если вы создаете несколько версий приложения, ориентированные на различные классы устройств, то вам, вероятно, придется выбрать для каждого класса устройств свою модель хранения данных, зависящую от возможностей устройства и потребностей приложения.

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

ГЛАВА 15

Шаг 4: выбор подходящей коммуникационной модели

"Информация решает все…"

Маршалл Мак-Луган (Marshall McLuhan) (1911–1980), теоретик в области связи (Encarta 2004, Quotations)

"И-Ти звонить семья…"

Пришелец, который просто хотел поговорить с родными (кинофильм "Пришелец" ("The Extra-Terrestrial"), 1982)

"Если что-то может пойти не так, то это обязательно произойдет, причем именно тогда, когда вы меньше всего этого ожидаете."

Закон Мэрфи

Введение в технологии связи с помощью мобильных приложений

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

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

В настоящее время разработчики мобильных приложений могут выбирать между многими технологиями связи, причем с каждым годом список этих технологий только увеличивается. В одних случаях коммуникационные средства встраиваются в оборудование, как это сделано, например, в мобильных телефонах, в других — это обеспечивается различными механизмами расширения, например съемными картами. Каждая очередная версия технологий связи не только работает быстрее и обходится дешевле по сравнению с предшествующими технологиями, но и представляет собой сложную систему со своими достоинствами и недостатками, которая борется за свое эволюционное выживание в коммуникационных джунглях. Очень важно хорошо понимать особенности различных разновидностей технологий связи, которые вы решаете использовать в проекте своего мобильного приложения. Например, поведение приложения, для удовлетворения коммуникационных потребностей которого используется технология Wi-Fi, в некоторых существенных аспектах будет иным, нежели поведение приложения, в котором для связи с мобильным GRPS-телефоном с целью доступа к сети используется протокол Bluetooth; в свою очередь, оба эти варианта значительно отличаются от работы в условиях кабельного подключения к сети и использования таких протоколов нательных сетей (body-area network), как ZigBee (для получения более подробной информации по этому вопросу посетите Web-сайт http://www.zigbee.org/).

1 ... 144 145 146 147 148 149 150 151 152 ... 206
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре.
Комментарии