Что такое язык программирования Swift? Что это значит для мобильных приложений?

Удивительно, но по крайней мере 99% поклонников Apple никогда не прикоснутся к одному из крупнейших продуктов Apple, представленных на WWDC в этом году. Но язык программирования Swift по-прежнему будет очень важной частью вашей операционной системы.

После того, как Стив Джобс представил iPhone на WWDC 2007, технологическое сообщество забыло, что Всемирная конференция разработчиков Apple была событием, которому уделялось особое внимание. разработчики приложений. Это мероприятие не для Apple, чтобы сосредоточиться на выпуске аппаратных продуктов, а для программистов, которые хотят приехать и узнать о своем новом «оружии» в завоевании сообщества пользователей. iOS и Mac OS X.

Только в 2014 году Apple вернула WWDC его истинное значение: это событие для разработчиков программного обеспечения.

Трудно отрицать, что многие разочарованы тем, что WWDC в этом году вообще не увидела никаких аппаратных продуктов (iPhone, iWatch, iPad.). Но эти люди также забывают, что новые операционные системы и приложения являются наиболее важной частью повседневного использования устройства. Все программное обеспечение, выпущенное Apple на WWDC, облегчит жизнь разработчикам приложений. И когда их жизнь станет проще, у пользователей будет больше приложений, качество этих приложений также станет более полным.

Самым важным открытием на WWDC в этом году является Swift, совершенно новый язык программирования, который может сделать разработку приложений проще, быстрее и стабильнее, и все это для создания продуктов. Приложения для конечных пользователей максимально хороши. Короче говоря, Swift разработан, чтобы удовлетворить все потребности программистов. Возможно ли это?

Конечно, всего за одну неделю у нас не может быть наиболее точного ответа. Но из того, что показала Apple, ясно, что Swift — очень богатый язык программирования. Присоединяйтесь к нам, чтобы изучить глубокий смысл Swift, не читая ни единой строчки кода, чтобы понять видение и широкие горизонты, которые могут открыть новые языки программирования, такие как Swift.

Языки программирования низкого и высокого уровня

Изображение 1: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Swift обладает многими выдающимися особенностями самых продвинутых языков на сегодняшний день.

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

Если вы напишете ассемблерный код (или машинный код), вы сможете выполнить наиболее сложное и ожидаемое поведение. Но очевидно, что при использовании низкоуровневых языков (низкоуровневых языков: далеких от человеческого языка и близких к машинному), таких как машинный код или ассемблерный код, программирование приложений становится чрезвычайно утомительным. , тяжело и очень легко ошибаться. Написание Safari или даже Flappy Bird с кодом на ассемблере было бы невозможно.

Следовательно, вам потребуются языки программирования высокого уровня. Вместо того, чтобы выполнять каждую маленькую команду от программиста, компьютер получит команду «high» от кодера и сам выполнит эту команду. Языки высокого уровня похожи на человеческие языки в том, что у них очень четкий синтаксис с определенными ограничениями на размещение слов, которым должны следовать языковые пользователи.

Изображение 2: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Swift имеет высокоуровневую структуру: простая, точная, не избыточная лексика или оператор.

Чтобы понять разницу между языками программирования высокого уровня и языками программирования низкого уровня, представьте, что вы попросили близкого друга дать вам банку Coca. Если вы используете язык программирования высокого уровня, вы скажете «Эй, брось мне банку из-под коки на стол!» , и этот друг будет знать, как вести себя так. Если вы используете язык ассемблера, вам нужно будет произнести весь абзац: «Сядьте. Поставьте ноги на пол. Используйте руки как точку опоры. Встаньте с дивана. Сделайте один шаг правой ногой. Шагните левой ногой» Возьмите банку из-под коки правой рукой. Обратись ко мне. Сделайте шаг правой ногой ».

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

Именно это заставляет людей использовать языки программирования высокого уровня. Среди языков программирования высокого уровня C — самый «классический» язык. Это предок многих других популярных сегодня языков программирования, от C ++, Objective-C, C # до Java и PHP. Среди языков / вариантов, на которые повлиял C, Objective-C является традиционным выбором Apple, а также основой для создания iOS и Mac OS.

Но когда C было до 40 лет, а Objective-C — 30 лет, Apple потребовались перемены. Ответ — Свифт.

Изображение 3: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Язык программирования скриптов

Язык программирования сценариев, часто называемый языком сценариев, становится более популярным, чем раньше. Обычно языки программирования высокого уровня должны быть скомпилированы в машинный код, чтобы их можно было выполнять. Процесс компиляции, выполняемый компилятором, — это когда высокоуровневые операторы (такие как «получение банки Coca») преобразуются в небольшие простые команды, которые может выполнять компьютер.

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

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

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

