iOS — TechCave

iOS (до 24 июня 2010 года — iPhone OS) — операционная система для смартфонов, электронных планшетов и носимых проигрывателей, разрабатываемая и выпускаемая американской компанией Apple.

iOS (до 24 июня 2010 года — iPhone OS) — операционная система для смартфонов, электронных планшетов и носимых проигрывателей, разрабатываемая и выпускаемая американской компанией Apple. Была выпущена в 2007 году; первоначально — для iPhone и iPod touch, позже — для таких устройств, как iPad и Apple TV. В отличие от Windows Phone (Microsoft) и Android (Google), выпускается только для устройств, производимых фирмой Apple.

В iOS используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD. Ядро iOS почти идентично ядру настольной операционной системы Apple macOS (ранее называвшейся OS X). Начиная с самой первой версии, iOS работает только на планшетных компьютерах и смартфонах с процессорами архитектуры ARM.

Стена группы

Загрузка...
5 месяцев назад
#

Обобщаем анимацию таблиц в iOS приложениях



image

Пользователи хотят видеть изменения

Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей.

Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое iOS приложение написано с использованием UITableView или UICollectionView и пользователи хотят видеть, что изменяется у них на экранах, по этой причине reloadData не подходит для обновления экрана. Посмотрев несколько уже имеющихся фреймворков для данной задачи, я удивился, как много они в себе обобщают, помимо расчета анимаций. Некоторые же вообще при вставке одного элемента в начало, радостно сообщали о перемещениях всех остальных элементов.

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

Источник
Загрузка...
5 месяцев назад
#

Тренируемся на кошках: модификация коллекций и таблиц в iOS



imageДля визуализации массивов произвольных данных Apple дала нам таблицы
UITableView для одномерных визуализаций и коллекции
UICollectionView для более сложных случаев. Например, в iFunny ежедневно десятки тысяч пользователей публикуют и рассылают «мемасики». Приложение постоянно работает с различными списками: мемы, пользователи, тэги, переписки и т.д.

Задача отображения какого-либо списка весьма распространённая, и это довольно легко программируется. Однако всё существенно усложняется, если этот список динамически меняется. Неожиданно поймать
NSInternalInconsistencyException после очередного обновления содержимого таблицы или коллекции — удовольствие сомнительное. Давайте разберёмся, как этого избежать.

Источник
Загрузка...
5 месяцев назад
#

Параллельное программирование в Swift: Operations



В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании этой статьи я осознал, что их слишком много, чтобы перечислить в одной статье. Поэтому я решил сократить методы более высокого уровня.

image

Я упомянул Operations в одной из моих статей, но давайте рассмотрим их более внимательно.

Источник
Загрузка...
5 месяцев назад
#

Blue Shift или оптимизация времени запуска iOS-приложения. Лекция Яндекса



Казалось бы, при загрузке приложения можно и потерпеть секунду-другую. Но когда ваша программа используется часто, а в конкурентах — аналог от производителя самой ОС, то даже время запуска начинает сказываться. Разработчик Яндекса Виктор Брыксин
bobermaniac выступил на встрече сообщества CocoaHeads в офисе наших коллег в Mail.Ru и рассказал, как заставить iOS-приложение запускаться побыстрее.

— Долгое время я занимался разработкой Яндекс.Браузера. Собственно, из оптимизации времени старта этого приложения и родился мой доклад.

Источник
Загрузка...
5 месяцев назад
#

Дайджест интересных материалов для мобильного разработчика #242 (19 февраля— 25 февраля)



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



Источник
Загрузка...
5 месяцев назад
#

Гибкий сетевой слой в iOS-приложении



Практически любое мобильное приложение взаимодействует с серверами через их API. Перед разработчиком в таком случае стоит задача реализовать сетевой слой своего приложения. Провайдеры того или иного API разрабатывают его интерфейс, зачастую, одинаково, но бывает и так, что API имеет свою специфику. Например, API Вконтакте при какой-либо ошибке в обращении к их методам не отображает это в статус коде ответа, а отображает это в самом теле ответа как JSON по ключу «error»: то есть, во-первых, вы не поймете по статус коду прошел ли запрос удачно, а во-вторых, не узнаете, какая произошла ошибка пока не измените логику обработки ответа. Таким образом, перед разработчиком лежит задача реализации достаточно гибкого слоя, контроль над которым можно осуществлять на разных этапах работы с сервером.

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

Вот как это будет выглядеть в итоге:

import UIKit

class ViewController: UIViewController {

    let service: WallPostable = BasicWallAPI()
    
    @IBOutlet weak var textField: UITextField!

    @IBAction func postAction() {
        service.postWall(with: textField.text!)
    }
}


Источник
Загрузка...
5 месяцев назад
#

Пять причин проникнуться симпатией к Flutter



На конференции
Google I/O ’17 Google представила Flutter — новую опенсорсную библиотеку, предназначенную для создания мобильных приложений.

image

Как вы, возможно, знаете, Flutter — это решение для разработки кросс-платформенных мобильных приложений с симпатичным пользовательским интерфейсом. Подход, используемый Flutter для проектирования интерфейсов, похож на тот, который применяется в веб-приложениях, поэтому, знакомясь с этой библиотекой, вы найдёте множество аналогий с технологиями HTML/CSS.

