Заявки на доклады

Поиск по тегам:

Кросс-платформенная разработка

Мобильный AR

Владислав Дугнист

В докладе расскажу про историю AR-VR и текущие технологии (ARKit, ARCore, Vuforia). Посмотрим, как выглядит разработка 3D-приложений со стороны разработчика, и какие технологии используются внутри фреймворков дополненной реальности.

GameDev для мобильных устройств
,
Работа с графикой, 3D Моделирование
Программный комитет ещё не принял решения по этому докладу

Автор, пиши меньше. Котлин для разработки в iOS и Android

Николай Иготти

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

Kotlin/JVM, Kotlin/Native, Gradle, MPP - эта комбинация позволит создавать мобильные приложения, на фреймворках родных для iOS и Android, и при этом не писать весь код дважды.

Доклад акцентирован на разработке под iOS и Kotlin/Native, так как эта сторона мобильной разработки с использованием Kotlin менее известна широкой публике.

Программный комитет ещё не принял решения по этому докладу

Flutter.io

Aleksander Piotrowski

Flutter.io is a tool that makes it easy and fast to build beautiful mobile apps. One may say it's like ReactNative from Google. In my presentation I'll show the difference between Flutter and ReactNative, Cordova and native frameworks. We will have a look at tools and language used to develop in Flutter. Also spend some time on advanced features of the framework such as extending with platform-specific features and creating custom widgets.

Программный комитет ещё не принял решения по этому докладу

Процессы разработки

Насколько технически хорошо наше мобильное приложение?

Ртищев Евгений

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

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

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

Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

Android CI with Kubernetes

Антон Малинский

How to prepare your CI for a team of dozens of Android developers?

The approach described has been tested by running ~6 million UI tests and ~180 million unit tests (so far) while staying sane with managing hardware and 100+ real Android devices.

Непрерывное развертывание и деплой
,
Непрерывная интеграция
Программный комитет ещё не принял решения по этому докладу

Ментальные модели пользователей

Никита Майданов

Как понять, кто есть ваш пользователь, что ему нужно, что у него болит.

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

Программный комитет ещё не принял решения по этому докладу

Как работают большие команды в мобильной разработке

Максим Ефимов

* Сколько нужно инженеров, чтобы сделать Uber.
* Что такое кросс-платформенная архитектура.
* Одно приложение на десятки фич – взгляд со стороны одного разработчика.
* Синхронизация работы десятков команд.
* Скорость, качество, полнота исполнения – на что делается акцент.
* Оценка качества.
* Что делать, если все сломалось.

Доклад принят в программу конференции

Обретение навыков

Никита Прокопов

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

Основные моменты: как правильно обучать программистов, кто с кем эффективно работает в команде, как переходить на следующий уровень, природа споров и советов.

Программный комитет ещё не принял решения по этому докладу

Бесполезные встречи не нужны

Дмитрий Емельянов

Что такое бесполезная встреча?
Почему я должен на ней присутствовать?
А можно ли как-то спасти встречу и сделать ее полезной?
Кто такой фасилитатор и зачем он нужен?
А я могу помочь догвориться?
Почему, если на встрече идет спор, то это нормально

Программный комитет ещё не принял решения по этому докладу

Главное не качество, а количество!

Егор

I truly believe that quality is not what programmers should care about. They must care only about speed—close tasks as soon as possible— which means make money. Won't this attitude ruin the project and turn the code base into a mess? Yes, it will. If the project doesn't care about its quality either. There must be a permanent conflict between a project and its programmers: 1) the project must be configured to reject anything that lowers the quality of its artifacts and 2) programmers must be interested in making changes to those artifacts. The project cares about the quality, the programmers care about fast delivery of modifications. I wrote about this: http://www.yegor256.com/2018/03/06/speed-vs-quality.html

Программный комитет ещё не принял решения по этому докладу

PDD — Product-driven-разработчик

Денис Лебедев

* Культура "mission driven" и ее влияние на разработку продукта.
* Автономные команды, плюсы и минусы.
* Где заканчивается ответственность разработчика, и начинается ответственность лида.
* Эволюционное налаживание технических и организационных процессов.
* Отсутствие тестировщиков в компании - это хорошо (но непросто).

