Приспосабливаем iPad для веб-разработки. Полный джентельменский набор

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор Без рубрики
Содержание
  1. «гибридное», «не совсем нативное» приложение
  2. Appcooker
  3. Apple представила новые технологии и инструменты для разработчиков приложений
  4. Buffer editor
  5. Code master
  6. Codea
  7. Codetogo
  8. Coffeescript at once
  9. Deadline
  10. Flash
  11. For i
  12. Gusto
  13. Ieditor
  14. Ionic
  15. Javascript anywhere
  16. Koder
  17. Monotouch
  18. Omnigraffle 3
  19. Phonegap / cordova
  20. Programming hub
  21. React native
  22. Swift 4
  23. Textastic code editor
  24. Xamarin
  25. Xcode
  26. Апгрейд клавиатуры
  27. Веб, чистый веб
  28. Всем желаю удачи в достижении поставленных целей!
  29. Изучаем веб-программирование
  30. Как зарегистрироваться в ios developer program
  31. Какие инструменты можно использовать для разработки?
  32. Курсы
  33. Наполняем проект контентом
  34. Нативные средства разработки
  35. Низкая квалификация разработчиков в маленьких компаниях
  36. Обязательно ли нужен mac?
  37. Определение направления
  38. Пишем код
  39. Планирование проекта
  40. Платные приложения в appstore — от

    ,99 до 9,99

  41. Поиск стажировки
  42. Придумываем дизайн
  43. Прокачка программной начинки
  44. Путь от apple
  45. Разница между web и native приложениями
  46. Разработка приложений под заказ
  47. Сервис подписок
  48. Ситуация на рынке и серые зарплаты
  49. Стажировка и первая работа
  50. Торговля в приложении — in-app purchases
  51. Управляем работающим проектом
  52. Яблочная страна не всем рада
  53. Итоги

«гибридное», «не совсем нативное» приложение

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

Если человек умеет писать, скажем, на JavaScript, и не хочет разбираться в Swift, то Apple ему ничем не поможет (кроме, конечно, хорошего учебника по Swift), а вот вариант написать, условно говоря, приложение на JavaScript, а потом запустить его на iOS, как если бы оно было написано в Xcode (получив, таким образом, некий «гибридный» вариант) существует, и вполне востребован.

Appcooker

AppCooker позволяет вам разрабатывать прототипы приложений для iPhone, iPad или Apple Watch, а затем просматривать их на устройствах с помощью бесплатного сопутствующего приложения под названием AppTaster. AppCooker требует iOS 8 или более поздних версий и обеспечивает полностью функционирующие прототипы приложений.

Apple представила новые технологии и инструменты для разработчиков приложений

«Мы очень рады дать сообществу разработчиков новые инструменты и технологии, с помощью которых можно будет создавать ещё более интересные и качественные приложения, а также по‑новому взаимодействовать с пользователями через App Store, — сказала Сьюзан Прескотт, вице-президент Apple по связям с разработчиками. — Широкие возможности Xcode Cloud, постоянное совершенствование языка программирования Swift, большое количество новых API, дополнительные способы общения с пользователями — всё это делает платформы Apple ещё более совершенными, чем раньше».

Xcode Cloud — новый облачный сервис для непрерывной интеграции и распространения приложений для платформ Apple. Сервис встроен в Xcode 13 и позволяет индивидуальным разработчикам и командам любого размера быстро и просто компилировать, тестировать и распространять высококачественные приложения, работая, таким образом, ещё более эффективно. Xcode Cloud может автоматически собирать приложения в облачной среде, освобождая тем самым ресурсы компьютеров Mac, которыми пользуются разработчики, для других задач. Параллельное тестирование в облаке позволяет проверить, как будет работать приложение на каждой из текущих моделей устройств Apple, а затем без труда передать уже скомпилированное приложение в отдел внутреннего тестирования или отправить независимым бета-тестировщикам через модуль TestFlight, чтобы получить мгновенную обратную связь.

Buffer editor

buffer editor

