Ios — Языки для экосистемы Apple — зачем изучать старьё


Содержание

Какой язык учить: Objective C или Swift для разработки под iOS и OS X?

Хочу спросить у практикующих разработчиков программ\приложений под iOS и OS X.

Стоит ли на старте изучать старый язык программирования Objective C или лучше сразу начинать учить новый язык программирования Swift?

Ведь по словам Apple: Swift создан что бы заменить Objective C.

Я понимаю что в перспективе нужно будет знать оба, так как старое программное обсечение написано на Objective C.

Почему я ушел из экосистемы Apple и продал свои MacBook и iPhone

Мое знакомство с продукцией Apple началось с MacBook Air в далеком 2012 году. Я испытывал к нему настоящую любовь, так как он регулярно подносил мне приятные сюрпризы. Тогда у меня не было iPhone, поэтому я не мог воспользоваться всеми преимуществами экосистемы. Менее чем через год я приобрел свой первый смартфон от купертинского бренда и начал получать истинное удовольствие.

iCloud — это основа экосистемы Apple и одновременно ее достоинство. Это облачный сервис обеспечивает доступ к данным с любого устройства компании.

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

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

Что изменилось?

В Apple никогда не останавливались на достигнутом. Они ежегодно формируют тренды на рынках компьютеров и мобильных технологий. Более 9 лет назад Стив Джобс представил первый MacBook Air, который сподвиг других производителей выпускать тонкие и легкие ноутбуки. Потом, в 2012 году, купертиновцы представили MacBook Pro с Retina-экраном, который поражал своей ультравысокой четкостью и точной цветопередачей экрана

Наряду с этим компания Apple развивала свою операционную систему macOS, с каждым годом расширяя ее функциональные возможности. Параллельно инженеры работали над мобильной операционной системой iOS, и вскоре обе эти платформы стали, по сути, неразделимыми. Некоторое время, учитывая все преимущества экосистемы Apple, было странно видеть владельца MacBook, который еще пользуется каким-либо смартфоном, кроме iPhone.

Компания сдает позиции в плане безглючности и совместимости. Ни ее компьютерами, ни смартфонами невозможно пользоваться.

К настоящему моменту все изменилось. Не радует ни связка MacBook с Айфоном, ни использование их по отдельности, поэтому я продал оба эти гаджета. Последней каплей стали недавние обновления macOS High Sierra и iOS 11. Я ждал их с надеждой, что мои аппараты станут работать лучше, в частности, лишатся таких болячек, как микролаги, односекундные подвисания, плохая совместимость и перегрев, однако этого не произошло.

В меня вселилась надежда, когда купертиновцы анонсировали внедрение новой файловой системы APFS (Apple File System), как на мобильных гаджетах, так и на компьютерах. Однако, никакого чуда не произошло. Мало того, стало хуже, заметно хуже.

Проблемы с быстродействием и стабильностью

Мой 15-дюймовый MacBook Pro с процессором Intel Core i7 начал откровенно тормозить, но что раздражает больше всего, это короткие зависания на протяжении одной секунды. Компьютер просто не реагирует ни на какие действия, будь то клик мыши или нажатие клавиатуры. Случается это по 20 раз на день и продолжается почти что с первого дня использования macOS 10.13.

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

Вскоре я пошел в Интернет, чтобы как-нибудь “вылечить” эту проблему, но все мои попытки не увенчались успехом. Мне советовали сбросить данные контроллера SMC, потом говорили обязательно сделать сброс NVRAM, однако я только потерял время. В результате, мой Mac за 120 000 рублей подвел меня, а так как я использовал его для работы, то я еще терял при этом деньги, не имея возможности полноценно работать.

Внедрение файловой системы APFS никак не помогло, по крайней мере, мне. Я не заметил обещанного прироста скорости копирования и перемещения файлов. Мало того, встроенный в к ноутбук диск, согласно бенчмаркам, выдает скорость в 1.2 ГБ/с как на запись, так и на чтение, но работа с файлами дается ему с трудом. Особенно сильно разочаровывает копирование данных из образов в формате .dmg. Одно приложение весом 2 ГБ может перемещаться более получаса.

Также отмечу, что после обновления до iOS 11 смартфон, который и до этого работал не идеально, стал совсем меня разочаровывать. Он перегревается по причине и без, лагает и зависает. Нередко берет и спонтанно перезагружается, что несколько раз прерывало разговор по телефону. Все это превращало взаимодействие со смартфоном в настоящее мучение.

Легендарной оптимизации в как в macOS, так и iOS больше нет.

О недоработках программного обеспечения также свидетельствует не плавная анимация. Как в macOS, так и iOS очень много различных эффектов и анимации, так что со временем подергивания интерфейса начинают раздражать и выбешивать. Более того, от прерывистого скроллинга страниц через 5 минут начинают болеть глаза. К счастью, эта проблема замечается не везде. Например, в Safari все с этим хорошо, но вот листать ленту в Twitter или Instagram напоминает езду по “стиральной доске”.

AirDrop, “Непрерывность” и Wi-Fi

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

Проблемы с Wi-Fi вернулись с новой силой, функция AirDrop как не работала, так и не работает, а технология “Непрерывность” только усложняет жизнь.

Особое внимание купертиновцы уделяют такому нововведению, как “Непрерывность”. У них на сайте красиво расписано, что вы можете переключаться между устройствами благодаря функции Handoff, пользоваться универсальным буфером обмена, принимать/отклонять звонки и отвечать на сообщения с компьютера и так далее. На практике ничего из этого не работает должным образом, поэтому со временем мне надоело и я отключил “Непрерывность”, чтобы не портить себе настроение.

Меня ждало несколько сюрпризов, когда я обновил Мак и Айфон до последних версий ОС. Сразу же я заметил одну неприятную вещь — мой компьютер спонтанно перезагружался почти каждый раз, когда мне кто-то звонил телефон. Как так, спросите вы? Ведь функция Handoff отключена, но компьютер все равно реагирует на звонки на телефон. У меня нет ни единого предположения, почему так происходит.

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

История продолжается. Неприятности с Wi-Fi тоже не дают комфортно работать за компьютером, и происходит это довольно часто. Все началось с крупного обновления OS X Yosemite, релиз которой состоялся несколько лет назад. Операционная система оказался очень сырой, и тогда компанию можно было понять, ведь довести до ума программное обеспечение с совершенно новым дизайном не так и просто.

Прежде чем компания Apple решила эту проблему, я больше месяца страдал от неправильной работы Wi-Fi. Как выяснилось, тысячи пользователей Mac по всему миру жаловались на некорректную работу беспроводного соединения. Нельзя было подключиться к роутеру каким-либо другим способом, поэтому я, по сути, сидел без Интернета.

Потом, когда обновился до High Sierra, я столкнулся с другими проблемами, связанными с Wi-Fi. Своим Mac я пользовался ежедневно, не выключал его, а переводил в режим сна (но перезагружал регулярно). И почти что каждое утро, после открытия крышки на протяжении приблизительно одной минуты он отказывался выходить в Сеть. Браузер “говорил”, чтобы я проверил подключение к Интернету, хотя компьютер в то время компьютера был подключен к роутеру. При этом, на iPhone и других устройствах Интернет работал без нареканий.

Порты и интерфейсы

Суть моей жалобы не в том, что Apple полностью отказалась от обычных портов USB Type-A, а в том, что новые iPhone нельзя подключить к новым MacBook без переходника. Вы покупаете новый смартфон, будь то даже iPhone 8, 8 Plus или iPhone X, и не можете синхронизировать его с MacBook, MacBook Pro итераций 2020 и 2020 годов прямо из коробки.

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

Что не так с сервисами Apple?

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

За последние несколько лет Apple представила множество различных сервисов, но корректно работают только единицы. Например, с удовольствием я могу пользоваться только “Заметками” и “Напоминаниями”.