Программный комитет ещё не принял решения по этому докладу

Проект мечты — от идеи до баксов на счёте. Быстро, бодро, офигенно

Вадим Смирнов

* Как быстро, азартно и весело распределённой командой сделали странный сервис, заработали немного баксов, и теперь не прочь провернуть это снова и снова.
* Почему остановились на выбранной идее?
* Может ли архитектура iOS-приложения приводить в восторг?
* Могут ли видеоблогеры быть полезными обществу?
* Можно ли раскидать юристам Apple, что реджектить приложение — некрасиво?
* Почему наш офис ещё не в Дубаи?

Ответы на эти и другие вопросы под катом.

Программный комитет ещё не принял решения по этому докладу

To be manager, or not to be

Илья Царев

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

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

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

Технологии Android

Kotlin Coroutines in action

Marcin Moskala

Kotlin Coroutines fascinate from its early beta. They are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.
In this talk I will show you how to use Kotlin Coroutines and what makes them so special and so efficient. I will also discuss if they are an alternative to RxJava.

Программный комитет ещё не принял решения по этому докладу

Rock the Gradle, Rule the world

Xavier F. Gouchet

More often than none, an Android project's build.gradle file grow larger and more complex with time. Because we need to adapt it to all the specific build constraints and scenarios which are not supported by default. Custom tasks, advanced usages, … the use cases are infinite.

But like the rest of your source code, the build.gradle file(s) should be clean, easy to read and easy to maintain. After looking through various tips and techniques to clean your gradle code, we'll look at the underappreciated 'buildSrc' folder, which allows you to create plugins directly from your project. This talk will walk you step by step through the creation of such a custom plugin, with a couple of concrete ex.

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

Как подружить Transition с Clean Code&Arch

Шевченко Артем

Мы начнем с краткого обзора Transition API на Android - это красивая анимация переходов между экранами, затем попробуем сделать шаг вправо-влево и попробуем что-то нетривиальное. А затем посмотрим на это со стороны чистого кода, чистой архитектуры и популярных MV-P/VM паттернов.

Архитектура мобильного приложения
,
Дизайн мобильный приложений
,
Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

Как устроено создание процесса в Android?

Владимир Теблоев

Вы слышали много раз такие слова, как: IBinder, Zygote, Dex и Dalvik? Хотели узнать подробнее, но не знали у кого спросить? Думаете, Android устроен из одних активити и сервисов? Спешу вас разочаровать, но все как раз наоборот.

Со мной вы узнаете, что происходит с момента нажатия на иконку приложения до запуска первого экрана. Расскажу о таких понятиях, как Zygote и их связи с процессами в Android; а также о IBinder'е, который является своего рода крёстным отцом практически всех взаимодействий в Android.

Архитектура платформы Google Android
Программный комитет ещё не принял решения по этому докладу

Party like it's 1970: Conversational interfaces are back (into your Android app)

Adrian Catalan

Behold the promise land of AI. Machine learning has brought natural language processing right into our backyards and with it, the possibilities of different ways of interaction, such as conversations. But the challenges have evolved, as recognizing the input can be done via an API (like DialogFlow), we also need to consider the interface and how to give an experience so natural that it seem like a human conversation. "Oh hi, how are you holding up? because I'm a potato" it's not longer enough, we need conversationally-enabled Android apps built with a different set of design concepts. In this talk we'll review examples of core principles for the design & benefits of having one on your app.

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

Kotlin magic: make DSL, not fork

Ilya Lim

Kotlin offers us an unprecedented capabilities when it comes to Android development. Thanks to the Java interop we also have a huge amount of libraries to use. But most of them are designed to follow best Java practices, not Kotlin. In this talk, you will learn how can you easily adapt your favorite library to be Kotlin-friendly without forking.

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

Kotlinbots: Building your own personal robot army

Adrian Catalan

Android Things is the new kid on the IoT block, it brings all the power of Android development to hardware platforms & IoT devices. Any Android developer can start using the Android SDK and many of the APIs that we are familiar with, to blink a LED, build a cloud doorbell, the next IoT product or our own (non-evil) robot army. In this talk, we'll review the new set of APIs that Android Things bring to developers, what supports, how to start and how to approach the platform as hobbyist, without necessary having an electronics background and how to build some Android powered robots.

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

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

