Одни из первых терминов, с которыми вы познакомитесь при входе в мир приложений и технологических стартапов, — это «интерфейс» и «бэкэнд». Это действительно важные термины для понимания, особенно когда вы готовы создать свое приложение.

Интерфейс — все, что видит пользователь.

«Внешний интерфейс» вашего приложения, или, как его называют некоторые более технические специалисты, «клиентская сторона», — это часть вашего приложения, которую ваши пользователи видят и с которой взаимодействуют. Еще один важный термин, который вы можете услышать, — это «UI/UX» (вы можете просто услышать одно или другое), что означает пользовательский интерфейс/пользовательский опыт. Думайте об экранах вашего приложения как об «интерфейсе», с которым пользователи должны будут «испытывать» (или взаимодействовать).

Когда у вас есть идея приложения, экраны, которые будут видеть ваши пользователи, должны быть сначала разработаны с использованием программного обеспечения для цифрового дизайна, такого как Adobe Photoshop или Sketch (см. пример ниже).

После того, как дизайн подготовлен, разработчик, имеющий опыт работы с HTML и CSS и/или Javascript (некоторые популярные фреймворки — Angular JS и React JS) в случае веб-разработки или кросс-платформенной разработки, Swift для нативной разработки для iOS или Java для нативная разработка для Android, переведет экраны в код.

Таким образом, ваш «передний конец» рождается.

Back End — все, что происходит за кулисами

«Бэкэнд» вашего приложения, также известный как «серверная часть», — это почти все остальное. Хотя эта часть не видна, она по-прежнему играет важную роль. Серверная часть служит для предоставления необходимых вам функций, таких как подключение к базе данных для хранения информации об учетной записи пользователя или интеграция API, такого как сопоставление.

Термин «API», который является сокращением от «интерфейс прикладного программирования», очень важен для понимания. API обычно понимается как совокупность различных «методов» или «веб-сервисов» внутри приложения. Например, Google Maps Directions API — это служба, которая вычисляет маршруты между местоположениями. При создании Google Maps разработчики создали серверную часть, которую можно легко интегрировать в другие приложения, например, в Uber. Это умный, современный подход к построению серверной части.

Не вдаваясь в подробности, ваша серверная часть обычно состоит (как минимум) из трех простых частей — сервера, приложения и базы данных. Сервер — это в основном компьютер, предназначенный для хранения данных и обработки запросов на данные, которые могут храниться в базах данных или кодовых базах. Как следует из названия, «база данных», которую вы можете представить себе как большой лист Excel, хранит параметризованные данные, такие как имена, адреса электронной почты или номера телефонов, в таблицах. В то время как пользователи взаимодействуют с внешним интерфейсом вашего приложения, приложение, которое написано в коде и хранится в кодовой базе, облегчает их связь с базой данных через Интернет.

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

Мне нужны оба?

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

Иначе обстоит дело при создании «динамического» веб-приложения или мобильного приложения, которое, вероятно, потребует некоторой передачи данных для управления различными функциями. При создании динамического приложения вам понадобятся как клиентская часть, так и серверная часть. Некоторыми популярными серверными технологиями являются PHP, Node JS (фреймворк Javascript), Ruby on Rails (фреймворк Ruby), Python или C#.

Некоторые веб-разработчики обладают компетенциями только в разработке внешнего или внутреннего интерфейса. Точно так же большинство нативных разработчиков мобильных приложений будут обладать компетенциями только на одной платформе, iOS или Android, и могут не обладать компетенциями, необходимыми для создания всего приложения. Другие, называемые «инженерами с полным стеком», обладают компетенциями как в разработке внешнего интерфейса, так и в разработке внутреннего интерфейса. Таким образом, вам нужно выяснить, какие внутренние и внешние технологии потребуются для разработки вашего приложения, а затем убедиться, что у вас есть обе стороны при найме разработчика (разработчиков).

С чего начать?

Вам нужно начать с определения лучшего стека технологий для того, что вы пытаетесь создать. Помимо языков/фреймворков программирования, вам необходимо определить, какую технологию баз данных, веб-сервер и операционную систему вы будете использовать. Некоторыми примерами полного стека может быть LAMP, что означает Linux (операционная система), Apache (веб-сервер), MySQL (база данных) и PHP (язык программирования); или MEAN — что означает MongoDB (база данных), Express JS (веб-фреймворк), Angular JS (веб-фреймворк) и Node JS (веб-фреймворк).

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

При найме разработчика (для которого я написал руководство здесь) важно, чтобы вы говорили с ним о том, какую технологию они предлагают вам использовать и почему. Почему важно, потому что человек или фирма, обладающие компетенцией только в определенном типе технологии, будут иметь очевидную предвзятость. Говоря с разработчиками, нередко говорят: Мы определенно можем добиться этого на PHP, независимо от того, какой у вас продукт, просто потому, что PHP-разработчики — один из самых товаризированных типов ресурсов на рынке, хотя PHP может быть не лучшей технологией для реализации вашего приложения.

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

Первоначально опубликовано на www.techsuitenyc.com 15 ноября 2017 г.