Как по мне, купертиновцы так быстро развивают свои сервисы и продукты, что не успевают доводить их до совершенства. В результате, они выпускают их сырыми, из-за чего пользоваться ими невозможно. Например, нужно иметь много мужества и терпения, чтобы решить кликнуть по значку приложения “Сообщения” и дозвониться к кому-нибудь из друзей по Face Time. В мессенджере от Apple нередко наблюдаются проблемы с получением/отправкой обычных текстовых сообщений. В итоге я начал использовать Telegram.

Со временем я не выдержал плохой совместимости сайтов с браузером Safari и отказался от его использования в пользу Chrome. Кроме того, работал он исправно и никогда не подводил, хотя на High Sierra он подтормаживал и перегревал мой ноутбук.

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

Что в итоге?

Несколько дней назад я принял решение продать свои MacBook и iPhone, так как они перестали меня удовлетворять. Мало того, эти устройства начали усложнять мне жизнь, поскольку я не мог комфортно работать. Пока я ищу замену своему компьютеру, пользуюсь Windows-машиной своего знакомого. Я еще не успел к нему привыкнуть, поэтому не знаю, насколько удобно им пользоваться по сравнению с Mac.

В качестве замены использую Android-смартфон от Xiaomi — пока он меня радует. К сожалению, в Microsoft нет собственной полноценной экосистемы, так как эта компания больше не выпускает никаких мобильных гаджетов. Недавно она даже объявила о смерти платформы Windows Phone. Аппараты на Android подключаются к Windows без каких-либо проблем, что, естественно, радует.

Единственно, за чем я буду скучать, это приложения “Заметки” и “Напоминания”, которые идеально синхронизировались в iCloud и были доступны с любого устройства купертиновского бренда. Опыт подсказывает, что найти им хорошую и бесплатную альтернативу будет очень нелегко.

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

Функционал операционной системы стал побогаче, однако единственное, чего я ждал от новой версии, это возможности закреплять заметки в приложении “Заметки”. Как бонус я также получил функцию, которая позволяет переключаться между двумя основными раскладками по нажатию на Caps Lock.

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

На каком языке пишут приложения для iOS

Хотите создавать революционные приложения, но не знаете, на каком языке? Мы подготовили статью, чтобы вы могли определиться (спойлер: Swift).

Разработка приложений под iOS может быть кросс-платформенной или нативной. Первый способ позволяет использовать код на Java, C++, Python и других языках — просто компилируете приложение под iOS, и оно будет работать.

Второй — писать на Objective-C или Swift — языках, которые лучше всего подходят для создания приложения под операционные системы Apple.

Разработка кросс-платформенных приложений

Как уже говорилось выше, создать приложение для iOS можно с помощью:

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

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

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

Примеры кросс-платформенных приложений:

Нативная разработка для iOS

Нативные приложения отлично работают без всяких костылей, потому что используются языки, которые подходят для конкретной платформы. В случае с iOS — Objective-C и Swift.

Objective-C

В 1980 году Брэд Кокс в своей компании Stepstone создал Objective-C — позже он стал основным языком разработки для устройств Apple. Objective-C — это компилируемый объектно-ориентированный язык программирования (ООП), основанный на C.

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

Основное отличие Objective-C от C++ (тоже поддерживает ООП и тоже был разработан в восьмидесятых годах) в том, что вызов метода в нем интерпретируется не как функция, а как сообщение — как в языке Smalltalk. Такие сообщения могут содержать что угодно, а отправить их можно куда потребуется.

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

Objective-C — компилируемый язык. Однако сообщения привязываются к функциям исключительно во время выполнения программы, что позволяет создавать динамичные приложения. Еще в языке поддерживаются протоколы и метаинформация.

Синтаксис здесь значительно отличается от синтаксиса C-подобных языков. Для сравнения:

вызов метода объекта в C#:

а это — отправка сообщения объекту на Objective-C:

Исповедь iOS-разработчика, или «за что я ненавижу iOS»

Для пользователя iOS — прекрасная платформа. Иногда она бывает немного скучной и недостаточно гибкой, а иногда — красивой и удобной (второе — большую часть времени).

А вот у разработчиков не все так гладко. Для них иметь дело с iOS (и Apple вообще) — это как пытаться найти общий язык с роботом-параноиком, работающим советским пограничником в произведении Кафки.

Safari под iOS — это боль

Это один их самых кошмарных браузеров, с которыми я имел удовольствие работать с тех пор, как в далекие 90-е стал веб-разработчиком. Я потерял счет хакам и костылям, которые наворотил в своем коде, чтобы он нормально себя вел в Safari под iOS. Для мира, живущего по стандартам 2020 года, это дико.

Чтобы вы понимали, о чем я. Как вам то, что вы не можете указать высоту элемента iframe? Он появился в 1999 году, и поэтому это можно сделать в любом браузере — даже на IE6, самом ненавистном браузере планеты. Но не в Safari. С 2011 года эта проблема так и висит неразрешенной.

14 ноября в 18:30, Витебск, беcплатно

Естественно, вас это поразит. Почему Apple не может использовать под iOS другие браузерные движки? Или почему Apple больше не инвестирует в проект Webkit, как делает это Google с Chromium?

Вы не можете (без проблем) потестировать старые версии iOS

Как-то раз я хотел потестировать симулятор под iOS 7, и знаете, что мне помешало? Так сделать нельзя. Нет, ну вообще кое-как можно, но для этого надо скачать старую и уже давно не поддерживаемую версию Xcode, которая работает только под Mavericks.

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

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

Сертификаты и профили

Работа с сертификатами iOS — работа утомительная, полная бюрократии и покрытая завесой загадок. Иногда что-то идет не так — и ни документация Apple, ни Xcode, ни ужасный Member Center не прольет свет на истинные причины происходящего.

Цукерберг рекомендует:  Создание ZIP архива средствами PHP

Недавно я потерял 2 дня, пытаясь понять, почему у меня не создается сертификат. Наконец, я нашел ответ в непонятной документации от Mozilla. Xcode просто продемонстрировал мне неактивную кнопку, на форуме разработчиков Apple ответа никто не дал.

Как разработчику вам не требуется спрашивать у Apple разрешения на запуск своего кода на ваших устройствах. Знаете, как и на любой другой платформе мира. Даже macOS.

AppStore

AppStore — еще один уголок разочарования. Например, всего несколько часов мое приложение отклонили, потому что кому-то в компании не понравились его скриншоты.

Мы заметили, что ваши скриншоты не демонстрируют должным образом работу приложения.

Я просто загрузил те же скриншоты, ничего не меняя.

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

Кстати, на то, чтобы решить, нравятся ли компании ваши скриншоты, Apple тратит примерно неделю. Удачи вам с планированием даты релиза.

Помните робота из фильма Элизиум?

«Вы хотите поговорить с живым человеком?»

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

Впрочем, моя ситуация не так страшна, как та, что недавно случилась с приложением Dash под iOS. Apple решила, что разработчик такого успешного приложения — определенно мошенник, и заблокировала его приложение.

Решение Apple окончательное и обжалованию не подлежит.

Естественно, все мы знаем — Apple идеальна и ошибок никогда не совершает. Почему это вы хотите подавать апелляцию?

Самое страшное

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

Быть может, однажды Apple делает среду разработки под iOS бесплатной для всех. Весь мир будет дружно аплодировать, а фанбои — утирать слезы счастья. Ах, какой щедрый жест!


Кстати, почти под любую другую платформу можно разрабатывать бесплатно и даже компилировать под какие-нибудь другие платформы. Ну то есть скомпилировать приложение для Windows под macOS, Android-приложение под Linux.

Как я покинул экосистему Apple
Бегство из яблочного сада

Три года назад я разочаровался в Windows Phone и перешел на продукты Apple. Время шло, iPhone 6 «подустал» и скорость его работы перестала меня удовлетворять, но до презентации iPhone X я не видел причин менять смартфон — уж очень незначительными казались все изменения. Новые же безрамочные модели выглядят действительно иначе и способны подарить желанный эффект новизны. Только цены кусаются.

Примерно тогда же я наблюдал за линейкой Xiaomi Mi MIX. Дизайн этих смартфонов приглянулся еще с первого устройства; потом вышла вторая версия, а затем и улучшенная модель Xiaomi Mi MIX 2S, в которой компания исправила главную проблему предшественника — камеру. И я понял: время пришло. После непродолжительных метаний моя «симка» поселилась в белоснежном керамическом флагмане из Китая.