Евгений Кривобоков

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

Программный комитет ещё не принял решения по этому докладу

Effective Multiplatform Kotlin Development

Marcin Moskala

Kotlin enables you to write Android, iOS and web applications 100% natively. When you add good architecture, you can achieve enormous code reusage. In this lecture, I will show how you can do it yourself. I will present possibilities of this approach, how to apply clean architecture there and how to unit test it all.

Технологии и языки для Android: Java, Kotlin
,
Архитектура мобильного приложения
Программный комитет ещё не принял решения по этому докладу

Mobile VR 2.0: Rise of Standalone

Алексей Рыбаков

Мобильный VR активно развивается и в некоторых вещах начинает обгонять PC VR.
Посмотрим о том что изменилось за последний год в Daydream и GearVR powered by Oculus Rift
Кратко рассмотрим новые Oculus Go и сравним с 6DoF VR решениями от Lenovo и HTC.
И более подробно остановимся на Daydream Standalone:
Какие средства разработки доступны сейчас
Google Seurat - что это и как использовать
Как это все работает на Mirage Solo for Daydream

Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

Background Processing on Android with WorkManager

Rahul Ravikumar

This talk covers a newly announced Android architecture component. I am interested in exploring what I think are some advanced use-cases of the API which have not been explored in the talk Google I/O 2018.

As one of the authors of the library I am also interested in helping the audience understand some implementation details. The audience will hopefully have a good sense of what the library does on their behalf and the problems it solves. All this, while the audience is secretly being given a tour of some graph algorithms used in WorkManager which should make things very interesting.

Технологии и языки для Android: Java, Kotlin
Доклад принят в программу конференции

Materialize Your App

Adnan Mulla

Always wanted to make beautiful Material themed apps but couldn't due to the complexity of executing and building custom themed components ? Well, your in luck. In this talk, we will look at how you can integrate the new Material Design Components(MDC) libraries in your apps with ease and build beautiful apps which suit your brand image.

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

Dexs, R8 & 3.2

Inaki Villar

In this talk we are going to see the internals of the new Dexing Compiler D8, introduced in AS 3.0 as experimental, D8 will give us faster and smaller outputs of dex files. We will understand better how is the Dex Processing in Oreo/P from the ART perspective, and how is affected in the new bundle apps.
Additionally, we will see more about R8 a replacement for Proguard used in AS 3.2

Технологии и языки для Android: Java, Kotlin
Программный комитет ещё не принял решения по этому докладу

Gradle Plugin Development

Филипп Уваров

* Какие проблемы может решить кастомный плагин для Gradle?
* Разработка собственного плагина: от прототипа до публикации артефакта
* Оптимизируем наше решение
* Как все это протестировать?

Программный комитет ещё не принял решения по этому докладу

Архитектура

Технология зашищенного удаленного администрирования, разработанная ассоциацией GSMA: от частного к общему

Дмитрий Шорин

Многие уже наверное сталкивались с не так давно вышедшими на рынок умными часами, которые получают доступ в сети мобильной связи без необходимости использования SIM-карты. Каким же образом, происходит их соединение с сетью, если отсутвует ключевой элемент, содержащий идентификатор абонента и его секретный ключ для аутентификации? Дело в том, что SIM-карта уже находится в часах, будучи впаяной в микросхему. Однако на ней остутсвуют какие-либо данные, способные разрешить устройству регистрироваться в мобильной сети. Чтобы такие данные туда занести ассоциация GSMA разработала специальный защищенный механизм удаленного администрирования. В связи с высокой конфиденциальностью передаваемых данных в протоколе применяется ассиметричная криптография, основанная на эллиптических кривых, для шифрования и расчета цифровой подписи отправляемых пакетов. Серверные компоненты с реализацией этой технологии проходят сертификацию в самой GSMA ассоциации, а для клиенской части разработан профиль для сертификации на безопасность по схемам Common Criteria. Задача персонализации встроенной SIM-карты это всего лишь частная задача удаленного администрирования в сетях мобильной связи. Технология имеет потенциал для использования в куда более широком спектре возможных применений внутри клиент-серверных архитектур, где к безопасности и целостности данных предъявляются строгие требования.