Однако языки сценариев также имеют свои ограничения. Первое ограничение касается функциональности: они не могут выполнять сложные задачи, как другие языки компиляции. Хуже того, они ограничены в производительности обработки. Это делает языки сценариев гораздо более ограниченными, чем языки компиляции, и не используются для реализации программ, требующих оптимальной мощности оборудования.

Swift: идеальный язык программирования?

Изображение 4: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Swift обещает обеспечить на 35% более высокую производительность, чем Objective C

Таким образом, языки сценариев, такие как Python, легко писать и тестировать (тестировать), но они не являются мощными и недостаточно быстрыми для выполнения сложных задач приложения. Другими словами, Python не совсем подходит для написания тяжелых игр, требующих максимального использования мощности устройства. Традиционные языки программирования (такие как Objective-C) обеспечивают производительность при работе на iPhone / iPad, позволяя создавать сложные приложения, такие как iMovie или Call of Duty. Однако использование Objective-C часто требует большого количества времени компиляции и тестирования приложения. Научиться писать Objective-C — тоже долгий процесс, который может быть трудным для менее опытных программистов.

Если все обещания Apple будут выполнены, Swift принесет все сильные стороны как традиционных языков сценариев, так и языков компиляции. В некоторых тестовых тестах Swift дает более высокую производительность, чем Python, и даже быстрее, чем Objective-C. В пакете Apple Xcode IDE (программное обеспечение для программирования) исходный код Swift будет отображен на графике на основе функций игровой площадки в реальном времени. Это означает, что программисты могут запускать и тестировать исходный код Swift так же легко, как это делает Python.

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

Изображение 5: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

На демонстрационном этапе на этапе WWDC программист Swift смог легко наложить движение воздушного шара. Он может отслеживать значение изменения синусоидальной функции при запуске своей программы на основе простой диаграммы, отображаемой в Xcode. Это позволяет разработчикам легко визуализировать движение воздушного шара.

В тех же примерах вы можете очень легко отрегулировать движения. Недавно разработчик приложений даже использовал Swift для создания внутри примитивной версии Flappy Bird. 17 минут! Обычно процесс разработки программного обеспечения требует, чтобы программисты написали код, выполнили компиляцию (через компилятор), затем запустили программу и. затаив дыхание в надежде. В зависимости от размера приложения процесс компиляции и тестирования приложения может занять несколько секунд, несколько минут или больше.

Преимущества Swift

Изображение 6: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Впечатляющая графика на iOS 8

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

Второе преимущество Swift в том, что код очень короткий и легко читаемый. В презентации Apple 3 строки кода Objective C могут быть инкапсулированы в 1 строку кода Swift. Это ускорит процесс разработки приложений и повысит эффективность будущего обслуживания / исправления.

Наконец, что, возможно, наиболее важно, если Swift создаст аппаратные аппаратные приложения Objective-C с более низким давлением, мы получим более впечатляющие игровые возможности на устройствах iOS. При объединении Swift и новой платформы Apple Metal даже старый процессор A7 может обеспечить самые впечатляющие графические возможности.

Изображение 7: Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Слабость Свифта

Самая большая слабость Swift — молодой возраст этого языка программирования. В частности, чтобы использовать Swift, разработчикам придется заново изучать совершенно новый язык программирования. Технологическая индустрия часто предпочитает осваивать новейшие, самые крутые технологии. Однако сегмент приложений iOS также стал настолько большим, что тысячи людей потратили месяцы на освоение Objective-C; Обучение Objective C для iOS стало важной отраслью; Есть компании, которые специализируются только на этом языке программирования (и iOS). Поскольку Swift определенно заменит Objective-C, разработчикам приложений для iOS потребуется много времени, чтобы освоить новый язык Apple. Это может снизить скорость развития экосистемы приложений Apple.

Еще одна проблема — мусорные приложения. Поскольку Swift значительно упростит процесс разработки приложений, чем раньше, количество некачественных приложений, появляющихся в App Store, может увеличиться. Однако на самом деле это не беспокоит пользователей Apple и Apple. В течение этого переходного периода Swift поможет вывести приложения для iOS и Mac на новый уровень.

«Привет, мир» с Swift

Изображение 8 из Что такое язык программирования Swift?  Что это значит для мобильных приложений?

Теоретически Swift обещает стать «идеальным» языком программирования для разработчиков приложений. Apple нужно сделать так, чтобы ее обещания стали реальностью.

Мы так привыкли к тому, что технологические компании запускают впечатляющие цифры как доказательство того, что их продукты являются лучшими, более совершенными, чем все «старые» продукты и конкуренты. . Но в мире программирования все не так просто. Разработчикам потребуется много времени, чтобы проверить, что говорит Apple. Мобильной индустрии потребовалось много времени, чтобы понять преимущества Swift. Это огромное изменение, настолько большое, что вы не ошибетесь, если скажете, что для индустрии разработки мобильных приложений Swift так же важен, как и App Store, когда он впервые появился.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.