Однако от Apple просто так не уходят. Скорее всего, вы не раз слышали о некой «экосистеме», которой возносят молитвы адепты надкушенного яблока. Только попытавшись уйти, начинаешь по-настоящему понимать, как крепко компания привязала тебя к своим устройствам.

Что такое экосистема

И почему у Apple она особенная

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

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

Такой должна была стать экосистема Microsoft

Компании по-разному пытаются привязать клиента. Системы Google и Microsoft достаточно открытые. Обе компании получают прибыль не от устройств, а от программного обеспечения — покупай что хочешь, но твои деньги и личные данные все равно у них. Samsung, хоть и торгует «железом», тоже не спешит сковывать клиента. Ей достаточно, чтобы вы приобрели хоть что-то. Не так уж и важно, какой смартфон лежит в кармане.

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

«Ой, мы хотели сказать, если вы приобретете больше разных устройств», — поспешно поправляются монахи. А в это время с экрана новенького iPhone на тебя смотрят иконки приложений Watch и HomeKit.

И монахи не врут! Действительно, пользоваться Mac и iPhone в паре удобно. Данные приложений и фотки летают туда-сюда благодаря iCloud, а если нет, то есть AirDrop — с ним можно передавать файлы и без подключения к интернету.

С iPhone не придется включать режим модема вручную, если нужно раздать интернет на MacBook. Нажатие одной кнопки на компьютере включит все самостоятельно. Если же пришло SMS-сообщение или поступил звонок, тоже нет нужды отвлекаться — отвечай и разговаривай прямо с компьютера. А если добавить в эту систему часы… Все станет еще лучше. Экран смартфона перестанет загораться от входящих уведомлений, а компьютер и ноутбук будут автоматически разблокироваться, когда почувствуют часы поблизости.

Еще можно купить Apple TV. С этой приставкой и вовсе прекрасно! Теперь у вас есть AirPlay. А значит, почти любой видеоролик или фильм со смартфона, планшета или компьютера можно воспроизвести на телевизоре. Онлайн-видео и сторонние приложения тоже поддерживаются.

Погодите-ка… Вы хотите полностью дублировать изображение с экрана других устройств Apple на экране ТВ? Без проблем! Все это работает без проводов. Главное, чтобы Apple TV была подключена к той же сети.

Оу. У вас есть колонка HomePod. Даже две? Поздравляю! Это не просто шикарные компактные колонки — вы наверняка расставили их по всей квартире и звук теперь следует за вами, куда бы вы не пошли. Можете слушать подкасты и транслировать на них звук откуда угодно через все тот же AirPlay. А если слушаете музыку, то лучше, конечно, пользоваться Apple Music — этот сервис живет прямо в колонке. Скомандовали ей «Эй ты, играй давай» и получили музыку. Но нужна платная подписка.

Как глубоко я был в экосистеме Apple

Дни, месяцы и годы пролетают в прекрасном саду незаметно. Злопыхатели пишут что-то там невнятное в социальных сетях о «фанатиках» — но разве стоит обращать внимание на подобные глупости? Тут ведь так хорошо и уютно!

Однако может так случиться, что вы узнаете о классном смартфоне другого производителя, а старые устройства перестанут радовать глаз. За обновки, монахи попросят какие-то непомерные суммы. Возможно, вы решитесь выйти во «внешний мир», прихватив с собой весь набор гаджетов — и только тогда вы заметите высоченный бетонный забор вокруг сада, колючую проволоку и автоматчиков на вышках. Вас никто, конечно, не держит. Уйти можно когда угодно. Однако большая часть устройств за стеной обратится в камень.

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

Большинство так и не делает последний шаг.

У меня был почти полный набор устройств, за исключением колонки HomePod и наушников AirPods: iPhone, Apple Watch, iMac и Apple TV. Так что я был надежно привязан к экосистеме, и переход не был мгновенным.

Началось все с ноутбука Alienware — «Мак» я отправил маме. У нее как раз возникли проблемы с компьютером. Спустя несколько месяцев сменил смартфон. Тут уже вся экосистема мгновенно развалилась. Пришлось срочно менять остальные устройства, чтобы сохранить прежний уровень комфорта.

Гаджеты

Что общего между Apple Watch и Samsung Gear S3 Frontier? В первый же день я захотел отнести обратно в магазин и те, и другие часы. Однако причины были очень разными.

Apple Watch — мои первые умные часы. До них я представлял носимую электронику в радужных тонах; например, думал, что карты будут работать на часах в реальном времени. После знакомства иллюзия распалась. Возникли сомнения: а стоит ли эта безделушка своих денег?

К счастью, назад часы у меня не приняли. Жаль, что узнал я об этом только после того, как пересек половину Москвы и вернулся в магазин. Благодаря этой маленькой «неудаче», я плотно подсел на умные часы с уведомлениями, погодой, таймером, голосовым управлением и бесконтактными платежами.

Apple Watch Series 4

С часами Samsung ситуация иная. Я уже был знаком с подобными устройствами и знал, чего от них ждать. По сути, я хотел те же Apple Watch, но с поддержкой Android-смартфонов и со свободным выбором циферблатов. Ведь мы все любим Android за кастомизацию, верно?

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

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

  1. Проверке времени;
  2. Чтению уведомлений;
  3. Оплате покупок через Apple Pay;
  4. Просмотру погоды;
  5. Запуску таймера.

Причем последняя для меня крайне важна. Я пользуюсь таймером по сто раз в день, когда готовлю и паркую машину (привет, 15 минут бесплатной парковки в центре). Мне нужна функция быстрого запуска таймера и отслеживания оставшегося времени, поэтому на каждом циферблате Apple Watch таймер занимал свое почетное место. Даже если это место было единственным.

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

Фирменный магазин приложений Galaxy Apps это вообще отдельная тема. На медленную работу и установку приложений я закрою глаза (у Apple с этим дела не лучше, если у вас не Series 4), но вместо тысячи слов приведу один пример: большинству приложений в официальных подборках лучшего ПО пользователи поставили оценку в 1-2 «звезды».

Соединение с телефоном тоже работает не гладко. Несколько раз связь прерывалась — надо было лучше настраивать на часах работу ПО в фоновом режиме. Порой не получалось даже вручную восстановить соединение из приложения на смартфоне: на второй день использования часы и телефон категорически отказались взаимодействовать друг с другом. Я поочередно выключил-включил Bluetooth, перезагрузил оба устройства… А после нескольких попыток часы вдруг самовольно произвели общий сброс. Все заработало, но пришлось заново все настраивать, обновлять встроенные приложения и скачивать таймер.

С тех пор все работает нормально — связь не рвется, а уведомления и повторно установленная платежная система Samsung Pay работают. Но у меня нет уверенности, что подобное не повторится в самый неожиданный момент.

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

Попробовал создать собственный циферблат. В качестве образца выбрал любимую марку часов «Ракета». Есть над чем работать (я же не художник), но уже неплохо. pic.twitter.com/qREWqReoui

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

Пока я копался в меню, вспомнил про голосовое управление. В свое время Apple Watch поразили меня качеством распознавания голоса. Неважно, говорил я быстро или медленно, громко или тихо, разборчиво или не очень — всегда получал нужный результат. Могу лишь недоумевать, почему на смартфоне Siri гораздо менее «понятливая».

В Gear S3 Frontier живёт S Voice, фирменная система голосового управления. Как и в Apple Watch, ассистента можно активировать голосом после поворота запястья. Более того, в отличие от Siri, ему можно задать любое имя и команду активации. 1

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

Не все гладко и с Samsung Pay. Платежная система работает просто медленно. С Apple Watch как: нажал кнопку два раза, поднес к терминалу. Все, оплачено. В Gear S3 Frontier же надо сперва подержать кнопку; возможно, ввести ПИН; подождать, пока появится кнопка «Оплатить», нажать ее — и только затем поднести часы к терминалу.

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