Достоинства:

  • поддержка FTP и SFTP;
  • поддержка Dropbox;
  • работа с SSH;
  • есть версия для iPod Touch;
  • автоматическая синхронизация с сервером;
  • поддержка 4 десятков языков программирования. В том числе Ada, Go, INI и Lua;
  • расширенная клавиатура;
  • поддержка шорткатов;
  • есть кнопки «Undo» и «Redo»;
  • функции поиска и замены;
  • превью для HTML-файлов;
  • большой выбор тем оформления;
  • отправка файлов по email;
  • поддержка vim команд.

Недостатки:

  • нет поддержки систем контроля версий.

Цена: 179 рублей.

Code master

codemaster

Достоинства:

  • поддержка iCloud Drive;
  • поддержка Dropbox;
  • подсветка синтаксиса;
  • нумерация строк;
  • встроенный браузер для просмотра HTML-файлов;
  • расширенная клавиатура;
  • автодополнение кода;
  • возможность поделиться кодом в соцсетях.

Недостатки:

  • очень много языков программирования не поддерживаются;
  • нет интеграции с системами контроля версий.

Загрузите в App StoreЦена: бесплатно

Codea

Приложение Codea особенно полезно для создания игр и симуляций. Оно включает подсветку синтаксиса и визуальное редактирование для Lua, графический рендерер, справочную документацию, поддержку шейдеров, механизм физики, поддержку интерфейса касания, акселерометр и камеру. Готовые приложения Codea могут быть экспортированы в Xcode и созданы как приложения App Store.

Codetogo

CodetoGo

Достоинства:

  • есть возможность не только редактировать файлы исходников, но и запускать их на удаленном сервере;
  • поддержка iTunes Files Sharing;
  • интеграция с Dropbox;
  • расширенная клавиатура;
  • нумерация строк и функция «Goto Line»;
  • встроенный браузер для просмотра HTML-документов;
  • отправка файлов по email;
  • поддержка нескольких десятков языков программирования. В том числе Factor, COBOL, Unlambd и Smalltalk.

Недостатки:

  • не всегда срабатывает выполнение исходников на удаленном сервере.

Цена: 169 рублей.

Coffeescript at once

Coffe Script at once

Достоинства:

  • поддержка HTML, JS, CCS, Jquery и Processing.js;
  • расширенная клавиатура;
  • есть функция для публикации на Github;
  • встроенный браузер для тестирования программ с возможностью просмотра ошибок в логах;
  • отправка файлов по email.

Недостатки:

  • нельзя вставлять картинки в проект.

Цена: бесплатно.

Deadline

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

Так что обещать клиенту выпустить приложение в AppStore к определенной дате, если у вас нет в запасе двух-трех недель, — поступок довольно безрассудный. Лучше обещайте показать приложение на устройстве к оговоренному сроку и объясните ситуацию с ревью.

Спасибо, что прочитали статью!

Flash

Adobe Flash Pro CS5 поддерживает разработку под iPhone. Другое дело, что пока этот путь основательно не разработан и определенная сырость в подходе присутствует.

For i

for i text editor

Достоинства:

  • подсветка синтаксиса для основных языков программирования;
  • настройка персональных тем оформления;
  • расширенная клавиатура;
  • поддержка шорткатов;
  • автосохранения файлов;
  • поиск по тексту с поддержкой регулярных выражений;
  • интеграция с Github;
  • интеграция с XCode;
  • поддержка бандлов TextMate.

Недостатки: не обнаружено.

Цена: 599 рублей.

Gusto

Снимок экрана 2021-08-29 в 19.44.59

Достоинства:

  • все файлы (исходники, графика, видео) разделены по проектам-сайтам;
  • нумерация строк;
  • подсветка синтаксиса для основных языков программирования для веба;
  • можно создавать пользовательские схемы подсветки синтаксиса;
  • панель инструментов с наиболее часто используемыми командами;
  • поддержка FTP и SFTP;
  • поддержка FTPS;
  • интеграция с Dropbox;
  • есть версия для iPod Touch.

Недостатки:

  • нет интеграции с системами контроля версий;
  • при передаче файлов случаются глюки.

Цена: 599 рублей.

Ieditor

iEditor

Достоинства:

  • возможность экспорта текстовых файлов в PDF и JPEG;
  • отправка файлов на печать;
  • отправка файлов по email;
  • возможность добавлять в текст фотографии;
  • поддержка файлов Microsoft Office;
  • удобный файловый менеджер;
  • работа с Zip-архивами.

