В этом дайджесте магазины приложений, борющиеся с коронавирусом, Dynamic Delivery и Create ML, мобильные интерфейсы и онбординг, мультиплатформенный Kotlin и дизайнерский Flutter.
Рубрика «swift» - 8
Дайджест интересных материалов для мобильного разработчика #336 (2 — 9 марта)
2020-03-09 в 7:58, admin, рубрики: android studio, apple, flutter, Google Play, kotlin, swift, unity3d, xcode, Блог компании Цифровые Экосистемы, искусственный интеллект, маркетинг мобильных приложений, разработка мобильных приложений, Разработка под android, разработка под iOSCreate ML в iOS
2020-03-03 в 19:57, admin, рубрики: apple, CreateML, iOS, ios development, iOS разработка, machine learning, swift, машинное обучение, разработка под iOSИскусственный интеллект становится ближе с каждым годом, ещё вчера он был доступен только для ограниченного числа людей. Сегодня же мы можем сами создавать модели машинного обучения и использовать их в своих проектах. В этой статье мы познакомимся с инструментами Create ML и попробуем обучить модель для классификации изображений.
Но прежде чем начать, немного истории и пояснений. На ежегодной конференции для разработчиков WWDC2018 компания Apple представила инструменты для работы с машинным обучением Create ML. Обученная в Create ML модель является результатом применения алгоритма машинного обучения для набора обучающих данных. Модели не занимают много места (около 3Мб), поэтому их можно хранить в проекте. Изначально модели предлагалось обучать с помощью Playgrounds в XCode 10 и поддерживалась работа с изображениями, текстом и таблицами. При запуске playgrounds проекта необходимо было импортировать библиотеку CreateML и запустить MLImageClassifierBuilder (в случае если бы мы обучали модель для классификации изображений).
import CreateMLUI
let builder = MLImageClassifierBuilder()
builder.showInLineView()
В 2019 году Apple представила совершенно новый инструмент для работы с моделями машинного обучения, отделив его от Playgrounds. Стало возможным обучать модели без единой строчки кода. Список типов данных пополнился звуками и активностью. Всего представлено 5 типов данных и 9 шаблонов моделей. Давайте рассмотрим каждый тип данных и какие модели мы можем получить в результате.
Читать полностью »
И мышонок, и лягушка. Универсальный Компилятор
2020-02-25 в 1:36, admin, рубрики: Delphi, Go, java, RemObjects, swift, ненормальное программирование, тесты производительностиВ серии про надежное программирование [1], [2] остался незаслуженно забытым Swift.
Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS.
Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как RemObjects Elements.
Оказалось, у неё Универсальный Компилятор. Умеет компилировать программы на C#, Go, Java, Oxygene Object Pascal, Swift для: Android, Cocoa (MacOS, iOS, tvOS), JVM, Linux (x64, armv6, aarch64), .NET/.NET Core/Mono, Native Windows(x86/x64), WebAssembly.
Причем делает это практически в любых комбинациях язык -> целевая система! Например, можно написать программу на Java, которая будет использовать WPF для целевой платформы .NET, и это все есть в примерах, идущих в поставке.
Итак, представляю мини-заметку про RemObjects Elements, а заодно про надежность двух поддерживаемых в ней языков — Swift и Oxygene.
Рисунок с сайта radionetplus
Вариант работы с вебсокетами в iOS на языке Swift – Написал менеджер для работы с websocket
2020-01-25 в 14:20, admin, рубрики: iOS, swift, WebSocket, websockets, xcode, вебсокет, вебсокеты, контроллер, менеджер, мобильная разработка, разработка мобильных приложений, разработка под iOS, сетьВсем привет.
4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods.
Я написал свой менеджер для работы с вебсокетами (Менеджер в данном случае синглтон класс который может быть вызван в любом месте приложения, так как это синглтон его экземпляр будет создан только один раз для всего приложения).
Воспользуюсь я для своих целей системным фреймворком CFNetwork.
Читать полностью »
20 библиотек для эффектного iOS-приложения
2020-01-25 в 13:13, admin, рубрики: edisonsoftware, iOS, swift, Блог компании Edison, дизайн мобильных приложений, мобильная разработка, разработка мобильных приложений, разработка под iOS
Из огромного количества iOS-библиотек нет особого смысла составлять какие-то рейтинги. Поэтому просто представляем двадцатку эффектных/полезных инструментов для тех, кто пишет приложения под гаджеты Apple.
Все анимации являются ссылками на свои полноразмерные версии.Читать полностью »
Swift Property Wrappers
2020-01-24 в 12:13, admin, рубрики: funcorp, iOS разработка, swift, wrapper, Блог компании FunCorp, разработка мобильных приложений, разработка под iOSЕсли вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же взялись все конструкции с @, как использовать их в SwiftUI и в своих проектах.
Автор перевода: Евгений Заволжанский, разработчик FunCorp.
Прим.пер.: К моменту подготовки перевода часть исходного кода оригинальной статьи потеряла свою актуальность из-за изменений в языке, поэтому некоторые примеры кода намеренно заменены.Читать полностью »
Доставку заказывали? Как «Перекрёсток» доставляет 6000 заказов в день
2020-01-16 в 13:19, admin, рубрики: kotlin, postgres, rabbit mq, swift, wms, Блог компании X5 Retail Group, витрина, доставка, мобильная разработка, разработка, разработка мобильных приложенийЛюди любят доставку. За небольшую плату ты покупаешь возможность получить нужные товары, не выходя из дома: еду из любимого ресторана, крупногабаритную мебель, книгу, которую хотел давно прочитать, да и вообще — что угодно. И рост числа сервисов по быстрой доставке всего на свете только подтверждает этот тезис. Да и для магазинов это плюс — запартнёрился с любой доставкой товаров до двери и увеличил свой чек.
У нас в «Перекрёстке» есть собственная доставка. Для человека со стороны процесс доставки из магазина до дома выглядит примерно так:
- Выбрал что-то на сайте и положил в корзину.
- Ввёл адрес и оплатил заказ.
- Магазин быстро отдал заказ курьеру.
- Курьер доставил заказ.
На самом деле, всё немного сложнее. Меня зовут Виталий, я руководитель отдела разработки, и сегодня я расскажу, как у нас всё работает. И на чём.
Роутинг для iOS: универсальная навигация без переписывания приложения
2020-01-14 в 12:14, admin, рубрики: iOS, swift, архитектура приложений, Блог компании Badoo, разработка мобильных приложений, разработка под iOS, разработка приложений для iosВ любом приложении, состоящем более чем из одного экрана, существует необходимость реализовать навигацию между его компонентами. Казалось бы, это не должно быть проблемой, ведь в UIKit есть достаточно удобные компоненты-контейнеры вроде UINavigationController и UITabBarController, а также гибкие методы модального показа экранов: достаточно использовать нужную навигацию в нужное время.
Однако, как только в приложении появляется переход на какой-то экран по push-уведомлению или ссылке, всё становится несколько сложнее. Сразу появляется масса вопросов:
- что делать с view-контроллером, который сейчас находится на экране?
- как переключить контекст (например, активную вкладку в UITabBarController)?
- есть ли в текущем стеке навигации нужный экран?
- когда следует игнорировать навигацию?
Any и AnyObject в Swift. В чем их различие?
2020-01-10 в 15:01, admin, рубрики: iOS, objective-c, swift, разработка под iOSДовольно долгое время в своих проектах при написании когда я использовал тип Any, например при обработке JSON данных. Но также я знал что есть и второй тип — AnyObject. И недавно я задумался о разнице между этими двумя типами.Читать полностью »
Как подключить карты в эллипсоидной проекции, если это не предусмотрено?
2020-01-07 в 17:59, admin, рубрики: Leaflet, OpenStreetMap, osmand, swift, yandex map, Геоинформационные сервисы, картографические сервисыИли как подогнать тайлы Яндекс карт под проекцию OpenStreetMaps?
Вступление
Каждый раз, когда открываете какую-нибудь онлайн-карту, вы не скачиваете ее целиком. Для ускорения загрузки карты разделена на небольшие кусочки (тайлы), чтобы можно было скачать только нужную область. Проблем в том, что разрезать на эти квадратики можно несколькими способами.
Читать полностью »