Впрочем, положительные стороны тоже есть. Если Apple Watch после долгого бездействия просят просто «подвигаться», то Gear S3 предлагают конкретные варианты упражнений (потягивания, движения руками влево-вправо, приседания) и ведут отсчет

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

А в 2020 году уже не хочется подстраиваться под технику. Должно быть наоборот.

Вывод на ТВ

Потерю AirPlay я ощутил на третий день после перехода. Собрались с женой что-нибудь посмотреть, выбрали «Одержимость». Но фильма нет в iTunes — зато есть на YouTube. Я арендовал фильм, но как вывести его на экран? В приложении YouTube для Apple TV нет раздела с покупками! А привычная кнопка трансляции на смартфоне увидела из всех устройств в сети только приставку Xbox One.

Закончилось все входом в мой аккаунт на iPhone жены. Чтобы впредь не столкнуться с подобными проблемами, пришлось купить два Chromecast второго поколения.

Мне не особо нужны какие-то функции, кроме просмотра фильмов со смартфона или компьютера, так что возможностей Chromecast хватает. Впрочем, вывод видео с сайтов работает иначе — Apple TV может вписать видеопоток в собственный интерфейс и транслировать его, попутно позволяя управлять процессом с пульта. На Chromecast же приходится транслировать и экран, и звук смартфона; пульта нет, ориентация изображения зависит от положения телефона, а вокруг видео возникают рамки.

Смарт-колонка

У меня нет HomePod, но я давно грезил мыслями об умной колонке. Главными кандидатами с самого начала были устройства от Google и «Яндекса». Цены примерно одинаковые — «Яндекс.Станция» стоит как Google Home. Оба варианта не особо привязаны к своим экосистемам (у «Станции» ее вовсе нет), имеют свои достоинства и недостатки:

  • «Алиса» говорит по-русски уже сейчас. У нее приятный голос и естественная речь. Google Assistant же более умный;
  • «Яндекс.Станция» работает по Bluetooth и совместима с чем угодно, но до сих не поддерживает объединение даже двух колонок в стереопару, не говоря уже о работе в режиме мультирума;
  • Колонка Google работает самостоятельно по протоколу Google Cast и умеет играть музыку из Google Play Music или Spotify без участия смартфона. Вот только вся моя медиатека находится в Apple Music.

В итоге я остановился на Google Home Mini. К Новому году жду Home Hub — поставлю его на кухне — и строю планы на «стандартную» Google Home. Хотя вместо нее, возможно, выберу что-то стороннее, ведь Google позволяет другим компаниям использовать своего ассистента. Можно купить колонку с поддержкой как Chromecast, так и Bluetooth — например, Insignia Voice Smart.

Пока мой дом выглядит так. Но скоро вырастет

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

Возможно, оно и к лучшему, что у меня не было HomePod. Звук у нее классный, но и умеет она гораздо меньше колонки Google. Да и подружить с чужеродной системой ее нельзя. Скорее всего, она бы превратилась в дорогой (пусть и качественный) плеер для Apple Music.

Приложения и сервисы

Музыка

Если пользоваться Apple Music только на компьютере и смартфоне, то никакие изменения не потребуются. Компания продолжит списывать деньги с вашей карточки, а слушать музыку в iTunes на Windows можно точно так же, как на macOS. Для Android есть официальное приложение.

Проблемы начнутся, если вы захотите большего. Например, чтобы «умные» колонки Google или Chromecast воспроизводили музыку без участия смартфона. В таком случае придется мигрировать в Google Play Music, YouTube Music или Spotify. Я сразу отбросил сервисы Google — мне не нравится неразбериха в сервисах и привычка компании поспешно закрывать новые продукты. Было бы обидно узнать через год после миграции, что пора переезжать заново. В Spotify же приходится регистрироваться через VPN и попотеть, чтобы оплатить его, но зато этот сервис дает уверенность в завтрашнем дне.

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

Я слушаю много саундтреков к играм и аниме, поэтому ситуация усложняется. Больше половины плейлистов я создавал вручную из треков с компьютера (iTunes позволяет закачивать их в облако). Часть этих треков можно найти в официальном iTunes в США или Канаде, но в России с авторскими правами все сложно. Поэтому закономерна ситуация, когда у нас нет саундтрека из Persona 5 или какой-нибудь Final Fantasy. Сервисы Google и Spotify в этом плане не лучше, даже если у вас американский аккаунт.

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

“I listen to video game and anime osts on YouTube” starter pack pic.twitter.com/tFLyU3NVQw

Окей, можно снова добавить треки вручную. Но клиент iTunes уже бережно разложил их по отдельным папочкам, так что делать это придется вручную, поштучно. А чтобы отделить треки, которые вы выгружали вручную, от треков с DRM-защитой из Apple Music, лучше просто временно выйти из аккаунта — так плеер автоматически пропустит «лишние» треки. Выбираете «Показать в Проводнике» и вытаскиваете песни в специальную папку.

Цукерберг рекомендует:  Конкурс - Работа в команде,свой проект.

Но неужели вы думаете, что достаточно собрать нужные треки в одном месте и «скормить» их Spotify? Он не поддерживает формат m4a, в который iTunes кодирует музыку при импорте. Так что теперь надо перегонять все обратно в mp3. Для этого я использовал LameXP.

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

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

Для этого надо выдать разрешения на подключение всем процессам spotify.exe в брандмауэре Windows. Затем включите на смартфоне переключатель Download.

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

Важно: смартфон и компьютер обязательно должны находиться в пределах одной WiFi-сети.

Контакты

Тут все довольно просто — iOS поддерживает подключение различных аккаунтов (Microsoft, Google), выбор аккаунта для сохранения новых записей и автоматическую синхронизацию. У меня главным был аккаунт Outlook (следствие долгого использования Windows Phone). Но все перенеслось в аккаунт Google почти без проблем, только заметки к записям пропали; в итоге, мне пришлось снова спрашивать у друга код от его домофона.

В остальном все в порядке. В крайнем случае, если какая-то информация потерялась при переносе, можно воспользоваться сайтом iCloud.com и добавить ее вручную.

Облако и фотографии

Достать файлы и фотографии из облака Apple просто — клиент iCloud для Windows или сайт в помощь. Но что, если ты несколько лет пользовался другим облачным сервисом до перехода на iOS и macOS (в моем случае, OneDrive), потом скопировал все фотографии в iCloud, а теперь хочешь снова все хранить в стороннем облаке и избежать возникновения дубликатов?

Если у вас беспорядок в облаках, избавиться от дубликатов проще всего утилитой Gemini 2. Она доступна на macOS — аналоги для Windows существуют, но они не так хороши.

Благодаря тому, что при предыдущей миграции я скопировал все фотографии в iCloud, просто очистил папку «Пленка» в OneDrive и перенёс туда содержимое облака Apple. Это заняло время (как 3 года назад, так и сейчас), зато не пришлось выискивать дубликаты вручную.

На прощание я хотел удалить все фото и видео из медиатеки iCloud, чтобы перейти на бесплатный тариф, но не лишиться альбома для скринсейвера на Apple TV.

Пока удаляешь вручную фотографии, кажется, будто стираешь собственное прошлое…

Запомните: обязательно, обязательно делайте очистку, пока у вас есть на руках хоть какое-то устройство Apple! Иначе придется иметь дело с веб-версией iCloud, где вы будете удалять фотографии, выделяя их мышкой по одной. Можно воспользоваться парой сторонних приложений, но они платные, и я не могу гарантировать безопасность вашей учетной записи.

На том же iPhone вы можете отключиться от iCloud и удалить все снимки. Для этого надо зайти в настройки iCloud, ткнуть в пункт «Хранилище и резервные копии» → «Управлять хранилищем», выбрать свое устройство и медиатеку.

Браузер

На macOS и iOS вы привязаны к браузеру Safari: во-первых, на iOS нельзя выбрать другой браузер в качестве основного; во-вторых, мобильная и десктопная версия Safari синхронизируются друг с другом, и переключаться между устройствами очень удобно. В-третьих, помогает и системное хранилище ключей iCloud Keychain — пароли тоже всегда под рукой.

