- Что удобнее в работе с ipad для программиста?
- «гибридное», «не совсем нативное» приложение
- Относитесь к обучению правильно
- Играйте в шахматы
- Делайте свои маленькие проекты
- Успевайте за трендами
- Apple представила новые технологии и инструменты для разработчиков приложений
- Ionic
- Phonegap / cordova
- React native
- Swift 4
- Xamarin
- Xcode
- Апгрейд клавиатуры
- Веб, чистый веб
- Изучайте новые для себя области
- Планшет по возможностям не уступает пк?
- Получите фундаментальные знания
- Продолжительность работы ipad от батареи
- Прокачка программной начинки
- Путь от apple
- Разработка и администрирование веб-ресурсов на ipad
- Яблочная страна не всем рада
Что удобнее в работе с ipad для программиста?
Первое, чем iPad удобнее ноутбука — это портативностью. Да, ноутбуки и сами по себе являются портативными компьютерами, однако планшет — это ещё более легкое, компактное, и нетребовательное к вашему рабочему пространству устройство.
Будучи часто в разъездах, мне приходилось постоянно таскать с собой ноутбук в рюкзаке. «Велика беда», можете иронично сказать вы, однако не забывайте про обязательный увесистый блок питания к ноутбукам. Тем более у модели MacBook Pro 13” mid 2021, которая постепенно уходит в историю. И чем больше вам нужно мощности ноутбука, тем массивнее блок питания с ним нужно будет возить.
Таким образом, если вы предпочитаете, путешествовать налегке и работать хоть с песчаного пляжа на Бали, то дополнительные ~3 кг будут создавать вам неудобства. С планшетом же всё куда проще: достаточно закинуть небольшой чехол с iPad и Apple Pencil в рюкзак.
«гибридное», «не совсем нативное» приложение
Уточню: термин, вынесенный в заголовок, даже по сути своей не очень верен. Приложения, которые мы получим в результате, самые что ни на есть нативные в смысле того, что они исполняются на той же iOS, на том же железе, что и любое другое ПО для iOS, просто сам процесс разработки позволяет использовать не только предложенные Apple технологии и языки программирования.
Если человек умеет писать, скажем, на JavaScript, и не хочет разбираться в Swift, то Apple ему ничем не поможет (кроме, конечно, хорошего учебника по Swift), а вот вариант написать, условно говоря, приложение на JavaScript, а потом запустить его на iOS, как если бы оно было написано в Xcode (получив, таким образом, некий «гибридный» вариант) существует, и вполне востребован.
Относитесь к обучению правильно
Последовательный подход к обучению значительно повлияет на качество дальнейшей работы.
Играйте в шахматы
Для любого разработчика важно уметь мыслить логически и стратегически. Есть несколько игр, которые развивают «правильное» мышление. Одна из них — шахматы.
Хороший программист — это не тот, который выполняет таски и приходит за следующими, а тот, который знает цель и логически продумывает свои шаги на пути к ней. Когда компания нанимает специалиста, она хочет получить от него ответы, а не вопросы — шахматы помогут вам находить такие ответы.
Впрочем, если вы не любитель этой игры, можно выбрать другие, которые тоже учат думать на перспективу, — например, пошаговые стратегии.
Во многих технических задачах скрыто решение жизненных ситуаций или проблем — и наоборот. Главное — уметь видеть структуру. Так что даже регулярная уборка по методу Мари Кондо может помочь: если вы научитесь превращать хаос в порядок, вы станете хорошим программистом.
Делайте свои маленькие проекты
После различных курсов, которые будущие разработчики проходят для получения базовых знаний, часто не хватает именно практического опыта. Для его получения лучше всего подойдут собственные проекты: это бесплатно, порога входа нет, а в случае ошибки никто не пострадает.
Например, вы можете создать утилиту с использованием новых технологий, которые анонсировала Apple. Например, на основе новых виджетов в iOS 14 можно сделать свой виджет, который показывает баллы пробок или остаток на счёте в банке. Можно даже замахнуться на собственное приложение.
Но начинать лучше с простого: to‑do‑менеджер, прогноз погоды, калькулятор, фильтры для фото, шагомер. Небольшой проект будет полезен не только для оттачивания навыков, но и для портфолио при трудоустройстве — так вы сразу сможете показать нанимателю, что вы умеете и как реализовали это на практике.
Помните, что главная цель ваших первых проектов — помочь вам расти как iOS‑разработчику. Успех приложения на рынке не так важен. Даже если что‑то будет идти не так, пробуйте ещё. Опыт ошибок даже ценнее положительного результата — так вы вырастете быстрее.
Также, создавая собственные приложения, вы сможете со временем найти свой уникальный стиль разработки — а это уже то, что можно «продавать» на собеседованиях как ваше конкурентное преимущество.
Успевайте за трендами
Apple регулярно анонсирует изменения в iOS, и разработчик должен их знать. Не просто потому, что это трендово. Подобные изменения также делают жизнь разработчика проще, а разработку — быстрее.
Следить за новшествами можно на Apple WWDC, Apple Developer Forums. Также для iOS‑разработчиков есть неофициальная рассылка. Она может быть очень полезной не только для молодого специалиста, но и для программиста со стажем.
Ещё один совет, который я хочу дать, — учитесь у самих разработчиков Apple, знакомьтесь с их новыми приложениями и обновлениями, рассматривайте фишки, которые они внедряют. Если есть возможность, выходите на личный контакт с опытными iOS‑специалистами и задавайте им как можно больше вопросов по их практике, особенно в области последних технологий.
На мой взгляд, никакие курсы вроде «Новых трендов в iOS‑разработке» не дадут вам столько знаний и умений, сколько может дать собственное активное погружение в тему. Главное — проявлять интерес и не переставать учиться, а в интернете вы найдёте большое количество материалов, которые помогут вам в этом.
Apple представила новые технологии и инструменты для разработчиков приложений
«Мы очень рады дать сообществу разработчиков новые инструменты и технологии, с помощью которых можно будет создавать ещё более интересные и качественные приложения, а также по‑новому взаимодействовать с пользователями через App Store, — сказала Сьюзан Прескотт, вице-президент Apple по связям с разработчиками. — Широкие возможности Xcode Cloud, постоянное совершенствование языка программирования Swift, большое количество новых API, дополнительные способы общения с пользователями — всё это делает платформы Apple ещё более совершенными, чем раньше».
Xcode Cloud — новый облачный сервис для непрерывной интеграции и распространения приложений для платформ Apple. Сервис встроен в Xcode 13 и позволяет индивидуальным разработчикам и командам любого размера быстро и просто компилировать, тестировать и распространять высококачественные приложения, работая, таким образом, ещё более эффективно. Xcode Cloud может автоматически собирать приложения в облачной среде, освобождая тем самым ресурсы компьютеров Mac, которыми пользуются разработчики, для других задач. Параллельное тестирование в облаке позволяет проверить, как будет работать приложение на каждой из текущих моделей устройств Apple, а затем без труда передать уже скомпилированное приложение в отдел внутреннего тестирования или отправить независимым бета-тестировщикам через модуль TestFlight, чтобы получить мгновенную обратную связь.
Ionic

