Category: iOS

22
Сен
2020

При удалении readonly не вызывается клавиатура на iOS Safari

Сделал костыль, чтобы браузер не вставлял пароль автоматически в поле пароль, так как современные браузеры игнорируют autocomplete="off" и прочие другие способы, которые можно найти. Поэтому я задаю полю аттрибут readonly и при ф…

20
Сен
2020

💪📱 10 инструментов тестирования производительности мобильных приложений

Сравниваем инструменты тестирования производительности мобильных приложений, в том числе предоставляемые услуги и стоимость: Gatling, JMeter, Apptim и другие.

Пользователи не любят…

09
Сен
2020

В Safari на iOS произвольно меняется уровень громкости при проигрывании видео через video-react

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

01
Сен
2020

1 марта – 11 октября, онлайн: олимпиада «Волга-IT’20»

Цифровая олимпиада по информационным технологиям: веб-дизайн, мобильная разработка, Motion Design, и др. Регистрация до 13 сентября.
— Читать дальше «Олимпиада Волга-IT’20»

06
Авг
2020

21–23 августа, онлайн: хакатон Tele2 Solutions Days

Общий призовой фонд хакатона составит 500 000 рублей, а некоторые участники смогут получить приглашение на работу в Tele2 и «Лигу Цифровой экономики».
— Читать дальше «Хакатон Tele2 Solutions Days»

28
Июл
2020

Дата (счетчик) в iOS возвращает NaN