Защита информации
,
Проектирование информационных систем
,
Безопасность в мобильных приложениях
,
Мобильные приложения / другое
,
Другое
Программный комитет ещё не принял решения по этому докладу

Акторные модели: новый взгляд на старый подход

Владимир Теблоев

Обычно в любом большом проекте полно внешних и внутренних систем, в которых используется RxJava. Данный подход уже стал стандартом де-факто при разработке под Android, но многие не задумываются о том, что есть совершенно иная парадигма разработки, которая хорошо зарекомендовала себя в enterprise, как в свое время RxJava. Вы спросите: что же это такое? Акторная модель.

Со мной вы узнаете, что такое акторная модель и как она может помочь нам при разработке на мобильном устройстве. Что акторы можно использовать не только на Erlang и Scala. Легковесные асинхронные потоки, которые работают как обычный синхронный код и не только. Заденем Kotlin-coroutines, а также обсудим фундаментальность данного подхода при построении быстрых и отзывчивых систем.

Технологии и языки для Android: Java, Kotlin
,
Архитектура мобильного приложения
Программный комитет ещё не принял решения по этому докладу

Learning From Our Elders

Rob Napier

Swift is not a functional programming language. Pushing too hard to make it one fights Swift and breaks Cocoa.

But Swift has absorbed some fantastic lessons from the functional world, and while value types may not quite be the present, they are clearly the future. We’ll explore how decades of work in functional languages have influenced Swift, and how you can use those features best while staying true to Swift.

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура мобильного приложения
Программный комитет ещё не принял решения по этому докладу

Design by Contract

Graham Lee

People are getting interested in functional programming now and designing their software as functions that transform data from one type to another, rather than recipes that sequentially modify some state. The claim is that we can "reason about" our software better, design by contract is about capturing that reasoning as statements about the inputs and outputs of our functions, and connecting those together to make sure that our software works correctly for _any_ valid input, not just the few cases we thought about in unit tests.

Архитектура мобильного приложения
,
Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

Архитектура слоя исполнения асинхронных задач

Степан Гончаров

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

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

Программный комитет ещё не принял решения по этому докладу

Redesigning Design Patterns

Graham Lee

What went wrong with Design Patterns? The idea was that we'd have this simple collection of repeated, reusable concepts in Object-Oriented Programming. The reality is that most people can only remember the Singleton pattern, and we'd rather they didn't use it. What should we have learned from Design Patterns?

Архитектура мобильного приложения
,
Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

Технологии iOS

Наводим порядок в настройках проекта с помощью xcconfig-файлов

Александр Дубиков

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

Одно из решений вышеперечисленных проблем - использование xcconfig-файлов.

Технологии и языки для iOS: ObjectiveC, Swift
,
Особенности процессов разработки и тестирования мобильного ПО
Программный комитет ещё не принял решения по этому докладу

Управление зависимостями в iOS

Евгений Елчев

Что такое внедрение зависимостей
Как оно связано с управлением зависимостями
Какие есть альтернативы
Можно ли внедрить внедрение зависимостями без фреймворков
Как это правильно внедрить в iOS приложении

Архитектура мобильного приложения
Программный комитет ещё не принял решения по этому докладу

Обработка ошибок в iOS-приложении

Владимир Шутов

* Виды ошибок;
* Как с ними работают и почему это плохо;
* Как спроектировать ошибку правильно. Как выглядит модель «Ошибка», её обязательные поля. Преобразование «чужих» ошибок в свои;
* Как обрабатывать ошибки, какие методики существуют. Наш опыт.

Архитектура мобильного приложения
Программный комитет ещё не принял решения по этому докладу

Математические основы Auto Layout.

Антон Сергеев

Auto Layout - это очень медленный инструмент для верстки, а его отладка крайне сложна. Думаю мало кто не согласится с этим утверждением. При этом Apple продолжает его развивать и, похоже, не собирается предлагать альтернатив.
Это типичный пример сложной судьбы продвинутых технологий, которые обладают красивым и простым интерфейсом. До определенного уровня они решают все проблемы, а потом начинают вести себя контринтуитивно. Это лишь означает, что пришло время разобраться в том, как он работает изнутри.
В ходе доклада мы научимся понимать Auto Layout. Разберемся какую задачу он решает и как он это делает. Разберемся, когда его использовать не стоит. И самое главное, научимся "проектировать ограничения", а не "подгонять ограничения под ответ".