Недостатки:

  • может работать с довольно узким кругом языков программирования;
  • нет поддержки систем контроля версий.

Цена: 169 рублей.

Ionic

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор

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, по крайней мере при желании «выжать» из фреймворка как можно больше.

Javascript anywhere

JavaScript Anywhere

Достоинства:

  • поддержка CSS, HTML и JavaScript;
  • встроенный браузер для предпросмотра файлов;
  • все файлы организованы в проекты;
  • можно сохранять картинки в проект напрямую из интернета;
  • гибкая настройка темы оформления;
  • защита приложения паролем;
  • интеграция с Dropbox.

Недостатки: не обнаружено.

Цена: бесплатно.

Koder

Koder

Достоинства:

  • поддержка почти сотни языков программирования. У Koder даже для ActionScript и ActionScript 3 разная подсветка;
  • автозаполнение кода;
  • справочники функций для самых популярных языков;
  • встроенный SSH-клиент;
  • система управления отступами;
  • можно включить клавиатуру с дополнительными символами;
  • поддержка Document Picker в iOS 8;
  • функции поиска и замены;
  • превью HTML файлов в браузере;
  • поддержка FireBug;
  • можно создавать собственные темы оформления;
  • блокировка приложения паролем;
  • поддержка iTunes File Sharing;
  • поддержка FTP;
  • открытие и сохранение файлов во всех популярных кодировках;
  • поддержка Zip-архивов;
  • улучшенный файловый менеджер.

Недостатки:

  • нет поддержки Golang;
  • нет поддержки SVN;
  • нет поддержки Git.

Цена: 349 рублей.

Monotouch

MonoTouch позволяет разрабатывать приложения для iДевайсов на C#. Ощутимый минус для .NET разработчиков цена — $399 за индивидуальную лицензию.


Что привлекает меня в этом пути: в связке с

можно потенциально покрыть довольно большой сегмент мобильного рынка (iOS/Android/WP7), без больших изменений кода.

Omnigraffle 3

OmniGraffle 3 — это дизайнерский и диаграммный пакет для устройств Apple, с удобным интерфейсом, чем предыдущие версии. Приложение позволяет пользователям рисовать фигуры и перетаскивать объекты, а также предоставляет интеллектуальные направляющие, которые помогут вам оптимизировать диаграммы.

Phonegap / cordova

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор

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 работает довольно медленно), так что со скоростью у приложений, созданных на базе этого фреймворка, дела не всегда обстоят блестяще.

Programming hub

Это полезное приложение может использоваться как учащимися, так и опытными разработчиками, работающими в Python, Assembly, HTML, VB.NET, C, C , C#, javascript, PHP или Java. Оно может похвастаться элегантным и интуитивно понятным интерфейсом и содержит унаследованные элементы, чтобы увеличить полезность для новичков. Это широко используемый инструмент, оцененный на 4,3 звезды в Google Play почти 56000 пользователей.

React native

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор

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).

Textastic code editor

Снимок экрана 2021-08-29 в 19.51.30

Достоинства:

  • подсветка синтаксиса 80 языков программирования. Даже для такой экзотики как BibTex, Clojure, Dylan, Fountain, LilyPond, OCaml, Stata и Prolog;
  • можно добавлять собственные правила подсветки кода;
  • совместимость с TextMate;
  • поддержка FFT и SSH;
  • интеграция с iCloud и Dropbox;
  • автодополнение кода для Java Script, HTML и PHP;
  • клавиатура с дополнительными символами для набора кода;
  • поддержка шорткатов;
  • поддержка большинства современных кодировок;
  • возможность изменить тип и размер шрифта;
  • счетчик символов;
  • предпросмотр для HTML и Markdown файлов;
  • поддержка TextEspander;
  • отправка файлов по email;
  • есть кнопки «Undo» и «Redo»;
  • есть отображение списка последних открытых файлов;
  • поддержка iTunes FileSharing (можно обмениваться файлами с компьютером через USB);
  • поддержка WebDav;
  • отличный дизайн, благодаря которому код легко читается.