Всем привет. Я разрабатываю сайт который я должен показать счетчик даты. Счетчик отлично работает на Андроид но на iOS счетчик возвращает NAN (not a number) У меня есть следующий код
$(document).ready(function () {
$(‘.counter__wrap’).each…

23
Июл
2020

🍏 Как начать разрабатывать iOS-приложения с нуля

Советы практикующего iOS-разработчика для абсолютных новичков в программировании, мечтающих научиться создавать мобильные приложения для устройств с логотипом Apple.

Немного о себе

Эта статья написана по моему личному опыту. Сейчас я заканчиваю факультет программирования Берлинского университета им. Гумбольдта и работаю в Daimler AG/Mercedes Benz. Первое приложение разработала в университете. Это децентрализованное Android-приложение, позволяющее группе людей общаться без доступа к сети. Штука полезная, особенно когда вы где-то в горах или в джунглях 🐵

Однако сам процесс разработки под Android меня не впечатлил, я решила, что разработка приложений – не моё. К счастью, потом я приняла участие в менторском проекте между моим университетом и медицинским университетом Шарите. Так я открыла для себя разработку мобильных приложений для iOS.


Легко ли начать разработку для iOS с нуля?

Конечно, вам будет гораздо легче, если вы умеете программировать, но создавать простые iOS-приложения можно даже без навыков программирования. Сейчас активно развиваются NoCode-технологии, и программы для iOS можно делать в PaintCode.

Без английского не обойтись – самая качественная и актуальная документация находится на сайте Apple. Да вы и сами знаете, какую роль в программировании играет английский.


Разработка мобильных приложений под iOS – это не только весело, но и выгодно. В США за 2019 г. средняя годовая зарплата составляла 84 тыс. долл.

На диаграмме учитываются зарплаты разработчиков Apple, IBM и Sapient Corporation.
На диаграмме учитываются зарплаты разработчиков Apple, IBM и Sapient Corporation.
<a href="https://www.glassdoor.de/Geh%C3%A4lter/vereinigte-staaten-von-amerika-ios-developer-gehalt-SRCH_IL.0,30_IN1_KO31,44.htm" target="_blank" rel="noopener noreferrer nofollow">На Glassdoor можно найти годовую зарплату в 107 тыс. долларов!</a>
На Glassdoor можно найти годовую зарплату в 107 тыс. долларов!

C тех пор, как Apple запустил App Store в 2008 г., было разработано 2 млн приложений. Согласно Appinventiv к 2021 году количество загрузок достигнет 353 млрд. Что насчёт России? По данным портала SuperJob в России разработчики iOS-приложений получают от 64 до 120 тыс. рублей.

Итак, что нужно, чтобы получить работу в качестве разработчика iOS?

1. Легче всего будет работать на macOS

Разработка приложений для iOS обычно осуществляется на Macbook/iMac. Не нужно гнаться за самой новой моделью, подойдет и простенький Air. Главное, чтобы на устройстве можно было установить последнюю версию macOS. Можно разрабатывать и на виртуальной macOS-машине, но это «больно».

2. Установите необходимый софт для iOS-разработки

Самая широко используемая IDE для iOS-разработки – это Xcode. Можно за день изучить, что где находится и для чего используется. Стоит потратить время и на продвинутые фичи и горячие клавиши, это облегчит и ускорит процесс разработки.

Разрабатывать iOS-приложения можно и на Objective-C, но обычно его используют для поддержки легаси-приложений. Для написания новых программ лучше подойдет Swift. Этот язык сейчас активно продвигается самой Apple.


Важно уметь адаптироваться к изменениям. Я бы не сказала, что каждая новая фича – это что-то хорошее. Если запустить Xcode, то можно увидеть много маленьких кнопок и панелей. Поверьте, нет ничего раздражительнее, когда в них что-то меняют, передвигают, удаляют, и потом надо тратить тысячу часов на их поиск. Ладно, преувеличиваю (нет).

3. Создайте пользовательский интерфейс

Разработчику iOS-приложений обязательно нужно уметь создавать пользовательские интерфейсы. Подвох в том, что это можно сделать несколькими способами. Например, используя Interface Builder и Storyboards из туториалов Apple. Или с помощью кода, для чего есть тоже множество разных решений. А можно взять SwiftUI – фреймворк для декларативного программирования пользовательских интерфейсов. Он относительно новый, но уже успел завоевать симпатии разработчиков.


Что касается дизайнов и прототипов, их я создаю в Sketch или Figma. Еще пользуюсь Canva. Практически всегда от клиентов поступают готовые ассеты. Поэтому, даже если вы не очень разбираетесь в дизайне, нужно уметь пользоваться соответствующими инструментами.

4. Нетворкинг и работа с API

Обязательно освойте работу с разными форматами данных. По крайней мере, нужно уметь парсить JSON и знать нетворкинг-классы Apple (URLSession) и библиотеки, к примеру, сетевую библиотеку Alamofire.

5. Научитесь взаимодействовать с базами данных

Самые распространенные базы данных в разработке iOS – это MongoDB, Firebase и Realm.

6. Контроль версий

Общение с моей командой осуществляется в Git. Можно освоить и другие менеджеры контроля версий, но мне на практике встречался только он.

7. Изучите пошаговые туториалы

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

Мой первый Swift dev курс я прошла на Udemy (iOS разработка на Swift 5 от Angela Wu). Мне он понравился тем, что составлен для новичков и сложность нарастает линейно. То есть не будет такого, что на первом уроке вы установили Xcode, а на втором кодите Flappy Bird. В курсе огромное количество готовых ассетов, что я нахожу огромным плюсом, так как можно сосредоточиться на программировании и не ломать голову над тем, куда поместить очередной UI-элемент или какой цвет придать кнопке.

Еще много полезностей можно найти на сайте Hacking With Swift. Там всё понятно и бесплатно. Сайт одобрил сам Крис Латтнер, создатель Swift. У проекта есть канал в Slack, где можно законнектиться с iOS-разработчиками со всего мира. Создатель сайта Пол Хадсон активно общается с пользователями в Slack и Twitter (@twostraws).

Примечание
Библиотека программиста также составила подборку 70 YouTube-каналов и плейлистов о мобильной разработке, в которой есть отдельный раздел с видеокурсами по разработке под iOS.

Если вы уже разрабатываете iOS-приложения и ищете работу, то канал iOS-разработчика Сина Аллена поможет грамотно подготовиться к собеседованию. Син рассматривает самые каверзные вопросы, а также загружает туториалы для разработчиков разных уровней. Не каждый может похвастаться 10-летним опытом разработки в Swift, а именно столько лет исполнилось Swift в этом году!

8. Практикуйтесь

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

Многие ругают фриланс, но именно с него я начала, когда разобралась с основами разработки. Поэтому найдите подходящий по уровню проект и действуйте.

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

Если интересно, могу написать о своей учёбе в университете, в том числе об учёбе во время COVID-пандемии.

***

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

07
Июл
2020

Cordova plugin device иногда возвращает строку mobile вместо объекта с информацией об устройстве

Вопрос, касательно разработки приложения на ios с помощью Cordova.
Если точнее, то касательно плагина device, который возвращает информацию об устройстве(uuid, версию ios и прочее)
Плагин вызывается на этапе полной загрузке страницы (до вы…

19
Май
2020

Обработка нажатия на iOS-устройствах

Столкнулся с какой-то аномалией. Всем известно, что у iOS свои приколы с обработкой клика на мобильной платформе, но тут просто что-то невероятное.
Я написал несложное приложение и просто не понимаю почему не срабатывают клики на div элеме…

14
Май
2020

Браузеры на Apple не передают COOKIE в подгружаемых элементах

Скрипт написан на PHP. При первом (сведений о/от сайта в браузере еще нет) запросе документа сервер отправляет Cookie

if(isset($_COOKIE[‘PHPSESSID’]))
session_id($_COOKIE[‘PHPSESSID’]);
session_start();

затем весь документ

exit($va…

06
Май
2020

React Native vs Native

Добрых времени суток.

Решил начать изучать мобильную разработку, а конкретно разработку под iOS (Swift, Objective-C), после долгих лет работы frontend-разработчиком на Native JS & React и появился вопрос, что же лучше? React Native ил…

02
Апр
2020

Гайд по виртуальным мирам: AR и VR

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

1. Допо…

01
Мар
2020

Сайт с java веб сервера не работает в iOS браузерах

Я новичок в теме Java Server и решил написать свой веб-сервер на java, на чистом java.net с ServerSocket. Сам сервер работает исправно на операционных системах Windows, Linux, Android во всех браузерах. Но с iOS возникли проблемы. Все брау…

23
Окт
2019

2 ноября, Гродно: конференция GROCON’19

В четвертый раз пройдёт крупнейшая в регионе IT-конференция. Её программа разделена на 4 потока: Adapt IT, Maintain IT, Manage IT, Unite IT.
— Читать дальше «Конференция GROCON’19»

25
Апр
2019

22–23 мая, Санкт-Петербург: конференция Mobius 2019 Piter

Эксперты и разработчики со всего мира обсудят последние новости мобильной разработки, поговорят о Java, Kotlin, Swift, а также о фреймворках и инструментах.
— Читать дальше «Конференция Mobius 2019 Piter»