Если прислушаться к тому, что создатели библиотеки говорят о Flutter, то окажется, что эта библиотека упрощает и ускоряет разработку веб-приложений, которые радуют глаз. Звучит это хорошо, но, когда я впервые взглянула на Flutter, я не вполне поняла причину возникновения очередного кросс-платформенного решения. Существует много подобных технологий, среди них — Xamarin, PhoneGap, Ionic, React Native. Все мы знаем, что в области разработки кросс-платформенных мобильных приложений имеется достаточное богатство выбора, и то, что у разных технологий есть свои плюсы и минусы. Я не была уверена в том, что Flutter сможет предложить что-то по-настоящему новое и интересное, отличающее его от толпы конкурентов. Однако когда я познакомилась с Flutter поближе, меня ждал сюрприз.

Библиотека Flutter имеет
множество возможностей, которые могут быть очень интересными с точки зрения Android-разработчиков. В этой статье я хочу рассказать вам о том, что мне в этой библиотеке особенно понравилось.

Источник
Загрузка...
Den
5 месяцев назад
#

Использование ReSwift: написание приложения Memory Game



ReSwift

Примечание.
В этой статье используются Xcode 8 и Swift 3.

По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн
MVC постепенно теряет свою роль как «подходящего» архитектурного решения.

Для iOS разработчиков доступны более эффективные архитектурные паттерны, такие как MVVM, VIPER и
Riblets. Они сильно отличаются, но у них есть общая цель: разбить код на блоки по принципу единой ответственности с многонаправленным потоком данных. В многонаправленном потоке, данные перемещаются в разных направлениях между различными модулями.

Иногда вы не хотите (или вам не нужно) использовать многонаправленный поток данных — вместо этого вы хотите, чтобы данные передавались в одном направлении: это однонаправленный поток данных. В данной статье про ReSwift вы свернёте с проторенного пути и узнаете, как использовать фреймворк
ReSwift для реализации однонаправленного потока данных при создании
Memory Game приложения, под названием
MemoryTunes.

Источник
Загрузка...
Den
5 месяцев назад
#

Дайджест интересных материалов для мобильного разработчика #241 (12 февраля—18 февраля)



В новом дайджесте безопасность, патентование приложений, UI-киты, облачное зрение, инди игры и даже игровой движок на Excel. Всех с прошедшим праздником!



Источник
Загрузка...
5 месяцев назад
#

Способ управления цветовыми схемами приложения под iOS



Даже для самого что ни на есть начинающего разработчика (скорее, на которого и рассчитан данный очерк), надеюсь, не секрет, что в коде не должно присутствовать никаких т.н.
«hardcoded»-значений и прочих всяких там
«magic numbers». Почему – тоже, надеюсь, понятно, а если нет, то в Сети имеются десятки, а то и сотни статей на эту тему, а также написан
классический труд.
Android Studio (наверное, не во всех случаях, но все же) даже любит генерировать «warnings» на эту тему и предлагать выносить строки и т.д. в
ресурсные файлы.
Xcode (пока?) такими подсказками нас не балует, и разработчику приходится самостоятельно держать себя в узде или, скажем, получать по рукам от коллег после
«code review».

Все это касается и используемых в приложении цветов.

Источник
Загрузка...
5 месяцев назад
#

Основные практики обеспечения безопасности iOS-приложений





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

Источник
Загрузка...
5 месяцев назад
#

Gesturizer: 3D-touch и жесты в iOS приложения



Жесты на мобильных устройствах, выполняемые стилусом или пальцем, могут быть эффективнее и удобнее стандартных взаимодействий с кнопками и меню в зависимости от контекста и задачи. Однако, необходимость запоминания жестов и связанных с ними команд вызывают некоторые трудности. Кроме того, ограниченность пространства на мобильных устройствах и наличие кликабельных и подвижных элементов в UI усложняют распознавание жестов. Для решения данных проблем, предоставляю вашему вниманию библиотеку iOSGesturizer.

В кратце, данная библиотека позволяет обучаться и использовать разные виды жестов, выполненные одним пальцем, по всей площади дисплея и в любых iOS приложениях на девайсах с поддержкой 3D-touch. Теперь подробнее разберем на примере.

Источник
Загрузка...
6 месяцев назад
#

Выиграй 100к на хакатоне Партии еды и Touch Instinct в Петербурге





3-4 марта в Санкт-Петербурге
Партия еды делает свой
первый большой хакатон. И, кажется, первый в России на тему Фудтеха.
Touch Instinct помогает.

Лендинг про хакатон
получился знатным, но вопросов от участников все равно много. Мы ответили на все, даже про цыган с первого канала.

Источник
Загрузка...
6 месяцев назад
#

«CI плохо справляются с требованиями мобильной разработки»: интервью с создателем fastlane Феликсом Краузе





Многие мобильные разработчики любят инструмент
fastlane, автоматизирующий задачи при выпуске приложения (генерацию скриншотов, code signing в случае с iOS, деплой в магазин или в систему бета-тестирования). Долгое время fastlane можно было использовать только на macOS, но сейчас этот проект делают частично кроссплатформенным. А его создатель
Феликс Краузе на днях громко анонсировал новый проект: CI-систему
fastlane.ci.

И мы взяли у Феликса интервью, расспросив про обе темы: начали с вопросов о CI-новинке, а затем перешли к «обычному» fastlane.

Источник
Загрузка...
6 месяцев назад
#

Дайджест интересных материалов для мобильного разработчика #240 (5 февраля— 11 февраля)



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



Источник
Загрузка...
4 5 7 8

Авторизация

Пользователи

lunchcalllina1978
Sever
stopresniebots1983
tekino
templide
Seangle
Галя Рубцова
Ольга Телюкова
Zhenya