Недостатки: 

  • нет поддержки SVN;
  • нет поддержки Git.

Цена: 479 рублей

Xamarin

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор

Основанная в 2021 году компания Xamarin, выпускающая семейство продуктов Xamarin через пять лет своего существования была купена компанией Microsoft. Сегодня продукты Xamarin представляют на рынке очень интересный подход к разработке кросс-платформенных мобильных приложений: приложения пишутся на C#, затем Xamarin компилирует его в нативное приложение для iOS, либо для Android, при этом в качестве базовой технологии Xamarin использует Mono, чем кросс-платформенность и обеспечивается.

Разработчики Xamarin говорят, что полученные на выходе приложения используют нативное API платформы, для которой приложение компилируется, так что поведение полученного приложения никак не отличается от поведения любого другого приложения на этой же платформе. Разработку, кстати, можно вести при помощи Visual Studio (что совсем неудивительно).

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

Xcode

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

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

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор
(Источник)

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

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор
(Источник)

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

Приспосабливаем iPad для веб-разработки. Полный джентельменский набор
(Источник)

Из менее выделяющихся, но тем не менее полезных фич, можно назвать:

Апгрейд клавиатуры

Скажи приятель, а ты знаешь какой самый главный инструмент программиста? Конечно же, клавиатура. Один из самых главных минусов iPad’а (применительно к нашему ремеслу) – отсутствие отдельной клавиатуры. Экранная вполне пригодна для написания относительно небольших текстов (хотя, ваш покорный слуга умудрялся набивать на ней статьи по 18К знаков), но совершенно не годится для набивания кода.

«А чем же код от обычного текста?» – справедливо заметишь ты. В первую очередь тем, что когда мы пишем код, нам хочется видеть как можно больше строк. Согласись, лицезрение лишь последних 5-7 строк кода очередной хитрой функции удовольствие весьма сомнительное.

Экран iPad’а и так не сильно большой, а тут еще экранная клавиатура отъедает драгоценное пространство. При написании заметок в блог это еще не сильно ощущается, а вот при описании алгоритмов начинаешь чувствовать тотальную нехватку места.

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

Именно поэтому без нормальной внешней клавиатуры использовать iPad в качестве рабочей машинки будет крайне проблематично. Думаю, ты уже понял, что сейчас я нагло начну склонять тебя к покупке дополнительного гаджета. Сегодня внешние клавиатуры доступны в самых разных вариантах (встроенные в чехлы, stand-alone решения), выбор действительно шикарный.

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

Для себя я выбрал Logitech Ultrathin Keyboard Cover — средняя по цене клавиатура и помимо своей основной функции, исполняет роль защитного чехла. Не могу сказать, что это идеальный вариант, но набирать с ее помощью килобайты текста гораздо удобнее и быстрей.

Веб, чистый веб

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

Разница между открытием той же страницы в браузере будет в оформлении экрана: элементы управления браузера (в т.ч. и адресная строка) будут спрятаны, а содержимое страницы окажется выведенным на весь экран устройства. Из неудобств нас, конечно, ждет довольно долгое время открывания такого «приложения» (что связано со скоростью ответа удаленного веб-сервера), но для ряда применений это, думаю, вовсе не проблема.

Всем желаю удачи в достижении поставленных целей!

P.S.

HR-ам: Нет, я не занимаюсь поиском работы. Да, у меня есть хорошая высокооплачиваемая работа с белой зарплатой на интересном проекте, менять я ее не планирую. Точно не рассматриваю варианты релокации в СПБ, Н-Новгород, Калининград, Казань или Севастополь.

Рассмотрю только вариант переезда в Израиль (нет, еврейских корней нет, английский на уровне intermediate, еще знаю русский и украинский. Просто мне нравится море, страна и еврейское мировоззрение).

P.P.S.: Выйду замуж за еврея, желательно с фамилией Абрамович или Ротенберг (шутка)

Спасибо за то, что дочитали до конца!

Благодарю Lowtrack, за помощь в написании статьи.

Изучаем веб-программирование

Снимок экрана 2021-10-15 в 17.44.50

Как зарегистрироваться в ios developer program

У вас есть два пути:

Разница между ними в следующем: при участии в Enterprise программе вы не можете, в отличие от обычной программы, выкладывать свои приложения в AppStore, зато можете разрабатывать in-house приложения — приложения, для внутреннего использования в своей компании, без открытого доступа.

(последний вопрос в списке)

В остальном, программы дают одинаковые возможности:

Небольшое замечание по Ad Hoc — это способ распространения приложений без AppStore, прямой установкой файла-сборки приложения через iTunes. И тут возникает вопрос: чем это отличается от тех in-house приложений, которыми манит нас Enterprise программа?

Тем, что в стандартной программе вы можете зарегистрировать в год не более 100 устройств для установки на них своих приложений, то есть ни о каком коммерческом распространении тут речь идти не может. Более того, Ad Hoc распространение ориентированно в первую очередь на тестирование продуктов — программы, установленные таким образом, могут работать на устройствах только в течение 6 месяцев.

Какие инструменты можно использовать для разработки?

Тут я коснусь только нескольких инструментов — после снятия Apple запрета на ненативные инструменты разработки, чуть ли не каждый день появляются новые IDE и фреймворки.

Курсы

Цель поставлена, теперь надо было определиться — какой из множества направлений в программировании имеет смысл освоить? Нашла друга — программиста (java), он мне порекомендовал податься в Мобильную разработку, т.к. ниша достаточно новая, быстро развивается, и разработчиков с каждым годом будет все больше и больше не хватать. (Альберт, если ты это читаешь, очередной тебе привет и огромная благодарность за совет!).

Ну что ж, цель поставлена, пора действовать! Заплатила за онлайн курсы (рассчитанные на 6 месяцев 2 месяца стажировка), тогда стоимость курсов составляла порядка 40к рублей (если что, то сейчас в два раза дороже). Подождала старта своей группы и плюхнулась со всего разбега в этот океан новых знаний.

Было очень страшно рисковать, т.к. на курсе все были сильно моложе меня (от 18 до 30 лет), а девушек практически не было (отсеялись после первых уроков).

Небольшое отступление: здесь и ниже все цены будут указаны для Москвы. Как дела с зарплатами и ценами в другом регионе, я подсказать не смогу.

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

Теперь же по порядку: онлайн-обучение на мобильного разработчика включало в себя 2 курса по ios-разработке, основы Java и 2 курса по Андроид-разработке любой подарочный курс, какой мне понравится. Занятия (онлайн) начинались вечером около 20-00, чтобы все работающие успели к этому времени вернуться домой.

Я для себя определила, что хочу заниматься именно Андроид-разработкой, т.к. ни одного яблочного устройства у меня не было, да и я относилась к тем людям, кто постоянно троллил владельцев гаджетов apple за их необдуманную трату денег (кто бы тогда мог представить, что через три года у меня будет два iPhone и macBook pro).

Я несколько разочаровалась из-за того, что обучение стартовало именно с изучения iOS. Однако, поскольку iOS изучался на языке objectiveC, мне в этом смысле было даже проще, т.к. синтаксис очень схож с родным институтским C/C . Самая большая сложность на курсе возникла из-за отсутствия mac-а.

У меня был очень крутой ноутбук на Windows (16gb, i7, SSD256), поэтому, перелопатив форумы, нашла, как можно установить виртуальную машину и под ней уже разрабатывать на iOS. Сказать, что виртуалка тормозила — это мягко сказано! Кроме того, собирать проекты приходилось на симуляторе, т.к. у меня ни аккаунта разработчика не было, ни устройства, на котором разрабатывать, да и подключить устройство для сборки на виртуальной машине — то еще удовольствие. Покупать б/у телефон я не рискнула, да и бюджет у меня был жестко распланирован ровно на 8 месяцев.

Но… так получилось, что мне очень повезло с преподавателем iOS. (

, в очередной раз, огромная Вам благодарность за помощь и терпение!). Он очень ответственно подходил ко всем урокам, готовился заранее, каждый урок длился не 1 час, а 3 часа, т.к. за 1 час сложно было раскрыть все темы, объяснить начинающим, как пользоваться XCode. Но самое замечательное то, что если я чего-то не понимала,

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

Небольшое отступление: я надолго запомню, как он мне на примере офисного шкафа и рабочего стола объяснял, что такое ООП, что такое классы, объекты, методы.

