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

Мы только что рассмотрели общий обзор создания приложения. Потрясающий!

Но что мы должны построить на самом деле?

Меня как начинающего программиста это мучило. Я доставал свой хорошо замурованный HTML For Astounding Giga-Bastards или что там читали крутые ребята в пьянящие дни середины нулевых, когда мир был молод, свеж и все казалось возможным. Я прочитал миллион миллиардов справочных страниц, в мучительных подробностях объясняющих разницу между <i> и </i>. Я бы подумал черт возьми, я должен попробовать это. Я бы открыл текстовый редактор, чтобы создать домашнюю страницу, подобной которой мир никогда не видел, как который…

…А потом просто пялиться на мигающий курсор вечно, мысленно пустой. Ааааааааааааааааааааа

На собственном горьком опыте я обнаружил, что одно дело просто изучать, скажем, Lego. И совсем другое — потом строить невероятные крепости, космические корабли и вездеходные мобильные мегаполисы-джаггернауты, вроде тех, что в Mortal Engines, только круто, потому что это построил я, и это мое.

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

Итак, вот конкретная, конкретная идея приложения, о которой я давно думал:

Люблю стендап-комедию. Я живу в Веллингтоне, Новая Зеландия. Стенд-сцена нормальная, но не гигантская. Время от времени один из крупнейших комиков Великобритании проносит свою или чужую дорогу через город.

(Если вы получите эту ссылку, укажите ее в комментариях, и я каким-то образом осыплю вас наградами)

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

…И оказывается, это было три месяца назад. Я пропустил его! Мое драгоценное ожидание проколото и рухнуло. Аааааа опять!

Давайте решим это.

Приложение, которое мы создадим, будет подключаться к различным сайтам по продаже билетов (Ticketmaster, Ticketek, Eventfinda, Ents24 и любым другим, которые кажутся достаточно сочными); обращается к их API (я объясню, что такое API, когда мы доберемся до этого момента); и берет со своих серверов все данные обо всех юмористах во всей вселенной.

Он сохраняет эти данные в прикрепленной базе данных нашего веб-сервера (я также объясню веб-серверы и базы данных).

Наш веб-клиент (объясните также) будет отправлять запросы данных на наш недавно созданный веб-сервер, чтобы отобразить эти данные на карте (Карты Google или аналогичные).

Наше приложение украсит карту значками маркеров, отображающими, например, все комедийные действия в городе X в течение следующих Y месяцев. Или все концерты Comedian Z по всему миру. Что-то в этом роде.

Будет компонент формы пользовательского интерфейса, позволяющий пользователю фильтровать маркеры карты по комику и по дате начала/окончания концерта. Когда пользователь щелкает/касается значка маркера, появляется еще один пользовательский интерфейс, показывающий дополнительную информацию и ссылку для покупки билетов.

Пользовательский интерфейс приложения будет работать на всех размерах экрана и на всех устройствах.

Просто, верно? Да? Нет? Не волнуйтесь, я объясню все, как мы идем.

Давайте напишем код.

В следующий раз: веб-серверы, фреймворки и начнем с реального программирования.