Но стоит убрать macOS из обихода, как синхронизировать пароли и вкладки становится не с чем! Можно воспользоваться Opera, Firefox, Chrome, «Яндекс.Браузером» и даже Microsoft Edge — у всех есть клиент для iOS, но опыт, подобный Safari, вы не получите. Если же сменить и смартфон, все снова встанет на свои места: те же Chrome и «Яндекс.Браузер» без проблем синхронизируют вкладки и пароли.

1Password

В 183 выпуске BeardyCast Андрей и Сергей резонно заметили, что у Apple и Google есть свои инструменты для синхронизации паролей — и они бесплатны. Но именно 1Password делает меня независимым от платформ, так что годик-другой я точно продолжу его использовать. Вдруг захочу обратно к Apple?

Когда я сидел на macOS и iOS, то пользовался лицензионными ключами для этого приложения. Купил ключ и для Windows, но, предвидя миграцию на Android, вернул его и оформил подписку.

Прочие приложения

В целом, миграция прошла почти незаметно. Большинство приложений, которыми я пользуюсь, мультиплатформенные: «Яндекс.Карты», «Парковки Москвы», Outlook, OneNote и YouTube доступны везде. С iA Writer я ушел на Word еще до смены смартфона — спасибо убогой версии программы для Windows за сэкономленные деньги. Даже VSCO, который я почти не использую, загрузил купленные фильтры из моего аккаунта.

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

  • Xiaomi Mi MIX 2S — 35 тысяч рублей;
  • Samsung Gear S3 Frontier — 20 тысяч рублей;
  • Беспроводные наушники Samsung Level U Pro — бесплатно (подарок к часам);
  • Два Chromecast 2 поколения — 6 тысяч рублей (с учетом доставки);
  • Google Home mini — 4 тысячи рублей (с учетом доставки).


Итого: 65 тысяч рублей.

А теперь немного математики. Представим, что я не покидал экосистему Apple и просто обновил основное устройство — новый iPhone XR на 128 ГБ в официальном магазине стоит 69 тысяч рублей, а iPhone XS на 256 ГБ — 101 тысячу рублей; если бы я еще обновлял часы на Series 4 с алюминиевым корпусом, то доплатил бы еще 32 тысячи рублей. Итого 101 тысяча или 133 тысячи рублей, в зависимости от смартфона.

Я полностью сменил экосистему — и даже расширил ее. Если заменить в моем примере iPhone XR на iPhone XS, то такой же переход можно осуществить на Pixel 3. Даже с учетом наценки серых продавцов. А если остановиться на Xiaomi, то разница покроет покупку Google Home Hub, хаба Fibaro для «умного» дома (совместим с Google Assistant) и набора умных выключателей на всю квартиру. При этом, общий жизненный опыт проапгрейдится гораздо сильнее.

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

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

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

Хвалёной экосистемы Apple больше нет?

Telegram-канал Content Review отметил примечательную особенность новых продуктов Apple — они аппаратно несовместимы друг с другом. Apple предусмотрела тесное взаимодействие своих устройств на уровне операционных систем и софта, однако на этом их совместимость заканчивается.

В Apple Watch используется беспроводная зарядка, не совместимая с другими устройствами.

Зарядить iPhone от MacBook нельзя, поскольку в последнем нет разъёма USB Type-A.

Из комплектации iPhone пропал переходник для наушников с 3,5-мм разъёмом. Проблему можно решить покупкой кабеля Lightning — Type-C, но появляется новая беда: в комплектной зарядке используется разъём Type-A, потому придётся либо носить с собой лишний кабель, либо купить новую зарядку.

Модели iPad Pro 2020-года комплектуются зарядным адаптером с портом USB Type-C и кабелем, у которого с двух сторон разъёмы USB Type-C. Зарядить Apple Watch от нового iPad Pro не получится, поскольку зарядная база часов оснащена портом USB Type-A. Нужно носить с собой кабель от iPhone.

Наушники из комплекта новых моделей iPhone совместимы только со смартфонами Apple, их не получится подключить к компьютеру, ноутбуку (даже Mac) или к iPad Pro 2020-го года. В этих наушниках используется разъём Lightning, доступный только на iPhone и планшетах iPad, выпущенных до 2020 года.

Новые модели iPad Pro несовместимы с большинством старых аксессуаров вроде переходников для подключения камеры, флешек и USB-устройств из-за отказа от Lightning в пользу USB Type-C. Придётся покупать их ещё раз, уже с новым разъёмом.

Кабель от iPad Pro не поддерживает передачу данных, через него можно только заряжать планшет. Для синхронизации информации с компьютером нужно купить ещё один кабель.

Стилус Apple Pencil совместим только с iPad, но не с iPhone, хотя и в планшетах, и в смартфонах используются сенсорные экраны. Второе поколение Apple Pencil работает только с iPad Pro 2020-года.

Скорее всего, в 2020 году Apple выпустит новые модели iPhone, в которых вместо Lightning будет использоваться USB Type-C. Это означает, что купленные в этом году переходники станут не нужны и придётся покупать новые.

Дело даже не в том, что Apple пытается заработать деньги на продаже дополнительных аксессуаров, просто всё это выглядит крайне непродуманно. Некоторые пользователи смирятся с тем, что их гаджеты живут сами по себе независимо от всех остальных, а другие купят кучу кабелей, адаптеров и переходников, но моментально столкнутся с новой трудностью — нужно запомнить, что к чему подходит. Возможно, сейчас мы наблюдаем переходный период, и спустя какое-то время Apple определится и выберет единые стандарты для всех своих устройств.

Взаимодействие между iPhone iPad Mac или экосистема Apple

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

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

1) iCloud – центр экосистемы и определяющий компонент. Доступ к данным, которые вы вносите в «облако» с любого устройства, мгновенно получают и другие девайсы, подключенные к iCloud, разумеется, с наличием интернета;

2) Фотопоток. Это функционал позволяет не заботиться о переносе фотографий с устройства на устройство. Просто включите интернет и эту функцию на девайсах iOS, и все фотографии будут в едином доступе, даже только что сохраненные или загруженные;

3) Документы в iPages. В случае с документами, которые вы начинаете писать на любом устройстве Apple с включенным доступом к iCloud, также работает принцип фотопотока. Нет необходимости сохранять документ, переносить его в Dropbox на флешку или куда-то еще. Открывая другой девайс iOS и заходя в приложение, вы найдете тот же самый документ. Тот же самый эффект будет с контактами, напоминаниями и т.д.;

4) Синхронизация закладок и списка чтения в Safari. Браузер девайса также участвует в экосистеме Apple: все статьи, и вкладки открытые вами на одном девайсе или на Mac, будут сразу доступны на всех других, подключенных к функции;

5) iBooks тоже является компонентом экосистемы. Базовая программа для чтения в iPhone\iPad, будет переносить произведение, которые вы читаете, на устройства, которыми пользуетесь в данные момент. Открыв книгу на MacBook Pro, вы найдете ее на iPad в том же состоянии.

6) iTunes Match, в экосистеме Apple, занимает особое место. Несмотря на то, что программа платная, она способна легализовать и переносить на любое ваше устройство медиаконтент. Доступ на компьютере предполагает наличие iTunes, а в других устройствах всю музыку откроет базовое приложение;

7) «Найти iPhone» — часть экосистемы Apple, гарантирующая, что вашим устройство не воспользуется никто другой. Стоит ее активировать, при наличии экосистемы и другого устройства Apple, как вы сразу узнаете, где находиться ваш потерянный девайс, сможете заблокировать его удаленно и стереть важные данные.

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

Исповедь iOS-разработчика, или «за что я ненавижу iOS»

Для пользователя iOS — прекрасная платформа. Иногда она бывает немного скучной и недостаточно гибкой, а иногда — красивой и удобной (второе — большую часть времени).

А вот у разработчиков не все так гладко. Для них иметь дело с iOS (и Apple вообще) — это как пытаться найти общий язык с роботом-параноиком, работающим советским пограничником в произведении Кафки.

Safari под iOS — это боль

