Заказчикам мобильных приложений
Если у вас есть идея на разработку мобильного приложения и вы хотите реализовать её, то смотрите ниже, что это обычно обозначает.
Для разработки программ могут привлекаться различные специалисты, в зависимости от нужд проекта и желаний заказчика:
- Программист. Уж как минимум один, например, для разработки под операционную систему Google Android. И может еще один для Apple iOS. А еще может для Windows, и Linux и других, какие вам интересны.
- Дизайнер. Если хотите нечто красивое и, вероятно, удобное в использовании — то стоимость и время работы дизайнера может иногда составить больше 50% бюджета на всю разработку. Но если нет особых претензий к графике — то простых картинок нагуглить сможет и программист.
- Музыкант. Какая же игрушка «крута» без музыки и звуков ?
- Web-мастер или web-программист (серверный программист). Если пользователи вашего приложения должны будут обмениваться данными — текстом, фото, видео, координатами и т.п., или вы хотите обновлять данные для приложений сами, независимо — это обозначает, что в системе обязательно понадобится «центральное хранилище» всех данных — сервер:
- Который должен содержать базу данных от всех пользователей вместе. Структуру базы данных надо тоже тщательно продумывать, имея в уме весь проект и все данные, в нем использующиеся.
- И чтобы данные в эту базу собирать от пользователей приложения и передавать им её обратно — нужна программа на сервере (скрипт). Вот именно для этого нужен серверный программист.
- Файлы сервера (база данных, скрипты, картинки, web-сайт…) располагаются на хостинге (hosting), т.е. непосредственно на диске серверного компьютера в компании его предоставляющем. Думаете бесплатно ? Нет, коммерческий серьезный хостинг оплачивается каждый месяц, т.е. весь год и не только.
- Если вам нужен свой сервер, доступный по доменному имени, например, yandex.ru — то нужно постараться выкупить себе такое доменное имя, зарегистрировать его на себя и оплачивать его не забывать тоже ежегодно.
- Или альтернативой серверу может быть «Облачное» хранилище, что сейчас всё более популярно — это платный Интернет-сервис, в котором уже на серверах установлены разработанные универсальные база данных и программа управления ей (API), через которую мобильные приложения могут обмениваться данными. Но, конечно, программисту мобильного приложения придется поработать дополнительно по внедрению обмена с Облаком, зато (!) уже серверный программист не нужен, и сервер не нужен, и хостинг не нужен, да и доменное имя необязательно (хотя web-сайту проекта без него не обойтись). Облачные сервисы, разумеется, тоже не бесплатны, но при малой нагрузке при разработке чаще всего есть бесплатный тарифный план. Но все данные пользователей приложения, конечно, лежат где-то там «у дяди», а не у вас в офисе.
- Еще один ньюанс, который может удешевить систему и её разработку: выше в тексте везде имелся в виду WEB-сервер (WWW, работающий с HTML-форматом) с базой данных. Но для несложного проекта (небольшое число корпоративных пользователей, например) — можно попробовать обойтись FTP-сервером — файловым, который только лишь хранит файлы в каталогах. И если приложение каждого пользователя будет хранить свои данные в одном уникальном файле в каталоге FTP-сервера — то приложения пользователей смогут читать данные всех этих файлов для совместной работы, а так же доступен обмен массивными файлами данных, типа архивов, картинок, каталогов и т.п. Тут уже серверному программисту делать нечего и на нем можно съэкономить, но общая скорость работы с файлами, ограничение по количеству пользователей — накладывают ограничения на масштаб проекта.
- Разработчик технического задания (ТЗ). Который сумеет, мучая вас вопросами, выяснить — что на самом деле вы хотите получить в результате и описать все эти подробности технически для коллег-исполнителей в виде техзадания. Ведь всегда за парой простых фраз заказчика может скрываться день, неделя, а то и месяц работы специалиста или всей команды 🙂
- В зависимости от всей этой сложности разработок — в проекте может быть менеджер проекта, который будет вместо вас заниматься организацией работ всех этих участников проекта.
Такая клиент-серверная архитектура системы вынуждена быть еще и потому, что провайдеры Интернет в подавляющем большинстве не предоставляют возможности входящих сетевых соединений — т.е. к вашему домашнему роутеру или компьютеру без уникального «белого» IP-адреса извне — нет возможности подсоединится разработанным приложением и получить данные из второй копии этого приложения, без посредника — центрального хранилища (сервера), которое уж точно имеет «белый» публичный для всех адрес.
Конечно, разработчиком может быть целая студия, со всеми нужными специалистами, красивым офисом… И с соответствующими ценами на работы. Или может быть один виртуальный для вас фрилансер в Skype, который умеет делать всё нужное сам, или с помощью своих товарищей. И тоже со своими рисками, но за гораздо более доступные деньги, и может даже гораздо быстрее.
А мобильное приложение, получающее данные от сервера — называется «клиентом», которое тоже не так просто делается, как обычно кажется.
И не забывайте, что ваша разработка может требовать ежемесячных, т.е. даже ежегодных оплат вышеописанных услуг пока ваш проект существует.
Теперь вы знаете, что значит «забацать простенькое приложение-мессенджер с картинками и регистрацией через ВКонтакт».