Как работают приложения для iPhone?

Что происходит, когда вы нажимаете приложение «Часы» для iPhone? Таинственный лепрекон волшебным образом чувствует ваше прикосновение и местоположение, а затем отображает информацию об этом часовом поясе, а также о других городах, которые, как он помнит, вы хотели?

Конечно, нет.

Независимо от того, где находится приложение — на телефоне, компьютере или в другом месте — после нажатия оно выполняет КОД, который хорошо оплачиваемый инженер-программист Apple ввел в текстовый документ и загрузил. Только вместо Microsoft Word создатели приложений для iPhone вводят текст в Xcode, инструмент разработки Apple для компьютеров Mac и iPhone. Эти приложения намного проще создавать, чем люди думают, потому что Apple сделала Xcode простым в использовании.

Все, что вам действительно нужно знать, это то, что вводить в Xcode, и что вы должны исследовать любые ошибки на StackOverflow.com или Google.com.

В Xcode вы перетаскиваете текст, изображения и кнопки на несколько повторно используемых слоев для каждого экрана.

На данный момент 50 % кода, который вы пишете, находится на этом экране.

Но прежде чем кто-то начал что-либо кодировать, пара непрограммистов, а именно дизайнеры и менеджеры по продуктам, придумали, чего они хотят, включая некоторые концепции экрана. Они написали на простом английском языке, что они хотят, чтобы приложение делало. Затем они передали это тому, кто действительно знал, как сделать все это в Xcode, нанятому ими инженеру. А чтобы сделать Xcode еще проще в использовании — существует множество инструментов и шаблонов, которые помогут вам начать работу.

Хорошо, это была самая простая часть.

Итак, мы знаем, что компьютеры делают именно то, что вы им говорите. Не важно что. Каждый раз. Они никогда не делают ошибок. Единственная возможность состоит в том, что программист допустил ошибку. Если вы запустите это приложение прямо сейчас, оно всегда будет называться Купертино, Нью-Йорк и Москва. Вам необходимо добавить новые функции кодирования, чтобы пользователи могли добавлять свои города. Каждая вещь, которую делает приложение, должна быть запрограммирована специально или косвенно с помощью эффектов какого-то кода. Код — это единственное, что управляет компьютерами.

Приготовить

Во многом программирование — это то же самое, что быть шеф-поваром в ресторане, таком как Benihana’s или Nobu.

У вас есть 5 младших поваров. 1 на завтрак, 1 на обед, 1 на ужин, 1 на десерт и 1 на напитки.

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

И в его основе, когда вы кодируете или программируете, вы пишете пошаговые инструкции, которым будет следовать приложение или веб-сайт.

Так же, как инструкции, которые вы дали бы младшему шеф-повару.

Кодинг — это такой же язык, как английский!

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

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

Рецепт выглядит следующим образом:

  1. Добавить 3 яйца
  2. Добавить соевое молоко
  3. Добавить смесь для торта
  4. Смешать в течение 5 минут миксером для торта.
  5. Поставить в духовку при 350 градусах на 20 минут

Если соевого молока нет, используйте сыворотку.

Сложность в том, что, как я уже сказал, компьютеры тупые и будут делать ТОЧНО то, что вы им говорите.

Если вы хотите сказать ему готовить этот пирог в течение 20 минут, но случайно скажете ему 200, он не остановится, и пирог, который вы получите обратно, сгорит дотла.

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

Но в 1980 году это было не так. Программистам пришлось бы точно расписывать, как «добавить 3 яйца» до мельчайших деталей. Представьте, сколько труда вложено в это. Вам нужно будет сказать ему, чтобы он разжал пальцы, схватил яйцо, пошевелил рукой, чтобы разбить яйцо и т. д.

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

Если вы правильно написали рецепт, то компьютер не испортит его. В отличие от младшего шеф-повара, который может не следовать вашим указаниям или не иметь навыков, чтобы справиться с этим. У компьютеров нет этой проблемы. Они всегда будут следовать вашим указаниям до Т.

Итак, вернемся к нашему приложению часов. Это в основном примерно так:

viewDidLoad{
checkCurrentLocationAndAddClockItem()
checkSavedLocationsAndAddClockItems()
}
ifSomeoneClicksPlus{ 
goToAddClockItemScreen()
 }
ifSomeoneClicksEdit{
goToEditMode()
}

Итак, теперь вы ввели это в Xcode. И готово с этим экраном.

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

Причина, по которой программистам так много платят, заключается в том, что они знают, что печатать.

Самая сложная часть обучения программированию — это изучение СИНТАКСИСА. Apple сделала Swift для общения с компьютерами. Другими языками программирования являются Java, C++, Kotlin и т. д. Люди каждый день изобретают новые, некоторые из них проще, чем другие. Потребуется много времени, чтобы понять, какой код Apple уже написала для вас (то, что уже знают ваши младшие повара) и что вам нужно написать самостоятельно, а какой код вы можете скопировать и вставить. из онлайн. Программисты чрезвычайно щедры, и, к счастью, на StackOverflow.com есть практически любой код, который вам когда-либо может понадобиться. Если бы Apple не научила Xcode следовать этой инструкции:

checkCurrentLocationAndAddClockItem()

тогда мы можем просто зайти в StackOverflow и выполнить поиск «Как проверить текущее местоположение и узнать время на iOS». Кто-то — где-то — определенно знает ответ.

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

Я, конечно, упрощаю их все, и программисты повсюду будут меня за это ненавидеть. Но, если честно, это действительно то, что делают 95% инженеров. ОПРЕДЕЛЕННО выполняется чрезвычайно сложная работа, например, инженеры Apple, которые пишут машинный код, буквально рисующий анимацию на экране, или люди, которые с самого начала пишут весь предварительно запрограммированный код в Xcode. Но современные разработчики приложений могут метафорически стоять на вершине гигантов, используя весь чрезвычайно сложный код, написанный блестящими инженерами прошлого из StackOverflow.

Вот почему Instagram может легко скопировать Snapchat. Вот почему каждое приложение может подключаться и загружаться в Интернет. Каждый разработчик приложений не настраивает стационарные телефоны и не подключает антенну телефона к ближайшей телефонной вышке. Apple уже сделала все это и АБСТРАКТИРОВАНО, поэтому все, что вам нужно сделать, это ввести:

uploadImageToServer("www.mywebsite.com/database", profilepic.png

Все, что когда-либо делали программисты, — это добавлять функции, такие как цветной фон или истории в Instagram, или исправлять ошибки.

Не знаю, знаете ли вы, но компьютерная ошибка — это когда вы открываете приложение Snapchat, и оно немедленно падает или когда этот инженер НАСА сделал опечатку, которая вызвала крушение космического корабля стоимостью 440 миллионов долларов.

Первый компьютер был размером с комнату. От пола до потолка. А внутрь залетел жучок и он перестал работать, вот почему когда компьютер не работает это называется жучок! Итак, женщина по имени Грейс Хоппер поставила стекло спереди и официально исправила первую ошибку. До этого программисты только создавали новые функции. Как видите, это чрезвычайно быстро меняющаяся область, и она очень интересна, если вы увлекаетесь подобными вещами. Пожалуйста, обращайтесь с любыми вопросами. Я люблю общаться с единомышленниками и с разными мыслями!

Если вам понравилась эта статья, подпишитесь на меня в Quora, Twitter, LinkedIn и т. д., чтобы узнать больше.

Ах да, и вот несколько мемов на всякий случай.