Поскольку, я знала, что мой уровень в программировании далек от того, который имелся у молодых ребят после ВУЗа, я занималась целыми днями по 14 часов. Забывала обедать, ужинать. Иногда ДЗ делала не только днем, но и ночью. Сбила себе режим так, что ложилась в 6 утра, в 12 просыпалась и опять за учебу. В общем, чтобы все успевать наравне со всеми, выкладывалась на 300%.

На курсах Lowtrack посоветовал мне пойти изучать английский (хотя бы получить базовый уровень), пришлось раскошелиться и еще 25к вложить в начальные 3-х месячные курсы английского.

Наполняем проект контентом

Снимок экрана 2021-10-15 в 18.09.59

Нативные средства разработки

Это прежде всего язык Objective-C и среда разработки Xcode (за компанию с Interface Builder, iPhone симулятором и другими приложениями из пакета разработчика). Еще можно писать на C и C , но без Objective-C вам в некоторых моментах будет все-таки не обойтись.


На хабре довольно много статей об этом языке — стоит только пролистать блог

. У Objective-C есть определенный шарм (хотя на этот счет высказываются

), он немного сложен в начале освоения, -парадигма, унаследованная от Smalltalk дает о себе знать — но потом затягивает.

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


Недавно JetBrains анонсировали свою среду разработки для Objective-C —

(жаль, что они оказались от супер-названия CIDR — одна компания, имеющая продукт с названием Cider, попросила их не использовать похожую аббревиатуру), так что даже тут появится выбор. Конкуренция, надеюсь, приведет к повышению качества.

Низкая квалификация разработчиков в маленьких компаниях

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

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

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

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

Проработав 2 месяца, я решила уйти, т.к. не было грамотного тимлида в компании, мало работы, запрещали проводить рефакторинг, а поддерживать такой код нереально.

Потом мне опять пришлось искать работу и не один раз…

Обязательно ли нужен mac?

Вам обязательно понадобится Mac OS X, так как ни на какой другой платформе вы не сможете работать с iOS SDK. Есть много различных вариантов разработки iOS приложений, но минимум для сборки и загрузки приложения в AppStore вам будет необходима Mac OS X. Да, последнее время появляются различные сервисы, которые

и пирожки за вас есть будут

предлагают постить приложения за вас и различные другие услуги, и о них на хабре тоже

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

Способы заполучить Mac OS X:

Mac mini сейчас вполне доступная вещь, хотя, конечно, всегда хочется большего, а там цены у Apple уже начинают кусаться.

Относительно двух других вариантов: я слышал отзывы людей, которые вполне счастливы с хакинтошем или с Mac OS X на VMWare, но и отрицательного опыта тоже накоплено достаточно. Тут все зависит от железа, прямоты рук и вашего желания.


В целом, если вы хотите разрабатывать под iPhone, операционная система препятствием стать не должна.

Определение направления

В 2021 году компания, в которой я проработала 7 лет, закрылась (сотрудникам Ланка привет!). И передо мной встал выбор: искать работу или подумать о том, кем я на самом деле хочу работать.

При закрытии руководство компании поступило по отношению ко всем своим сотрудникам очень лояльно, и мы получили при увольнении деньги, с учетом скакнувшего тогда курса очень даже приличные (мне хватило прожить на них 8 месяцев).

В Ланке я работала в закупках, аналитиком. Ничего аналогичного по зарплате или функциональным обязанностям я долго не могла найти.

Пишем код

Снимок экрана 2021-10-15 в 17.47.22

Примечание: для NoSql в App Store на данный момент клиентов еще нет.

Планирование проекта

Снимок экрана 2021-10-15 в 17.51.51

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

Платные приложения в appstore — от $0,99 до $999,99

Тут все очень просто/сложно. Пишете приложение, выкладываете в AppStore, выставляете цену, получаете деньги от довольных покупателей. 30% процентов от цены забирает Apple. Есть шанс как захватить мир, так и попусту потратить свое время — все зависит от вас.

Верхняя планка цены реальна — в AppStore было уже как минимум два приложения за тысячу долларов:

— приложение для студентов-юристов;