Это один их самых кошмарных браузеров, с которыми я имел удовольствие работать с тех пор, как в далекие 90-е стал веб-разработчиком. Я потерял счет хакам и костылям, которые наворотил в своем коде, чтобы он нормально себя вел в Safari под iOS. Для мира, живущего по стандартам 2020 года, это дико.

Чтобы вы понимали, о чем я. Как вам то, что вы не можете указать высоту элемента iframe? Он появился в 1999 году, и поэтому это можно сделать в любом браузере — даже на IE6, самом ненавистном браузере планеты. Но не в Safari. С 2011 года эта проблема так и висит неразрешенной.

14 ноября в 18:30, Витебск, беcплатно

Естественно, вас это поразит. Почему Apple не может использовать под iOS другие браузерные движки? Или почему Apple больше не инвестирует в проект Webkit, как делает это Google с Chromium?

Вы не можете (без проблем) потестировать старые версии iOS

Как-то раз я хотел потестировать симулятор под iOS 7, и знаете, что мне помешало? Так сделать нельзя. Нет, ну вообще кое-как можно, но для этого надо скачать старую и уже давно не поддерживаемую версию Xcode, которая работает только под Mavericks.

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

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

Сертификаты и профили

Работа с сертификатами iOS — работа утомительная, полная бюрократии и покрытая завесой загадок. Иногда что-то идет не так — и ни документация Apple, ни Xcode, ни ужасный Member Center не прольет свет на истинные причины происходящего.

Недавно я потерял 2 дня, пытаясь понять, почему у меня не создается сертификат. Наконец, я нашел ответ в непонятной документации от Mozilla. Xcode просто продемонстрировал мне неактивную кнопку, на форуме разработчиков Apple ответа никто не дал.

Как разработчику вам не требуется спрашивать у Apple разрешения на запуск своего кода на ваших устройствах. Знаете, как и на любой другой платформе мира. Даже macOS.

AppStore

AppStore — еще один уголок разочарования. Например, всего несколько часов мое приложение отклонили, потому что кому-то в компании не понравились его скриншоты.

Мы заметили, что ваши скриншоты не демонстрируют должным образом работу приложения.

Я просто загрузил те же скриншоты, ничего не меняя.

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

Кстати, на то, чтобы решить, нравятся ли компании ваши скриншоты, Apple тратит примерно неделю. Удачи вам с планированием даты релиза.

Помните робота из фильма Элизиум?

«Вы хотите поговорить с живым человеком?»

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

Впрочем, моя ситуация не так страшна, как та, что недавно случилась с приложением Dash под iOS. Apple решила, что разработчик такого успешного приложения — определенно мошенник, и заблокировала его приложение.

Решение Apple окончательное и обжалованию не подлежит.

Естественно, все мы знаем — Apple идеальна и ошибок никогда не совершает. Почему это вы хотите подавать апелляцию?

Самое страшное

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

Быть может, однажды Apple делает среду разработки под iOS бесплатной для всех. Весь мир будет дружно аплодировать, а фанбои — утирать слезы счастья. Ах, какой щедрый жест!

Кстати, почти под любую другую платформу можно разрабатывать бесплатно и даже компилировать под какие-нибудь другие платформы. Ну то есть скомпилировать приложение для Windows под macOS, Android-приложение под Linux.

Языки программирования для iOS: на чём писать приложения для айфона

Ты уже пишешь приложения под iOS? Тогда тебе должны быть известны различные варианты разработки. А если в твоей голове только появилась мысль о разработке под iOS, то за ней должны последовать следующие вопросы:

  • какой язык нужно изучать?
  • где брать материалы для изучения?
  • нужен ли Mac?
  • нужно ли ?
  • какой редактор подойдет для написания кода?

Статья даст ответы на эти вопросы и поможет достичь поставленной цели.

Операционная система iOS была выпущена компанией Apple в 2007 году. Она не ограничивается iPhone и iPad, но я расскажу о разработке приложений только для этих устройств. Статья разделена на несколько частей:

  1. Разработка нативных приложений.
  2. Языки программирования для создания .
  3. Среда разработки.
  4. Разработка приложений и игр с дополненной реальностью при помощи фреймворка ARKit.
  5. Разработка игр при помощи фреймворка SpriteKit.

Кроме нативной разработки существует ещё и кроссплатформенная, когда приложение пишется сразу для iOS и Android на языке, отличном от нативного. Об этом мы поговорим в другой раз, но можете утолить любопытство уже сейчас и прочитать статью главного редактора Apptractor Леонида Боголюбова, написанной для Лайв Тайпинг.

Разработка нативных приложений

Процесс разработки нативного приложения — это написание программы на одном из основных языков для платформы iOS: или Swift. Этот путь создан корпорацией Apple и предполагает следование всем её идеям. Apple обеспечивает разработчиков последними версиями SDK (software development kit — набор средств разработки), документацией, а также средой разработки Xcode.

Преимущества нативной разработки:

  • приложение оптимизировано под платфому iOS, а значит, будет работать быстро и корректно;
  • приложение реагирует на нажатия мгновенно, отсутствуют задержки в анимации и при скроллинге контента;
  • понятный и простой доступ к аппаратной части устройств — камере, микрофону, акселерометру, геолокации, адресной книге, плееру На этих и других возможностях устройства можно базировать функциональность приложения;
  • родной для платформы интерфейс. Нативные приложения обычно оперируют «платформенными» элементами интерфейса: меню, навигация, формы и все остальные элементы дизайна берутся от операционной системы и потому привычны и понятны пользователю;
  • с каждым обновлением iOS синтаксис языка практически не меняется, поэтому поддержка приложения происходит практически безболезненно — изменить или переписать придётся лишь незначительное количество кода.
Цукерберг рекомендует:  Php - Python or PHP

Недостатки:

  • поддержка приложения на языке Swift. Регулярные обновления версий платформы iOS вынуждают обновлять код, но с приходом пятой версии Swift компания Apple обещает облегчить этот процесс;
  • большинство текущих проектов написаны на языке . С каждым годом всё труднее найти программиста, желающего писать на нём, а переписывать проекты на Swift многие компании отказываются, так как это огромный и невероятно трудоёмкий процесс.

Для клиентов студий разработки вопрос о том, за какую разработку платить — нативную или кроссплатформенную — тоже актуален. Кроссплатформенную разработку можно посоветовать тогда, когда бюджет ограничен, нужно узнать спрос на мобильное приложение или если на стороне клиента есть свой . В остальных случаях выбор лучше делать в пользу нативной разработки. В Лайв Тайпинг могут помочь и с тем, и с другим. Оставьте нам заявку, если намерены начать работать над своим мобильным приложением для iOS — мы готовы всё обсудить.

На каком языке пишут приложения для iOS

Разработчики из компании Apple предоставили два варианта:

  • . Ветеран с большой историей, постепенно отходящий на второй план;
  • Swift. Очень молодой и быстро набирающий популярность среди разработчиков.

Оба языка относятся к программированию (ООП) и успешно выполняют его основные парадигмы: наследование, полиморфизм, инкапсуляцию и абстракцию. Простыми словами, ООП — это стиль написания кода, который позволяет разработчику группировать схожие задачи в классы. Код соответствует принципу DRY (don’t repeat yourself — не повторяй самого себя) и становится лёгким для сопровождения.

Язык программирования, созданный в начале годов прошлого века путём скрещивания С (Си) с популярным в то время Smalltalk (связь с объектами через сообщения). изначально воспринимался, как простая надстройка над языком C, модифицирующая его некоторые синтаксические конструкции, но после того, как за лицензирование взялась сначала компания Next Step, а потом на правах преемника и Apple, стал одним из наиболее популярных языков для разработки приложений. Поэтому многие типы данных в унаследовали префикс NS (Next Step). Это основной язык, используемый компанией Apple, знание которого позволяет писать под любые платформы Apple, в том числе macOS.