Ionic – один из самых известных фреймворков для кросс-платформенной разработки. Он построен на базе Apache Cordova, что обеспечивает доступ к различным функциям устройства, таким как геолокация, push-уведомления, камера и прочим, и позволяет разработчикам создавать приложения для iOS и Android с веб-технологиями, такими как HTML, CSS и JavaScript.
В дополнение к фреймворку, Ionic может похвастаться целой экосистемой, облегчающей разработчикам-новичкам процесс изучения и вхождения. Ionic Cloud предоставляет разработчикам различные инструменты для управления, развертывания и масштабирования приложений на Ionic.
Ionic Creator представляет собой визуальный редактор, который позволяет разработчикам быстро прототипировать и создавать мобильные приложения методом drag&drop. Наконец, существует Ionic View — бесплатное приложение для iOS и Android, которое позволяет разработчикам легко делиться своим Ionic-приложением с пользователями, тестерами и клиентами без необходимости развертывать приложение в магазине приложений конкретной мобильной платформы.
Разработчики просто отправляют пользователям приглашение из приложения Ionic View, и как только оно принято, пользователь может загрузить и запустить конкретное приложение в своей копии Ionic View — так, как если бы приложение было установлено на его телефоне из магазина приложений.
Увы, есть и «ложка дегтя». Приложения, написанные с использованием Ionic, используют WebView, в результате мы получаем самое натуральное веб-приложение, со своей обычной (обычно не самой впечатляющей) скоростью работы. За счет этого трудно считать его подходящим для создания тяжелых приложений, таких, как игры, либо программы с интенсивным использованием графики. Разработка с Ionic требует хороших знаний Angular, по крайней мере при желании «выжать» из фреймворка как можно больше.
Phonegap / cordova