— приложение, показывающее изображение красного, видимо, драгоценного камня. Из магазина оно было убрано через день после публикации, но 8 счастливчиков все-таки успели его приобрести. Сейчас оно вернулось в AppStore уже с ценой в 10 долларов, одной из фич указано, что приложение продается всего за 1/100 от оригинальной цены.

Поиск стажировки

Через 3 месяца курсы iOS закончились, и я осознала для себя, что влюбилась в iOS-разработку. Позже, когда я уже приступила к изучению Андроида, я поняла, что хочу заниматься именно iOS. Да и преподавание Андроида было ниже плинтуса: не смотря на то, что преподаватель на курсах был лучшим из лучших, он совсем не уделял нам времени, скидывал уже заранее заготовленные методички по теории, 90% занятий уходило на разбор чужих домашних заданий, причем моя работа так ни разу и не была просмотрена. В общем, на этих курсах я поняла, что зря трачу время, пора искать стажировку.

Придумываем дизайн

Снимок экрана 2021-10-15 в 17.53.11

Прокачка программной начинки

Evernote
Условия распространения: Бесплатно/Платно
Стоимость: 5$/мес

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

Резюме: Отличное решение для написания ТЗ, планов и различной вспомогательной информации по проектам. Благодаря возможности шаринга, Evernote становится эффективным инструментом во время командной разработки.

Путь от apple


Путь

настоящего джедая

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

Новинки Apple озвучивает регулярно. На последней конференции для разработчиков WWDC 2021 были показан новый SDK и новая версия среды для разработке Xcode. Список изменений довольно обширен (тем более в преддверии выхода iOS 11):

Разница между web и native приложениями

Хочу пояснить разницу между native и web приложениями для iPhone/iPad, пока мы не перешли к инструментам разработки. Первые распространяются через AppStore (или in-house приложения), вторые — всего лишь web-сайт или его часть, специальным образом сконфигурированный под iPhone.


Доступные web-приложения можно посмотреть тут —

Разработка приложений под заказ

Тут все тоже предельно просто — клиент платит деньги, вы разрабатываете приложение. Обычно это имиджевые, корпоративные приложения или представление каких-либо сервисов клиента для iOS.

Сервис подписок

Тем, кто в детстве выписывал «Мурзилку», должна быть понятна суть этого варианта заработка. Обычная подписка на журналы, газеты, музыку, видео… Издатель устанавливает цену, Apple берет себе стандартные 30 процентов. Сервис был запущен 15 февраля 2021 года, подробности можно почитать в официальном

Ситуация на рынке и серые зарплаты

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

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

Так я получила два приобретения: новенький мак 2021 года и опыт (никогда больше не связываться с серыми зарплатами).

Стажировка и первая работа

Итак, началось!

Через 6 месяцев после старта курсов я получила долгожданную стажировку! Но радоваться я перестала сразу, как только мне объявили, что стажировка неоплачиваемая, и если я стажировку пройду успешно, то тогда, возможно, меня возьмут на работу. Т.е. я 3 месяца каждый день приезжаю в компанию, учусь/работаю, а за это мне не платят ни копейки!

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

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

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


На стажировке нам, таким же джуниорам, как и я (по 5 человек на каждой платформе), доверили писать реальный проект! Это было очень интересно!

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

Стажировка закончилась. По завершении стажировки мне предложили не густо, не пусто — зп в 45к (это, конечно, не такая зарплата, которую мне бы хотелось, т.к. работая менеджером я бы смогла получать около 60к), но я так уже сработалась с этими ребятами, что мне не хотелось расставаться.

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

Через полгода к нам в компанию на стажировку взяли еще 2 девочек.

И тут началась травля: мне постоянно указывали на прогресс этих двух девочек-студенток, на их отличную теоретическую базу, на схватывание на лету (кстати, одна из них стажировку так и не прошла). Было очень обидно! Кроме того, мне тогда приходилось параллельно заниматься менеджерской работой на новом проекте, и времени на разработку оставалось мало (80% времени я уделяла не разработке, а менеджерским обязанностям).

Да, обидно, грустно, но, видно, пришло время двигаться дальше.

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