Плюсы:

  • высокая степень поддерживаемости кода: с каждым обновлением изменения в минимальны;
  • большое количество документации, технической литературы и огромное сообщество. Apple предоставляет и регулярно обновляет официальные книги и ресурсы. Какие именно знания нужны iOS разработчику, ты можешь узнать из нашей статьи;
  • быстрый переход с одного из языков семейства C. — это расширение языка С. Это означает, что любой код на С является также корректным кодом и для , нужно только привыкнуть к синтаксису;
  • совместимость внутри проектов, написанных на Swift, позволит тебе применять два языка одновременно.

Минусы:

  • если ты никогда не сталкивался с программированием и решил сразу начать с , то могут возникнуть сложности понимания принципов ООП и нагромождённого синтаксиса. Трудности исчезнут по ходу обучения;
  • низкая читаемость кода: в начале изучения синтаксис покажется сложным;
  • динамическая система типов данных, которая также является плюсом, предполагает возможность появления или пропуска ошибок даже во время компиляции. В частности, затянуть процесс могут опечатки;
  • низкая по сравнению с языком Swift производительность;
  • взаимодействие с файлами Swift происходит при помощи «моста» (условный адаптер, который переводит код на Swift в формат ), что сильно тормозит процесс сборки.

Примеры приложений, разработанных нашей командой на языке :

  • БОТЭ — парфюмерии и косметики;
  • Мой доктор — приложение для молодых родителей и беременных женщин, которым нужна консультация врача в любое время суток;
  • Vogue Collections — одежды.

Swift

Молодой, мощный и открытый язык программирования общего назначения. Официально представлен компанией Apple 2 июня 2014 года. Сочетает в себе все лучшее от C и , но лишен ограничений последнего, накладываемых в угоду совместимости с C. В Swift используются строгая типизация объектов, уменьшающая количество ошибок ещё на этапе написания кода. Также в Swift добавлены современные функции, такие как дженерики, замыкания, множественные возвращаемые значения и многое другое, превращающие создание приложения в более гибкий и увлекательный процесс. Основой нового языка программирования послужили существующие компилятор, отладчик и фреймворки.

Swift покажется знакомым . Он сочетает в себе читабельность именованных параметров и мощь динамической объектной модели .

Плюсы:

  • скорость. Сейчас язык почти на одном уровне с , и в Купертино обещают, что это не предел;
  • упрощённая навигация по файлам проекта. В отличие от , который создаёт два файла для объявления и реализации, Swift обходится всего одним. Кроме того, имена методов и комментарии между файлами синхронизируются автоматически;
  • лёгкая читаемость, поскольку данный язык не построен на C. Например, не нужно ставить точку с запятой в конце строки и писать скобки для окружения выражения внутри if/else. Никаких квадратных скобок, Swift напоминает обычный английский язык, является гораздо более чистым и имеет упрощённый синтаксис;
  • лаконичность. Количество кода со Swift становится гораздо меньше. К примеру, для добавления двух строк можно воспользоваться оператором «+«;
  • большие возможности по сравнению с . Например, дженерики (универсальные шаблоны). Универсальный код позволит тебе писать гибкие, общего назначения, функции и типы, которые могут работать с любыми другими типами. Ты можешь написать код, который не повторяется и выражает свой контент в абстрактной форме;
  • полное взаимодействие с кодом, написанным на , позволит тебе применять два языка одновременно;
  • повышенная безопасность. Swift, в отличие от , строго типизирован, то есть при объявлении именованных параметров нужно явно указывать тип данных, иначе при исполнении кода компилятор вызывает ошибку. Это облегчит процесс устранения багов, поскольку ты можешь решить проблему сразу;
  • поддержка динамических библиотек. Одно из значимых изменений в Swift — переход от статических библиотек к динамическим, которые по сути являются исполняемыми кусками кода. Они присоединяются к приложению и «связываются» с новыми версиями языка, что позволяет программе работать стабильно.


Минусы:

  • Swift постоянно развивается и меняется. Например, вызов метода может измениться после обновления. Благо Apple выстроили этот процесс таким образом, что код написанный на более ранних версиях не будет сломан. Ты только увидишь предупреждение о том, что твой код написан на старой версии, и редактор предложит переход на более новую и поможет выполнить этот процесс построчно;
  • взаимодействие с файлами происходит при помощи «моста», который сильно тормозит процесс сборки.

Большая часть проектов нашей компании написана на языке Swift. Вот некоторые примеры:

  • Sephora — приложение магазина парфюмерии и косметики;
  • Киноголик — сервис для покупки абонементов в кино;
  • LIME — приложение магазина одежды;
  • Kaspersky Security Pulse — приложение со статьями об информационной безопасности.

(Си плюс)

Компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования, как процедурное программирование, программирование, обобщённое программирование.

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

Один из вариантов такого взаимодействия — это использование диалекта ++, некое объединение и . Зачем их смешивать? Например, самая хорошая библиотека для текущей задачи была написана на , иногда решение проблемы можно было более лаконично сделать на или необходимо вызывать функции из проекта . Распространённый пример — портирование игры или движка под платформы Apple.

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

Какой язык выбрать?

постепенно уступает дорогу молодому Swift, который Apple всячески популяризирует. В прошлом 2020 году в рейтинге Tiobe занимал более низкую позицию по отношению к Swift. Исходя из этой статистики и вышеперечисленных плюсов языка Swift, я бы рекомендовал именно его.

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

Что касается языка , то его знание — это полезный навык, но только как опция, поэтому решать тебе.

Где брать материалы для изучения?

Материалы по языку Swift:

Apple Education предоставляет свои учебники на английском языке совершенно бесплатно. Вот список тех, с которых стоит начать:

Если нужны учебники на русском языке, то предлагаю:

Личная рекомендация — бесплатный видеокурс по Swift от Алексея Скутаренко Swift Марафон, а также группа Вконтакте iOS Development Course. В группе ты можешь посмотреть домашние задания по каждому уроку или получить ответ на свой вопрос.

Материалы по языку

Книг от Apple, к сожалению, нет, но есть отличные платные издания:

Личная рекомендация — бесплатный видеокурс по от Алексея Скутаренко iOS Development Course.

Стоит отметить, что помимо рекомендованных мной видеокурсов, большое количество как платных, так и бесплатных обучающих материалов по Swift и есть на Youtube и специальных обучающих порталах, таких как Udemy и SwiftBook.

Материалы по языку

  • Язык программирования . Учебник, который используют в большинстве ВУЗов;
  • Основы . Программирование для начинающих;
  • бесплатный видеокурс по от канала #SimpleCode.

Источники актуальной информации

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

  • raywenderlich.com. Неисчерпаемый источник бесплатных руководств. Подходит и новичкам, и профессионалам, которым нужно быстро понять работу нового фреймворка;
  • NSHipster. Блог дизайнера и разработчика облачного сервиса Heroku, который он ведёт уже не в одиночку. Фреймворки, объекты фреймворков, , Swift, Xcode, важны open — здесь есть полезные статьи про всё;
  • Natasha The Robot. Отличный блог Наташи Мурашев. Обязателен всем, кто разбирается со Swift и не только;
  • Блог студии Plausible Labs Майка Эша. То, о чём здесь говорится, требуются знания чуть глубже базовых;
  • Little Bites of Cocoa. Блог со всякими полезными руководствами. Новички и опытные разработчики полюбят его за лаконичность постов и широту освещаемых вопросов;
  • iOS Dev Weekly. Cрез новостей из мира . Приходит в виде почтовой рассылки по пятницам. Куратор — Дэйв Вервер;
  • Github известной компании Rambler&Co. Содержит множество интересного из Open source. Также их внутренний спейс и блог;
  • Блог про разработку под iOS на «Хабрахабре»;
  • Cайт iosgoodreads.ru и канал в Telegram от Rambler. Самые интересные статьи, видео и новости, связанные с .

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

Самыми популярные среды разработки, или IDE (Integrated Development Environmetn) — это Xcode от Apple и AppCode от JetBrains.

Xcode

Быстрый редактор, укомплектованный полным набором инструментов для разработки под iOS, macOS и др. Скачивается из App Store бесплатно.