Алгоритмы и их сравнение
,
Архитектура платформы iOS
Программный комитет ещё не принял решения по этому докладу

Concurrency Primitives

Michael Brandon Williams

We will develop first class types for encapsulating the ideas of synchronous and asynchronous work. These types have lots of interesting compositional properties. We will explore these properties and compare them to async/await style of concurrency that may be in Swift's future.

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура платформы iOS
Программный комитет ещё не принял решения по этому докладу

История одного stacktrace или зачем разработчику знания про objc_msgSend :trollface:

Владимир Храмцов

История поиска причины падения с небольшим системным stacktrace. Будут регистры, адреса, селекторы и прочая дичь. Затрону темы, которые спрашивают на собеседованиях, но так редко используются в работе iOS-разработчика.

Расскажу про:
- NSRunloop, NSTimer;
- Короля Objective-c - objc_msgSend;
- Процессор ARM, на котором 1/0 - валидная операция (на симуляторе такой код "упадёт");
- Mach-O binary;
- Crash reporting systems;
- Использования jailbreak в отладке.

Технологии и языки для iOS: ObjectiveC, Swift
Программный комитет ещё не принял решения по этому докладу

Machine Learning + Mobile: настоящее и будущее

Андрей Володин

Публичные тезисы потребуют редактуры и доработки.

Мобильные приложения / другое
Программный комитет ещё не принял решения по этому докладу

"Latency numbers" на iPhone

Дмитрий Куркин

"Latency Numbers Every Programmer Should Know". Надеюсь, и вы с ней знакомы. Но тем не менее, она датируется 2012-м годом и ориентирована на десктопы. А как бы она выглядела для современного iPhone?

Как, вообще, можно делать замеры такого масштаба? Справится ли с этим XCTest::measure? С учетом этих чисел - что такое для iPhone быстро, а что очень долго?

В докладе я отвечу на эти вопросы, покажу результаты замеров и как они получены. Сделаю замеры типовых задач iOS-приложения.

Аппаратные и программными возможности мобильного устройства
Программный комитет ещё не принял решения по этому докладу

Говорим на нескольких языках: Swift и Objective-C в одном проекте

Александр Сычев

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

В докладе поговорим о создании приложений на разных языках и о принципах их взаимодействия. 

Технологии и языки для iOS: ObjectiveC, Swift
,
Особенности процессов разработки и тестирования мобильного ПО
Программный комитет ещё не принял решения по этому докладу

Что нам стоит видеоредактор построить

Макс Никулин

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

Технологии и языки для iOS: ObjectiveC, Swift
,
Работа с графикой, 3D Моделирование
Программный комитет ещё не принял решения по этому докладу

Algebraic Data Types

Michael Brandon Williams

There is a wonderful correspondence between the Swift type system and simple algebra. We can use this connection to simplify data structures so that illegal states are unrepresentable by the compiler.

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура платформы iOS
Программный комитет ещё не принял решения по этому докладу

Let it build: Прокачиваем Mac как сервер сборок

Георгий Зиняков

Когда ваш проект растет и вы понимаете, что для сборок и построения ci/cd недостаточно облачных сервисов или одного мака, ваша инфраструктура начинает расширяться. Как управлять большим парком сборщиков ios-проектов? Как из клиентно-ориентированной macOS соорудить автономного монстра, который будет стабилен и самостоятелен в роли высоконагруженной ci-системы?

Программный комитет ещё не принял решения по этому докладу

Swift concurrency model

Александр Андрюхин

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

В докладе рассмотрим проблемы существующей модели конкурентности, обсудим, каким может быть ее будущее и как оно связано с async/await, корутинами и акторами.

Технологии и языки для iOS: ObjectiveC, Swift
Программный комитет ещё не принял решения по этому докладу

Swift for iOS SDKs

Eric Giannini

At WWDC 2017 Apple launched a brand new feature of Swift called the 'codable' protocol that empowers developers with the ability to encode or decode Swift data structures into or out of JSON data.

The developer community from one end of the spectrum to another is celebrating how the 'codable' protocol vastly simplifies the process of coding data. Here are just a few of the talks written about 'codable':

- [try! Swift Tokyo 2018 - Codable Routing with Kitura](https://www.youtube.com/watch?v=5ciZS7Cxyp0)
- many many more
- many many many more
- many many many many more

Here is the number of talks written about Objective-C: 0. You can see that developers are not particularly interested in celebrating a language whose features have not evolved much at all in the past thirty years. Many developers have already been dispatching eulogies over its legacy: https://academy.realm.io/posts/altconf-aaron-hillegass-eulogy-for-objective-c/ Who wants to write an SDK in a 'dead' language like Latin or Greek? No one does.

Программный комитет ещё не принял решения по этому докладу

Модуляризация приложений с помощью JSCore

Вадим Новосельцев

Что вообще такое JSCore, как с помощью него можно что-то модуляризировать, и, самое главное, нужно ли это? А так же поговорим об альтернативах и не забудем о подводных камнях.

Программный комитет ещё не принял решения по этому докладу

CoreData Progressive Migration: ожидания VS реальность

Павел Тихонов

Я расскажу о CoreData Progressive Migration на проекте "Календарь беременности", это b2c-приложение с огромной аудиторией.

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

Из моего доклада вы узнаете не столько о том, что такое Progressive Migration в теории, сколько о том, как все это работает на практике, и чего следует опасаться в реальном проекте.

Технологии и языки для iOS: ObjectiveC, Swift
,
Особенности процессов разработки и тестирования мобильного ПО
,
БД на мобильных устройствах
Программный комитет ещё не принял решения по этому докладу

CoreData в высоконагруженном проекте

Дмитрий Иванов

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

Затем в докладе будут раскрыты проблемы, с которыми сталкивается разработчик, применяющий классическую конфигурацию в проекте, где более пары сохраняемых сущностей, и присутствует многопоточный доступ к данным. Далее пройдёмся по основным путям решения подобных проблем, подробно остановившись на различных вариантах реализации CoreData-конфигураци (CoreData stack).

Затем будет рассказано об опыте внедрения подобных подходов, о набитых шишках и сделанных выводах.

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

Программный комитет ещё не принял решения по этому докладу

Swift & Objective-C - The most adventurous mashup since…

Matthias Tretter

In a perfect world many of us would choose to have a 100 % Swift codebase, while others would choose to have a 100 % Objective-C codebase - both of which are perfectly fine. Would you choose to maintain a mixed codebase? Probably not, but that‘s the reality many of us live in. Legacy Code, don‘t we all love it? While Mix & Match between Swift and Objective-C works great out of the box, there are many rough edges. Let‘s explore some tricks we can use to bring first-class APIs to both worlds - restoring our sanity, and harmony between both languages.

Технологии и языки для iOS: ObjectiveC, Swift
Программный комитет ещё не принял решения по этому докладу

Using Abstract Algebra to derive a better Animation Library

Brandon Kase

Designing simple and expressive libraries is hard, but is a worthy goal. It's too easy to accidentally add complexity. Math can fix that. Math can give us guide-rails that point us to an ideal simple and expressive design. In this talk, we'll use basic abstract algebra to guide us toward a simple and expressive animation library. We'll use animations to help us understand abstract algebra as we discover the true algebraic structure of animations. Only after thinking hard about the structure, do we begin an implementation. In the end, I'll present some examples of working with this animation library we derived over the talk.

Технологии и языки для iOS: ObjectiveC, Swift
Программный комитет ещё не принял решения по этому докладу

The Power of Making Your App Accessible

Matthias Tretter

Accessibility is a very important topic, that is often overlooked or, at best, added as an after-thought. This is very unfortunate, as Apple is doing a great job at providing good and simple to use APIs to make our apps accessible. Apple is fully committed to Accessibility and in providing an equal user experience for all their users, and so should we. The goal of this talk is to give an in-depth look at Accessibility on iOS, as well as outlining the reasons on why to use Accessibility by giving real-world examples of its importance.

Технологии и языки для iOS: ObjectiveC, Swift
Программный комитет ещё не принял решения по этому докладу