Однако все, кто ушел, смогли быстро найти хорошую работу на зп от 80 , даже с опытом от 6 месяцев, в таких компаниях как Сбертех, Альфабанк, Тинькофф.

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

Например, у меня коллега (Саша, помаши рукой маме!), который со мной работает (джуниор), искал работу после курсов 2 месяца. Прошел 8 собеседований. Из них только 2 приглашения. Средняя ЗП на рынке для джуниора порядка 60-80к. Если вариант со стажировкой, то за стажировку могут платить около 30-50к, что, согласитесь, лучше, чем работать в H&M или курьером.

Торговля в приложении — in-app purchases


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

. Да, Apple забирает себе положенные 30 процентов выручки.

Управляем работающим проектом

Поделиться ссылкой

Яблочная страна не всем рада

iPad вроде и универсальный гаджет, но в плане разработки он диктует жесткие условия и будет рад открыть двери не каждому девелоперу. Любителям иметь на своей железке C /Python/lamp и прочие прелести большего десктопного мира вход без лома категорически воспрещен.

Поднять на планшете компилятор C или интерпретатор питона без грязного джейлбрейка не удастся. Придется довольствоваться облаками, либо брать лом и на свой страх и риск ставить джейлбрек, раз и навсегда забивая гвоздь на гарантию.

Наиболее комфортно работать на планшете смогут web-разработчики. Именно им под силу выжать максимум пруфа от разработки на планшете. В связи с этим все дальнейшие советы будут в большей степени ориентированы на web-разработчиков.

Итоги

Подвожу итог всему изложенному:

  1. Не верьте рекламе онлайн-курсов со стажировками! Либо стажировку Вам предоставят фиктивную, либо дадут только контакты, а дальше уже сами… И снимите розовые очки, на рынке очень мало компаний, готовых брать людей на стажировку, т.к. стажер отнимает ценное время у высокооплачиваемого специалиста.
  2. Да, зарплаты разработчиков сейчас на рынке очень вкусные, но если Вы захотите сменить профессию здесь и сейчас, то придется запастись терпением и понять, что в первые 2-3 года на высокую зарплату можно не рассчитывать.
    Также учтите, что курсы длятся от 6 до 10 месяцев. Если не готовы увольняться с работы, то придется отказаться от привычных посиделок с друзьями, отпусков и выходных, т.к. все свободное время уйдет на обучение и выполнение домашних заданий.
  3. Отложите денег на случай, когда придется долго искать стажировку или работу.
  4. Учите теорию с первых дней курсов. Если самостоятельно получать знания и изучать что-то новое — это не ваше, значит, и профессия программиста — не ваше!
    Пример: на курсах я изучала objC, однако, в процессе работы возникла необходимость выучить еще и Swift. Разработчики, которые умеют писать на двух языках ценятся выше. Знание теории же всегда требуют при прохождении собеседований.
  5. Подтяните английский язык (минимум до intermediate), чтобы хотя бы WWDC могли смотреть в оригинале.
  6. Если планируете разрабатывать на iOS, лучше купить какой-нибудь б/у macMini или, если руки правильные, собрать хакинтош. Желательно (но не обязательно) иметь возможность проверять свои результаты на реальном устройстве и, соответственно, купить аккаунт разработчика (100 у.е./год).
  7. Если у Вас мало опыта, обязательно уточните на собеседовании, есть ли опытный тимлид, и каким образом в компании происходит рефакторинг. Т.к. если попадете в компанию, где работают малоопытные коллеги, то Ваше развитие затормозится.
  8. Не покупайтесь на серые зарплаты и ИП
  9. В статье не стала раскрывать вопрос о том, как на меня смотрели близкие и друзья, но имейте в виду, что смотреть на вас будут дикими глазами, всячески отговаривать и убеждать, что сделали неверный шаг.
    Думайте только своей головой. В конце концов, это ваша жизнь, и вам решать, как с ней поступить и куда дальше двигаться.
  10. Поставьте цель, пообещайте кому-нибудь, что выполните ее и рискните!
    Дальше все зависит только от вас! У меня получилось.


Теперь немного похвастаюсь. Что я смогла позволить себе за последний год:

Читайте также:  Как отвязать банковскую карту от Apple ID
Оцените статью
iPad Мобайл
Добавить комментарий