Плюсы:

  • IB (Interface Builder). IB — это приложение с набором инструментов для разработки графических интерфейсов, интегрированное в Xcode. Процесс работы напоминает создание дизайна «на холсте». Всю вёрстку можно сделать в IB, а затем связать визуальные элементы с файлом реализации, в котором описана вся логика взаимодействия с ними.

Плюсом Interface Builder является наглядная вёрстка, настраивание стилей, бэкграунда, шрифтов , а минусом будет, например, работа с анимацией, её можно выполнить только кодом.

  • симулятор. Предоставляет полный набор , на которых можно запустить и протестировать своё приложение;
  • отладчик. Умеет разбирать визуальную часть поэлементно для поиска ошибок в вёрстке, также поможет отловить баг и разобраться с проблемой утечки памяти. В добавок ко всему отладчик может производить все эти операции и в «беспроводном» режиме;
  • встроенная система контроля версий в GitHub. Помимо стандартных функций ветвления, в режиме разделённого экрана позволяет просматривать изменения в различных «ветках»;
  • функция имитации геолокации. Незаменима при работе с картой. Имеет «зашитый» набор городов, список которых можно дополнить;
  • содержит Swift Playground, так называемую «песочницу», которая позволяет быстро проверить новый алгоритм или графическую рутину (например, несколько строчек кода), не создавая целое приложение;
  • может собирать приложение сразу на ;
  • поддержка «тёмной темы» macOS.

Минусы:

  • нестабилен. В процессе работы может самопроизвольно закрываться с ошибкой. Проект никак не пострадает, и последние изменения кода не пропадут. Просто перезапусти Xcode и продолжай работать с того момента, на котором остановился;
  • зачастую не работает автодополнение (функция дополнения текста по введённой части).

AppCode

Как и Xcode, содержит полный набор необходимых средств для эффективной и удобной работы с языком , Swift, и на 100% совместима с Xcode.

Плюсы:

  • стабилен. Внезапных закрытий, как в Xcode, нет;
  • автодополнение не отваливается и работает быстрее, чем в Xcode;
  • интеграция с баг/, такими как JIRA, YouTrack, Lighthouse, Pivotal Tracker, GitHub, Redmine ;
  • более подробное описание ошибок и предупреждений;
  • может собирать приложение сразу на , как и Xcode.

Минусы:

  • для сборки приложения всё равно нужен Xcode;
  • нет Intreface Builder. Открытие из AppCode происходит в Xcode;
  • нет визуального отладчика, а также нет беспроводной отладки;
  • нет Swift Playground;
  • запуск приложения происходит на ;
  • AppCode — платный продукт, для бесплатного ознакомления даётся 30 дней. На момент написания статьи расценки такие: за первый год пользования придется заплатить 199 $, второй — 154 $, последующие — 119 $ (данные взяты с официального сайта);
  • обновление языка приходит с некоторой задержкой. В Xcode ты получишь свежую версию ещё на .

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

Нужен ли Maс?

Да. Для разработки нужна Xcode IDE (Integrated Development Environment — интегрированная среда разработки). Установить Xcode ты сможешь только на Mac. Выбирай из этих вариантов: MacBookPro/Air, iMac, MacPro или Mac mini (самый бюджетный вариант). Не обязательно покупать новый, но чтобы твой Mac мог поддерживать последнюю версию macOS хотя бы два года, советую брать тот, что не старше пяти лет.

Вариант для ознакомления — поставить на свой PC виртуальную машину при помощи, например, VirtualBox. Статья Installing MacOS to VirtualBox подробно описывает, как это сделать. Работать будет медленно, но для «быстрого старта» вполне подойдет.

Нужно ли ?

Необязательно. IDE Xcode от Apple содержит в себе симулятор устройств. Например, можно выбрать iPhone XR и вживую проверить результат своей работы. К сожалению, симулятор полностью не заменит реальное устройство (например, камера или акселерометр в нём отсутствуют).

Разработка приложений и игр с дополненной реальностью при помощи ARKit

ARKit — фреймворк, разработанный компанией Apple для работы с AR. Что такое AR и как это работает? AR — это технология, которая способна сканировать окружающее пространство и максимально достоверно интегрировать виртуальные объекты в реальную жизнь. Эти самые виртуальные элементы могут отображать специальные устройства, поддерживающие эту технологию:

  • cмартфоны и планшеты. В нашем случае — это iPhone и iPad;
  • и очки. Одна из последних разработок — очки Magic Leap;
  • компьютеры.

Сканирование пространства происходит при помощи камеры устройства. Что может ? Например, онлайн магазин кроссовок, в котором, помимо покупки, есть возможность отсканировать свою ногу и «примерить» понравившуюся модель, таким образом на экране твоего iPhone или iPad твоя нога будет в выбранном кроссовке. Еще один из примеров применения AR — приложение от IKEA, которое позволяет виртуально обставить квартиру мебелью.

И это далеко не все возможности! При помощи AR разрабатывают обучающие, развлекательные программы и, конечно же, игры:

Классное видео с одной из презентаций Apple, на котором при помощи AR оживает мир, сделанный из конструктора Lego.

Важно! Для разработки требуется iPhone или iPad. Хочу лишь напомнить, что в симуляторе Xcode нет камеры, и без нее не получится отсканировать пространство. В строке arkit из таблицы Device Compatibility ты можешь увидеть полный список устройств Apple c поддержкой ARKit.

Учебные материалы по ARKit:

Разработка игр при помощи SpriteKit

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

Учебные материалы по SpriteKit:

Важно! Разработка игр для iOS не ограничивается фреймворком SpriteKit. Существует огромное количество движков для создания 2D и 3D игр. Самые популярные из них — Unity и Unreal. А создании Trigono разработчики Лайв Тайпинг использовали движок OpenFL с применением кастомных доработок.

Заключение

Самым актуальным языком разработки приложений для платформы iOS в 2020 году является Swift. Причина не только в его скорости и лаконичном синтаксисе, но и в том, что он становится стандартом и получает всё больше поддержки со стороны разработчиков Apple.

Это не отменяет необходимости знакомиться с : на этом языке созданы полезные библиотеки, а поддержка старых, но больших и интересных проектов хорошо оплачивается.

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

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

Экосистема Apple у меня дома

А почему бы и нет? Кто-то ругает Apple за дороговизну, кто-то постоянно сравнивает с устройствами на Android/Windows, а я считаю, что ничего лучше по производительности и качеству пока ещё не разработали. Можно сколько угодно спорить и приводить в пример пресловутые Xiaomi/Meizu и прочие китайфоны и катйбуки со скрипящим корпусом и кучей ядер в процессорах, но Apple всегда остаётся эталоном.

Итак, «чего же я хочууууу» (с) «Самый лучший фильм 2».

2 iPhone для себя и жены: iPhone 6s 32 GB (или 7) для себя, iPhone 6 для жены (можно и послабее, ей не нужна такая производительность). Итого: около 90000 р.

Apple MacBook Air 13″ — 90000 р.

iMac Core i5/21»: 100000 р.

Сумма к сбору: около 300000 р.

Не так и много по современным меркам. 10 месяцев работы/подработки за 30000 р.

Критерий завершения

2 iPhone, Apple MacBook, iMac

Личные ресурсы

Экологичность цели

Один раз купил — на 5 лет можно забыть об обновлении железа :) Что экологично, на самом деле.

Найти доп. работу на 30000 в месяц

Откуда взять денег? Правильно, делать то, что я умею:

— веб-разработка (уровень Junior)

iPhone 6s/7

2 месяца доп. работы.

Стоимость этапа — 60000.00 ₽

iPhone 6 для жены

Полтора месяца доп. работы. Ну хочу я сделать Жене действительно стоящий подарок-сюрприз. Люблю её очень :)

Стоимость этапа — 50000.00 ₽

MacBook Air 13»

Здесь можно попытаться продать мой Acer и уже будет часть суммы на MacBook.

Стоимость этапа — 100000.00 ₽

3 — 4 месяца подработки за 30000 р. Ну нравится мне этот моноблок мать его :) И не будет никакого пыльного корпуса под столом, никакой кучи проводов, всё стильно и красиво. Что я и люблю, как инженер и программист.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих