Перевод отсюда.
Идея создавать мобильные приложения на JS не нова. Мы видели, что фреймворки, такие как Ionic или PhoneGap, справляются с этой задачей и привлекли изрядное количество разработчиков.
Тем не менее ни эти фреймворки, ни идея создавать мобильные приложения на JavaScript никогда не привлекали меня. Я всегда думал, почему бы не изучить Swift/Objective-C или Java и просто делать настоящие приложения? Конечно, это потребует затраты значительных усилий на обучение, но разве непрерывное обучение — это не то, что мы, разработчики, делаем и должны делать хорошо? Быстро изучать новые языки и фреймворки? Тогда в чём смысл? Что касается меня, очевидные преимущества такого подхода никогда не перевешивали сомнения. Читать полностью »
Рубрика «iOS разработка» - 11
Руководство React Native — создаем приложение под iOS. Часть 1.1
2017-05-15 в 21:45, admin, рубрики: iOS разработка, javascript, react native, ReactJS, разработка под iOSИзбавление от Auto Layout
2017-05-09 в 17:22, admin, рубрики: Auto Layout, iOS разработка, layout, LayoutKit, performance, swift, разработка под iOSВведение
Привет, меня зовут Ник Снайдер и я инженер-программист в компании LinkedIn. Сегодня я хочу рассказать вам историю об Auto Layout:
- Как мы в LinkedIn используем его.
- Проблемы, с которыми мы встретились.
- Почему в некоторых ситуациях мы прекратили использовать Auto Layout.
- И что мы используем вместо него.
Хорошие новости
Я бы хотел начать с хороших новостей:
- Мы в LinkedIn широко используем Auto Layout. Это наш основной метод построения интерфейсов во всех наших приложениях.
- Auto Layout мощный инструмент, который облегчает поддержку:
- Различных размеров экрана;
- Языков с написанием справа налево.
Плохие новости
Плохие новости заключаются в том, что производительность Auto Layout недостаточно хороша:
- Не масштабируется для сложных иерархий view (из последующего изложения будет ясно, что речь идет о нелинейном увеличении времени расчета при линейном росте количества view — прим. перев.).
- Мы наблюдали регресс производительности, на некоторых релизах iOS.
- Производительность может оказаться непредсказуемо плохой для некоторых разметок интерфейса (здесь и далее layout переведено как «разметка» — прим. перев.).
Использование NSProxy класса на простом примере
2017-05-08 в 13:37, admin, рубрики: iOS разработка, objective-c, вредные советы, разработка под iOSИспользовании NSProxy класса на простом примере.
Всем привет. Сегодня поговорим о практическом использовании NSProxy класса, пост будет небольшим, думаю многим новичкам будет интересно почитать.
Немного оффтопа.
В общем, по распределению в компании я попал на легаси проект на Objc, где massive view controller считался эталом архитектуры. Конечно же без нормальной спеки и тестов. За недолгую карьеру разработчика у меня выработалось пару правил для таких вот проектов, первое — никакого рефакторинга с моей стороны без указания сверху, второе — трогать существующий код только в крайней необходимости. Всё это на почве того, что в таких проектах очень сложно отловить регрессию (а может я просто ленивый?).
Читать полностью »
Дайджест интересных материалов для мобильного разработчика #202 (2-8 мая)
2017-05-08 в 11:47, admin, рубрики: Android разработка, iOS разработка, UX, Блог компании Everyday Tools, разработка мобильных приложений, Разработка под android, разработка под iOS, разработчикам, тинькоффПоздравляем всех с наступающим Праздником! В новой подборке рассказ о разработке в «Тинькофф», компьютерном зрении, о ключевых ошибках в UX и опыте тестировании иконки в Star Walk 2, о лучших библиотеках мая и росте спроса на взрослые раскраски.
Дайджест интересных материалов для мобильного разработчика #201 (24 — 30 апреля)
2017-04-30 в 13:26, admin, рубрики: Android разработка, aso, iOS разработка, Блог компании Everyday Tools, маркетинг приложений, разработка мобильных приложений, Разработка под android, разработка под iOS, разработчикамУ экономики приложений все хорошо – 56.4 миллиарда в этом году и до 85 миллиардов в 2020. С помощью Everyday Tools мы снова вспоминаем статьи и новости недели – демонические голоса, ASO, локализацию, тестирование, интерфейсы и многие другие материалы.
Упрощение локализации в iOS
2017-04-25 в 14:54, admin, рубрики: iOS, ios development, iOS разработка, swift, Блог компании Touch Instinct, разработка под iOS
Всем доброго времени суток! Меня зовут Николай, я iOS-Lead в компании Touch Instinct. В процессе разработки часто приходится иметь дело с проектами, которые должны работать на нескольких языках. Расскажу, к какому подходу мы пришли при работе с локализацией.
Минусы базовых подходов
Есть несколько основных подходов для локализации iOS-приложения. Сперва стоит определиться, разрабатывается приложение с использованием storyboards или нет.
С использованием storyboards
Можно локализовывать строки напрямую в storyboard. Однако, при таком подходе есть ряд минусов:
- в случае наличия большого количества storyboards, локализованные строки разбросаны по проекту;
- невозможность использования атрибутных строк, а также строк, которые состоят из нескольких составных частей;
- вам всё равно придется часть строк локализовывать в коде. Это ведет к еще большему разбросу в приложении;
- фактически отсутствует возможность что-то проверить другому разработчику при проведении code review.
Без storyboards
В этом случае локализуем всё в коде. Однако и тут есть ряд минусов. Дело в том, что файлы со строками локализации localizable.strings — магические. При изменении таких файлов очень велика вероятность возникновения ошибки из-за человеческого фактора. Изменения нельзя отследить, пока ошибка не будет найдена в процессе тестирования.
Таким образом, хотя для локализации уже есть готовые механизмы в iOS SDK, они имеют существенные минусы. Более подробно смотрите здесь.
Реализация кастомного UI-элемента для выбора времени. Часть 2
2017-04-13 в 13:46, admin, рубрики: ios development, iOS разработка, UIControl Animation, Блог компании e-Legion Ltd., разработка мобильных приложений, разработка под iOSВ первой части статьи я подробно воссоздал процесс реализации циферблата. Теперь мы подошли к самому интересному и сложному этапу создания собственного кастомного контрола.
Читать полностью »
Реализация кастомного UI-элемента для выбора времени. Часть 1
2017-04-13 в 13:46, admin, рубрики: ios development, iOS разработка, UIControl Animation, Блог компании e-Legion Ltd., разработка мобильных приложений, разработка под iOS17 ноября в Москве в рамках Международной конференции мобильных разработчиков MBLTdev Александр Зимин выступил с докладом на тему «Визуализируем за рамками стандартных компонентов UIKit». В первую очередь, этот доклад заинтересует iOS-разработчиков, которые хотят узнать больше о разработке кастомных UI-элементов. Меня он заинтересовал примером кастомного контрола, который я решил реализовать и доработать с учетом тезисов, озвученных в докладе. Пример был реализован на Swift
, я реализую его на Objective-C
.
Читать полностью »
WebRTC, Safari
2017-04-08 в 15:49, admin, рубрики: apple, flash, HLS, ios safari, iOS разработка, ipad, iphone, javascript, rtsp, safari, webcam, WebGL, WebRTC, WebSocket, Блог компании Flashphoner, Программирование, Разработка веб-сайтов, разработка под iOSВ апреле прошлого года по сети прокатился пресс-релиз о том, что Apple выкатывает поддержку WebRTC в браузерах Safari для Mac OS и iOS. С момента выхода пресс-релиза скоро пройдет ровно год, как Apple продолжает выкатывать WebRTC для Safari. Ждем.
Однако ждут не все. Кому-то требуется реал-тайм видео в Safari прямо сейчас и в этой статье мы расскажем как обходиться без WebRTC в браузере iOS Safari и Mac OS Safari и чем можно его заменить.Читать полностью »
Как устроено автоматическое тестирование в Почте Mail.Ru под iOS
2017-04-04 в 9:03, admin, рубрики: automation, continuous integration, iOS разработка, ruby, Блог компании Mail.Ru Group, разработка под iOS, Совершенный код, Тестирование мобильных приложений
Некоторое время назад мы рассказали вам об автоматическом тестировании нашей Почты на Android и получили огромное количество вопросов от читателей. Сегодня приоткроем вам часть нашей «внутренней кухни», которая касается автотестирования на iOS. Для тестирования каждой сборки мы проводим более 500 автотестов, которые выполняются менее чем за один час. Как мы их реализовывали и зачем? С какими проблемами сталкивались и как смогли их решить? Обо всём этом читайте под катом.