Заказчикам разработки приложений-клиентов под Android

Если вам нужно мобильное приложение, так называемый “клиент”, то убедитесь, что вы верно понимаете чего хотите:

  • Клиент – это “клиентская” программа, т.е. оконечная сторона системы, с которой взаимодействует пользователь, желающий получить услугу от системы.
  • Услугу в системе предоставляет сервер – центральная часть, вычислительная, хранящая общие для всей системы данные.
  • А клиент передает серверу запросы пользователя: географические координаты, желаемый цвет, цену, размер товара…. хранящиеся, повторяю – в базе данных сервера.
  • И чтобы клиент мог дать серверу запрос – сервер должен иметь интерфейс (API, разработанный кем-то знающим структуру системы, базы данных) – т.е. протокол обмена данными:
    • список запросов (HTTP-запросов через Интернет), которые клиенту надо будет отправлять на сервер
    • описание параметров запросов и их размерности (единицы измерения): формат GPS-координат, цифровой или текстовый код цвета товара, цена в рублях или может юанях, и т.п.
    • и формат ответов сервера с примерами, тут обычно используются текстовые форматы такие как JSON, XML и т.п., в которых структурированным текстом передаются запрошенные клиентом имена и значения параметров: color=red84; price=55.6;currency=rub ……. Это называется “серилизацией” данных – т.е. перевод табличных данных в “серийный” (serial), т.е. в вид последовательных символов.
    • обычно ответы web-серверов в Интернет – это текст в формате HTML (такой же структурированный текстовый формат, подвид XML), из которого и показываются web-браузером все эти красивые (и огромные последние годы, 2-5 Мегабайт) странички web-сайтов – но такие странички не имеют структурированного текста данных, которые и нужны приложению-клиенту, чтобы распознать их, поместить в свою локальную базу данных и показать на мобильных экранах смартфонов в нужном вам красивом мобильном и нативном (т.е. родном для операционной системы смартфона) интерфейсе. Разработка интерфейса клиента – это вторая обширная тема, может даже более дорогостоящая, чем обмен данными сервера с клиентами.

Такого типа “клиент” и есть полноценный, т.е. не просто web-браузер встроенный в приложение и показывающий страницы вашего web-сайта, а клиент с доступом к данным в базе данных, позволяющий выбирать товар по параметрам и получать данные этих выбранных товаров. Создание такого полноценного клиента гораздо более сложная задача, и, кстати – не всегда оправдано создание такого клиента, если функционал вашего сервера (web-сайта) – несложный. Тут – решать вам зачем и какой функциональности нужен мобильный клиент.

Т.е. чтобы исполнитель мог для вас разработать “клиент” – вы должны озаботится наличием:

  • работающего сервера (с базой данных, скорее всего – иначе какие данные отдавать мобильным клиентам)
  • разработкой API сервера
  • и его описанием для исполнителя-программиста, т.е. техзадание, которое можно составить с помощью такого приложения.

Более детально почитать о том, кто и что будет нужно для создания своего Интернет-сервиса – можно в этой моей статье.

Когда у сервера нет API – часто всплывает тема “парсинга HTML” (который в любой момент может быть изменен авторами web-сервера), т.е. попыток извлечения (поиска) структурированных данных из неструктурированного текста web-страничек – это смешная, грустная и … глупая тема для нормальных заказчиков и разработчиков. Ну, а мы же с вами не такие глупые 😉

 

Comments are closed.