Мини-учебник по работе с сетевой библиотекой Moya для iOS, позволяющей создавать безопасную по типу структуру для сетевых сервисов и запросов: https://proglib.io/w/c55e3501
Что выведет программа?
Anonymous Quiz
4%
«Woof!»
8%
«Woof!», «Yip!»
41%
«Yip!»
2%
«Yip!», «Woof!»
2%
Ничего не выведет
40%
Код не скомпилируется
4%
Код скомпилируется, но упадет с ошибкой
Этот код пытается создать новый класс Corgi, который наследуется от существующего класса Dog. Обычно это работает, но здесь класс Dog помечен как конечный (final), что означает, что он не может быть унаследован.
Любая попытка переписать конечный метод, свойство или индекс в подклассе приведет к ошибке компиляции.
Любая попытка переписать конечный метод, свойство или индекс в подклассе приведет к ошибке компиляции.
Простой Github-шаблон, позволяющий создать проект Android/Kotlin и начать работу всего за несколько секунд. Он ориентирован на реализацию проекта со статическим анализом кода и непрерывной интеграцией.
https://proglib.io/w/3feb5420
https://proglib.io/w/3feb5420
GitHub
GitHub - cortinico/kotlin-android-template: Android + Kotlin + Github Actions + ktlint + Detekt + Gradle Kotlin DSL + buildSrc…
Android + Kotlin + Github Actions + ktlint + Detekt + Gradle Kotlin DSL + buildSrc = ❤️ - cortinico/kotlin-android-template
Перевод статьи Norberto Gil Vasconcelos «14 must knows for an iOS developer». Убеждаемся, что всё это уже знаем, или подтягиваем пробелы.
https://proglib.io/w/7eec6a9c
https://proglib.io/w/7eec6a9c
Хабр
14 вещей, которые обязан знать iOS-разработчик
С разрешения автора выкладываю перевод статьи Norberto Gil Vasconcelos «14 must knows for an iOS developer» (ссылка на оригинал). На момент публикации статьи акт...
Какой функционал НЕ предоставляют классы данных в Kotlin?
Anonymous Quiz
11%
Автоматическая генерация функции copy() для создания копий экземпляров
4%
Автоматическая генерация функции toString()
54%
Автоматическое преобразование из / в JSON
8%
Автоматическая генерация функций hashCode() и equals()
6%
Нет правильного ответа
17%
Посмотреть результаты
Классы данных — это очень удобная функция Kotlin для создания классов, основной целью которых является хранение данных, причем компилятор Kotlin автоматически создает такие функции, как equals() / hashCode(), toString(), copy(...), а также компонентные функции componentN(), которые соответствуют свойствам, в соответствии с порядком их объявления. Автоматическое преобразование в / из JSON не является (пока) частью этого процесса.
Стоит отметить, что если какая-либо из этих функций явно определена в теле класса (или унаследована от родительского класса), то генерироваться она не будет.
Чтобы класс определить как класс данных, он должен соответствовать ряду условий:
– первичный конструктор должен иметь как минимум один параметр;
– все параметры первичного конструктора должны предваряться ключевыми словами val или var, то есть определять свойства;
– свойства, которые определяются вне первичного конструктора, не используются в функциях equals() и hashCode();
– класс не должен определяться с модификаторами data, abstract, sealed или inner.
Стоит отметить, что если какая-либо из этих функций явно определена в теле класса (или унаследована от родительского класса), то генерироваться она не будет.
Чтобы класс определить как класс данных, он должен соответствовать ряду условий:
– первичный конструктор должен иметь как минимум один параметр;
– все параметры первичного конструктора должны предваряться ключевыми словами val или var, то есть определять свойства;
– свойства, которые определяются вне первичного конструктора, не используются в функциях equals() и hashCode();
– класс не должен определяться с модификаторами data, abstract, sealed или inner.
Разбираемся, к чему стоит готовиться разработчикам после выхода iOS 14: https://proglib.io/w/ba829201
AppTractor
Что разработчику ждать от iOS 14?
Новую версию iOS анонсируют совсем скоро, а выйдет она, по прогнозам, в сентябре. Хотите лучше подготовиться к ее выходу?
Saving Data on Android.epub
17.3 MB
Saving Data on Android (2020)
Автор(ы): Jennifer Bailey, Aldo Olivares, Dean Djermanović
Сохранение данных всегда было фундаментальной частью любого приложения.
Сохранение данных локально или удаленно с помощью современных технологий синхронизации позволяет вашему приложению всегда быть в курсе последних событий и оперативно представлять свежие данные.
Эта книга предназначена для разработчиков Kotlin или Android среднего уровня, которые хотят знать, как сохранить данные, используя стандартные API-интерфейсы Android, компонент архитектуры Room или то, что может предложить Google Firebase.
Автор(ы): Jennifer Bailey, Aldo Olivares, Dean Djermanović
Сохранение данных всегда было фундаментальной частью любого приложения.
Сохранение данных локально или удаленно с помощью современных технологий синхронизации позволяет вашему приложению всегда быть в курсе последних событий и оперативно представлять свежие данные.
Эта книга предназначена для разработчиков Kotlin или Android среднего уровня, которые хотят знать, как сохранить данные, используя стандартные API-интерфейсы Android, компонент архитектуры Room или то, что может предложить Google Firebase.
👍2
Разбираемся с протоколом Codable, который предоставляет лучший способ парсинга данных в Swift (по мнению автора): https://proglib.io/w/76b918fe
Medium
Codable: A better way to parse data in Swift
Apple recommends MVC architecture for development and is undeniably more common architecture. MVC segregate code in three parts —…
Пишем кроссплатформенное приложение чат для iOS и macOS с помощью Stream: https://proglib.io/w/b8f7d4c5
DEV Community
How to Build a Cross-Platform iOS and macOS Chat App using Stream
You can now ship your Stream Chat iOS app on macOS with minimal work required
Изучаем Kotlin, разрабатывая Reddit-клиент
Вас ждет 8 уроков, в ходе которых вы разберетесь с созданием полноценного клиента для Reddit под названием Keddit (ссылка на репозиторий).
https://proglib.io/w/ae69966e
Вас ждет 8 уроков, в ходе которых вы разберетесь с созданием полноценного клиента для Reddit под названием Keddit (ссылка на репозиторий).
https://proglib.io/w/ae69966e
GitHub
GitHub - juanchosaravia/KedditBySteps: Small Reddit Android client developed with Kotlin
Small Reddit Android client developed with Kotlin. Contribute to juanchosaravia/KedditBySteps development by creating an account on GitHub.
Если вы уже поняли все необходимые концепции разработки для Android и думаете, что готовы работать над приложением, которое соответствует отраслевым стандартам (масштабируемое и поддерживаемое в долгосрочной перспективе), то держите 5 open source проектов для прокачки навыков Android-разработчика: https://proglib.io/w/d3a2762c
AppTractor
Как начинающему Android-разработчику прокачать свои навыки: 5 open source проектов для изучения
Этот список Android-приложений с открытым исходным кодом может пригодиться вам, если вы уже поняли все необходимые концепции разработки и думаете, что готовы работать над приложением, которое соответствует отраслевым стандартам.
Как вы поддерживаете и развиваете свои профильные знания в онлайне?
Anonymous Poll
42%
Читаю документацию
40%
Читаю профильную литературу
62%
Читаю статьи на Хабре/Medium/Proglib
28%
Изучаю исходники кода в github/bitbucket/gitlab
32%
Смотрю онлайн-митапы/конференции
5%
Участвую в хакатонах/конкурсах
31%
Занимаюсь своими пет-проектами
18%
Работы хватает, ничего не делаю
9%
Другое
Лекции, слайды, теоретические материалы и практические задания, по которым студенты Стэнфордского университета изучают основы создания приложений для iPhone и iPad с использованием SwiftUI в рамках курса «Разработка приложений для iOS».
https://proglib.io/w/09dc74d4
https://proglib.io/w/09dc74d4
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck pinned «Как вы поддерживаете и развиваете свои профильные знания в онлайне?»
Практическая сторона работы с архитектурным компонентом Navigation Architecture Component, с помощью которого можно с легкостью реализовать сложную навигацию в Android: https://proglib.io/w/f8fe66cf
Хабр
Navigation Architecture Component. Практический взгляд
На недавнем Google IO 2018 в числе прочего было представлено решение, помогающее в реализации навигации в приложениях. Сразу бросилось в глаза то, что граф нави...