PhoneGap исходно был создан компанией Nitobi. В 2021 году, Adobe приобретает Nitobi и бренд PhoneGap. Adobe затем передает одну из версий PhoneGap (назвав её Cordova), в Apache Foundation, оставив себе бренд PhoneGap и его как продукт. В результате Cordova можно рассматривать как движок, стоящий под капотом PhoneGap (а также некоторе другие гибридные фреймворки). PhoneGap, в свою очередь, добавляет к возможностям Cordova свои, дополнительные, функции.
PhoneGap во многих отношениях очень похож на Ionic. Он так же дает разработчикам возможность создавать кросс-платформенные приложения при помощи веб-технологий, и так же построен на базе Apache Codova. Однако PhoneGap не привязан к какому-то определенному Javascript-фреймворку, поэтому разработчики имеют бОльший выбор, на чем и как они будут создавать свои приложения.
Увы, подобно Ionic, PhoneGap использует WebView (который в iOS работает довольно медленно), так что со скоростью у приложений, созданных на базе этого фреймворка, дела не всегда обстоят блестяще.
React native

Swift 4
Итак:
- Приложения, написанные на Swift 4, станут меньше в размерах.
- Swift 4 получит встроенную поддержку кодирования/декодирования в/из JSON. До Swift 4 приходилось много писать много кода самому, либо использовать сторонние кодогенераторы. Сейчас этот код генерирует компилятор. Отдельное спасибо!
- Возврат к удобной модели работы со строками, которая была реализована в Swift 2 и убрана в Swift 3. Вместе с этим изменением строки станут лучше поддерживать Unicode («чтобы ваши любимые приложения корректно показывали все ваши emoji»), а работа с ними ускорится.
- Проекты, в которых используется и Swift, и Objective-C, будут собираться на 40% быстрее за счёт улучшений в Xcode 9 и его системы сборки.
- Apple (как обычно) обещает простую миграцию на Swift 4, и одновременную поддержку разных кодовых баз (3.2 и 4.0).
Xamarin

Основанная в 2021 году компания Xamarin, выпускающая семейство продуктов Xamarin через пять лет своего существования была купена компанией Microsoft. Сегодня продукты Xamarin представляют на рынке очень интересный подход к разработке кросс-платформенных мобильных приложений: приложения пишутся на C#, затем Xamarin компилирует его в нативное приложение для iOS, либо для Android, при этом в качестве базовой технологии Xamarin использует Mono, чем кросс-платформенность и обеспечивается.
Разработчики Xamarin говорят, что полученные на выходе приложения используют нативное API платформы, для которой приложение компилируется, так что поведение полученного приложения никак не отличается от поведения любого другого приложения на этой же платформе. Разработку, кстати, можно вести при помощи Visual Studio (что совсем неудивительно).
Несмотря на то, что большая часть кода проекта может быть без изменений использована на каждой из поддерживаемых мобильных платформ, тем не менее, некоторые фрагменты потребуется писать специально для версии приложения под iOS и под Android.
Xcode
Текстовый редактор в Xcode переписали на Swift, сделав его надёжнее и быстрее. Можно ли это почувствовать? Да! Подсветка синтаксиса работает (почти) моментально, открытие и навигация по файлу теперь без заметных задержек, а сообщения об ошибках больше не перекрывают исходный код. В beta все выглядит очень приятно, посмотрим, что нас ждет в релизе!
В Xcode появилась поддержка Markdown. Разметку можно использовать при документировании кода, и функциональность эта, на первый взгляд, косметическая, довольно заметно облегчает чтение кода, особенно чужого:

(Источник)
Редактор, кстати, научился подсвечивать блоки кода, удобно при изучении большого объёма кода.

(Источник)
Ещё одной важной фичей Xcode 9 стал рефакторинг кода на Swift, Objective-C, Objective-C , C. Рефакторинг позволяет переименовывать классы, переменные, а также дробить методы на менее крупные.

(Источник)
Из менее выделяющихся, но тем не менее полезных фич, можно назвать:
Апгрейд клавиатуры
Скажи приятель, а ты знаешь какой самый главный инструмент программиста? Конечно же, клавиатура. Один из самых главных минусов iPad’а (применительно к нашему ремеслу) – отсутствие отдельной клавиатуры. Экранная вполне пригодна для написания относительно небольших текстов (хотя, ваш покорный слуга умудрялся набивать на ней статьи по 18К знаков), но совершенно не годится для набивания кода.
«А чем же код от обычного текста?» – справедливо заметишь ты. В первую очередь тем, что когда мы пишем код, нам хочется видеть как можно больше строк. Согласись, лицезрение лишь последних 5-7 строк кода очередной хитрой функции удовольствие весьма сомнительное.
Экран iPad’а и так не сильно большой, а тут еще экранная клавиатура отъедает драгоценное пространство. При написании заметок в блог это еще не сильно ощущается, а вот при описании алгоритмов начинаешь чувствовать тотальную нехватку места.
Кроме этого у экранной клавиатуры есть ряд ограничений (которые успешно исправляют продвинутые редакторы): отсутствуют клавиши для быстрого перемещения в тексте (стрелочки, табуляция); отсутствие быстрого доступа к специальным символам/знакам, которые широко распространены в синтаксических конструкциях языков программирования.
Именно поэтому без нормальной внешней клавиатуры использовать iPad в качестве рабочей машинки будет крайне проблематично. Думаю, ты уже понял, что сейчас я нагло начну склонять тебя к покупке дополнительного гаджета. Сегодня внешние клавиатуры доступны в самых разных вариантах (встроенные в чехлы, stand-alone решения), выбор действительно шикарный.
Не хочу рекламировать какие-то бренды, но по своему опыту скажу, что наиболее интересные решения (на мой взгляд) сегодня предлагает один из лидеров в области разработки устройств ввода — компания logitech.
Для себя я выбрал Logitech Ultrathin Keyboard Cover — средняя по цене клавиатура и помимо своей основной функции, исполняет роль защитного чехла. Не могу сказать, что это идеальный вариант, но набирать с ее помощью килобайты текста гораздо удобнее и быстрей.
Веб, чистый веб
Часто недооцениваемая возможность использовать веб-страницу как отдельное приложение тем не менее к нашим услугам: если нет особых проблем со связью, а приложение обладает несложной функциональностью (вывод таблицы данных, или вывод постоянно обновляемого списка), то нет причин не воспользоваться старым добрым веб-просмотром информации с сервера.
Разница между открытием той же страницы в браузере будет в оформлении экрана: элементы управления браузера (в т.ч. и адресная строка) будут спрятаны, а содержимое страницы окажется выведенным на весь экран устройства. Из неудобств нас, конечно, ждет довольно долгое время открывания такого «приложения» (что связано со скоростью ответа удаленного веб-сервера), но для ряда применений это, думаю, вовсе не проблема.
Изучайте новые для себя области
Когда вы уже и получили базовые знания, и вникли в архитектуру iOS‑приложений, всё равно не переставайте учиться. Чем глубже вы уходите в профессию, тем больше обнаруживается областей, в которых вы не разбираетесь.
Чтобы стать ценным специалистом, понадобятся навыки работы с удалённым API, JSON. Очень важно уметь применять Grand Central Dispatch. Также необходимо уметь работать с базой данных Core Data / Realm и досконально изучать официальную документацию Apple.
Планшет по возможностям не уступает пк?
Все возможности iPad заключаются в приложениях, которые вы используете на нем.
По большей части, я использую в работе язык Python 3.6 и прекрасную IDE для него — Pythonista. Кстати, она доступна в AppStore. Эта среда разработки предоставляет мне возможности полноценных десктопных редакторов:
- я могу создавать код на планшете и сразу же видеть результат его работы;
- в любой момент можно подключить сторонние библиотеки;
- встроенный в приложение терминал позволяет даже запускать простые веб-сервера прямо на планшете.
Работаю с кодом в Pythonista
Для создания графики я использую целый набор различных приложений, каждое из которых лучше в разных аспектах. Procreate и Autodesk Sketchbook — мои личные фавориты в удобном создании и редактировании растровой графики.
Рисую маску в Procreate
В создании векторной графики все мои потребности полностью покрывают пара крутейших инструментов — Vectornator для детальной разработки графики любой сложности с нуля, и Assembly для быстрого и удобного создания артов, логотипов и иконок.
Управление сервером я веду через протокол SSH, используя для этого клиент Termius. Как я заметил, premium версия этого приложения даёт множество преимуществ, которые могут сохранить вам нервы и крепкий сон по ночам, но для базовой работы совсем не обязательна.
Для работы с файлами на сервере удобнее всего для меня оказался FTP Manager Pro, который позволяет перемещать Файлы с локального хранилища iPad простым перетаскиванием с помощью Drag & Drop.
Split View с FTP Manager Pro — идеальное сочетание
В совокупности всего перечисленного с удобством и скоростью работы, для меня iPad предоставляет даже больше возможностей в работе, чем ПК или ноутбук.
Получите фундаментальные знания
Распространённая ошибка среди начинающих программистов — сначала обрести специализированные знания, связанные с iOS‑разработкой, а затем уже переходить к базовым навыкам. В итоге специалист может потратить на обучение больше времени, чем необходимо, и совершить ряд ошибок.
Так что начните с освоения тех знаний, которые не зависят от области разработки. Изучите основы программирования, алгоритмы, архитектуру приложений и паттерны. Если вам будет удобнее осваивать их, делая разработку на Android, то так тому и быть. А вот после получения базовых знаний можно начать специализацию.
Продолжительность работы ipad от батареи
В iPad ещё с самого первого устройства Apple задала планку в 10 часов работы от одного заряда, которую до сих пор не могут достичь планшеты на Android, а приблизиться к этой цифре смогли разве что Windows-планшеты на базе Intel с мобильными х86 процессорами.
Эта цифра — мощный аргумент в сторону планшета. Несмотря на то, что ноутбуки Apple сейчас вне конкуренции по времени работы, даже они проработают не более 5-и часов под активной нагрузкой при программировании и отладке, то есть вдвое меньше чем iPad.
Важное уточнение: всё описанное выше — мой личный опыт работы с iPad Pro 10.5 и MacBook Pro 13” mid 2021, он может и будет не совпадать с вашим.
Только вы создаёте свою уникальную рабочую площадку для ваших собственных целей. Я надеюсь, что вы нашли в моем опыте что-то полезное для себя!
Прокачка программной начинки
Evernote
Условия распространения: Бесплатно/Платно
Стоимость: 5$/мес
Evernote давно стал для меня программой №1. Клиент к этому замечательному сервису у меня установлен на всех моих рабочих станциях и мобильных девайсах. Это инструмент не имеет прямого отношения к разработке, но лично я использую этот продвинутый блокнот для сохранения всех своих идей, а также написания черновиков технических заданий будущих программ.
Резюме: Отличное решение для написания ТЗ, планов и различной вспомогательной информации по проектам. Благодаря возможности шаринга, Evernote становится эффективным инструментом во время командной разработки.
Путь от apple
Путь
настоящего джедая
тру iOS-разработчика лежит в плоскости следования идеям Apple. Свежий SDK, свежая же версия Xcode, документация от Apple по технологиям Apple, форумы разработчиков на технологиях Apple – если вдуматься, а что ещё нужно для создания отличного приложения, кроме толики времени?
Новинки Apple озвучивает регулярно. На последней конференции для разработчиков WWDC 2021 были показан новый SDK и новая версия среды для разработке Xcode. Список изменений довольно обширен (тем более в преддверии выхода iOS 11):
Разработка и администрирование веб-ресурсов на ipad
У меня не получилось найти универсальный и подходящий мне инструмент для веб-разработки, верстки страниц с использованием JavaScript и CSS, с просмотром изменений в Split View, но для создания несложных прототипов могут подойти и универсальные редакторы кода вроде Buffer.
Возможность администрировать сайты с планшета зависит только от структуры самих сайтов. Если есть удобная админ-панель, или даже отдельное приложение для работы с движком сайта типа, WordPress, то наполнение сайта контентом с iPad не должно доставить вам слишком много неудобств.
Яблочная страна не всем рада
iPad вроде и универсальный гаджет, но в плане разработки он диктует жесткие условия и будет рад открыть двери не каждому девелоперу. Любителям иметь на своей железке C /Python/lamp и прочие прелести большего десктопного мира вход без лома категорически воспрещен.
Поднять на планшете компилятор C или интерпретатор питона без грязного джейлбрейка не удастся. Придется довольствоваться облаками, либо брать лом и на свой страх и риск ставить джейлбрек, раз и навсегда забивая гвоздь на гарантию.
Наиболее комфортно работать на планшете смогут web-разработчики. Именно им под силу выжать максимум пруфа от разработки на планшете. В связи с этим все дальнейшие советы будут в большей степени ориентированы на web-разработчиков.


