Forwarded from Kotlin
Kotlin 1.7.0 Released
https://blog.jetbrains.com/kotlin/2022/06/kotlin-1-7-0-released/
https://youtu.be/54WEfLKtCGk
✍️ @kotlin_lib
https://blog.jetbrains.com/kotlin/2022/06/kotlin-1-7-0-released/
https://youtu.be/54WEfLKtCGk
✍️ @kotlin_lib
The JetBrains Blog
Kotlin 1.7.0 Released | The Kotlin Blog
Kotlin 1.7.0 unveils the Alpha version of the new Kotlin/JVM K2 compiler, stabilizes language features, and brings performance improvements for the JVM, JS, and Native platforms.
👍1
Введение в Jetpack Compose
Сегодня хочу поделиться своим опытом использования Compose.
В июле прошлого года Google анонсировал первую стабильную версию Jetpack Compose, а на момент написания статьи уже вышла версия 1.1. Несмотря на то, что использовать данный инструмент можно было задолго до фактического релиза, сейчас метаморфозы API завершились(хотя некоторые его части всё ещё помечены аннотацией
#android
Сегодня хочу поделиться своим опытом использования Compose.
В июле прошлого года Google анонсировал первую стабильную версию Jetpack Compose, а на момент написания статьи уже вышла версия 1.1. Несмотря на то, что использовать данный инструмент можно было задолго до фактического релиза, сейчас метаморфозы API завершились(хотя некоторые его части всё ещё помечены аннотацией
@Experimental*Api). Сам Compose как инструмент для разработки теперь точно стал production ready (ну так обещают).#android
Как получить ссылку на фрагмент из активити?
Отвечая на этот вопрос, не рассказывайте, пока не спросят, об использовании в активити объекта
Системное API предоставляет два метода для поиска и получения фрагмента внутри активити:
findFragmentByTag() принимает параметром тег, который передается в методе add() или replace() или в XML в элементе
findFragmentById() принимает параметром id фрагмента. Если фрагмент добавляется методом
#Fragment #android
Отвечая на этот вопрос, не рассказывайте, пока не спросят, об использовании в активити объекта
List<MyFragment>, в который вы добавляете фрагменты при вызове onAttach() и удаляете в onDetach(). Интервьюер хочет услышать знаете ли вы стандартные методы API.Системное API предоставляет два метода для поиска и получения фрагмента внутри активити:
findFragmentByTag() и findFragmentById().findFragmentByTag() принимает параметром тег, который передается в методе add() или replace() или в XML в элементе
<fragment>. Возвращает null, если фрагмент не найден.findFragmentById() принимает параметром id фрагмента. Если фрагмент добавляется методом
add() или replace(), то id фрагмента – это id контейнера, который передается первым параметром. В случае добавления фрагмента через XML, id задается в элементе <fragment>. findFragmentById() возвращает null, если фрагмент не найден.#Fragment #android
Android Developers
FragmentManager | Android Developers
👍3
Советы и рекомендации по отладке в Xcode
https://medium.com/@dbelannab/xcode-debugging-tips-and-tricks-c2f4db49553e
#ios
https://medium.com/@dbelannab/xcode-debugging-tips-and-tricks-c2f4db49553e
#ios
👍2
Как не надо учить Flutter
https://medium.com/@sourabhmahale/how-not-to-learn-flutter-d32181342885
#Flutter
https://medium.com/@sourabhmahale/how-not-to-learn-flutter-d32181342885
#Flutter
👍5❤1🥱1
Привет!
Surf готовит для тебя очередную пушку🚀
Сегодня, в 16:00 подключайся к эфиру с Владом, iOS Developer — он собирается разложить на строчки WWDC 2022, который прошёл 6 июня.
Всё по фактам:
👉Обзор нововведений WWDC 2022
👉Как и когда происходит внедрение новых решений в Surf
+ Live Coding с разбором некоторых нововведений в WWDC — Влад покажет здесь и сейчас, как Surf работает с новыми фишками.
🗓Добавляй в календарь, чтоб не забыть и приводи с собой друзей!
Переходи в Surf Tech
Surf готовит для тебя очередную пушку🚀
Сегодня, в 16:00 подключайся к эфиру с Владом, iOS Developer — он собирается разложить на строчки WWDC 2022, который прошёл 6 июня.
Всё по фактам:
👉Обзор нововведений WWDC 2022
👉Как и когда происходит внедрение новых решений в Surf
+ Live Coding с разбором некоторых нововведений в WWDC — Влад покажет здесь и сейчас, как Surf работает с новыми фишками.
🗓Добавляй в календарь, чтоб не забыть и приводи с собой друзей!
Переходи в Surf Tech
Классическая игра «Змейка» с Jetpack Compose
https://proandroiddev.com/classic-snake-game-with-jetpack-compose-2b78f4892ca
#android
https://proandroiddev.com/classic-snake-game-with-jetpack-compose-2b78f4892ca
#android
👍1
Подборка каналов для IT специалистов 🎯
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/React_lib Подборки по React js и все что с ним связано
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/React_lib Подборки по React js и все что с ним связано
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.me/Excel_lifehack
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавляем сплешскрин во Flutter-приложении менее чем за минуту
https://faun.pub/add-splash-launch-screen-in-less-than-1-minute-for-your-flutter-apps-b36568e41616
#Flutter
https://faun.pub/add-splash-launch-screen-in-less-than-1-minute-for-your-flutter-apps-b36568e41616
#Flutter
👍4
Бесконечная прокрутка в UITableView намного проще, чем вы думали
https://pedroalvarez-29395.medium.com/uitableview-infinite-scrolling-a-lot-simpler-than-you-knew-uitableviewdatasourceprefetching-51ea5c312a80
#ios
https://pedroalvarez-29395.medium.com/uitableview-infinite-scrolling-a-lot-simpler-than-you-knew-uitableviewdatasourceprefetching-51ea5c312a80
#ios
👍2
Синхронизация навигации iOS-приложения с NavigationQueue
https://medium.com/itodev/ios-app-navigation-synchronization-with-navigationqueue-40259eef1617
#ios
https://medium.com/itodev/ios-app-navigation-synchronization-with-navigationqueue-40259eef1617
#ios
👍1
Как эффективно дампить SwiftUI Environment
https://betterprogramming.pub/how-to-dump-swiftui-environment-efficiently-1bdf12ef37ed
#ios
https://betterprogramming.pub/how-to-dump-swiftui-environment-efficiently-1bdf12ef37ed
#ios
Экран выбора времени для приложения Таймер на Jetpack Compose
https://proandroiddev.com/time-selection-screen-for-timer-app-in-jetpack-compose-part-i-537ffcedb68e
#android
https://proandroiddev.com/time-selection-screen-for-timer-app-in-jetpack-compose-part-i-537ffcedb68e
#android
👍1
Список полезных расширений VS Code для разработчиков Flutter
https://techhype.io/articles/a-list-of-useful-vs-code-extensions-for-flutter-developers/
#Flutter
https://techhype.io/articles/a-list-of-useful-vs-code-extensions-for-flutter-developers/
#Flutter
👍2
Динамические темы для вашего Flutter приложения
https://itnext.io/dynamically-theme-your-flutter-app-59da5037f5df
https://itnext.io/dynamically-theme-your-flutter-app-59da5037f5df
👍7
Forwarded from React
Кастомный React рендерер
Когда React рендерит приложение и обновляет DOM, то используется React DOM. При рендере приложения на сервере используется модуль
Таким образом, для каждого окружения используется свой рендерер, хотя модуль
Модуль
Для разработки своего рендерера необходимо описать объект “host config”, в котором описаны методы реализации API React. Выглядит так:
https://github.com/facebook/react/blob/main/packages/react-reconciler/README.md
✍️ @React_lib
Когда React рендерит приложение и обновляет DOM, то используется React DOM. При рендере приложения на сервере используется модуль
react-dom/server. Для мобильных приложений для рендера используется модуль react-native. Таким образом, для каждого окружения используется свой рендерер, хотя модуль
react используется везде один. Модуль
react предоставляет API для определения компонентов, а реализация находится в “рендерерах”. Для связи хуков с реализацией используется объект “диспатчер”. При вызове useState, вызов перенаправляется текущему диспатчеру рендерера. Об этом есть подробная статья в блоге Дэна Абрамова.Для разработки своего рендерера необходимо описать объект “host config”, в котором описаны методы реализации API React. Выглядит так:
const HostConfig = {
createInstance(type, props) {
// e.g. DOM renderer returns a DOM node
},
// ...
supportsMutation: true, // it works by mutating nodes
appendChild(parent, child) {
// e.g. DOM renderer would call .appendChild() here
},
// ...
};
https://github.com/facebook/react/blob/main/packages/react-reconciler/README.md
✍️ @React_lib
👍2
ViewModel: антипаттерны разовых событий
https://medium.com/androiddevelopers/viewmodel-one-off-event-antipatterns-16a1da869b95
#android
https://medium.com/androiddevelopers/viewmodel-one-off-event-antipatterns-16a1da869b95
#android
👍1
3 причины стать мобильным разработчиком на iOS
1. Реализовать свои идеи
Счётчик просмотренных фильмов или управление светом в холодильнике? Приложение можно создать под любую задачу.
2. «Пощупать» результат
iOS-разработчики видят результат своего кода на симуляторе устройства в среде разработки Xcode или на своём айфоне. Ещё с помощью приложений разработчики улучшают жизнь людей и видят отклик: всегда можно почитать отзывы о приложении в App Store.
3. Зарабатывать
По данным Хабр Карьеры, в среднем начинающие iOS-разработчики получают 52 000 ₽ в месяц, а опытные уровня middle — 142 000 ₽. Часто разработчики работают удалённо.
Если хотите попробовать себя в этой профессии, начните бесплатную вводную часть курса по iOS-разработке. Она делится на два уровня: начальный и для более подготовленных. Вы с первого урока учитесь на реальных задачах и погружаетесь в рабочую среду.
Познакомьтесь с языком Swift и напишите своё первое приложение бесплатно →
1. Реализовать свои идеи
Счётчик просмотренных фильмов или управление светом в холодильнике? Приложение можно создать под любую задачу.
2. «Пощупать» результат
iOS-разработчики видят результат своего кода на симуляторе устройства в среде разработки Xcode или на своём айфоне. Ещё с помощью приложений разработчики улучшают жизнь людей и видят отклик: всегда можно почитать отзывы о приложении в App Store.
3. Зарабатывать
По данным Хабр Карьеры, в среднем начинающие iOS-разработчики получают 52 000 ₽ в месяц, а опытные уровня middle — 142 000 ₽. Часто разработчики работают удалённо.
Если хотите попробовать себя в этой профессии, начните бесплатную вводную часть курса по iOS-разработке. Она делится на два уровня: начальный и для более подготовленных. Вы с первого урока учитесь на реальных задачах и погружаетесь в рабочую среду.
Познакомьтесь с языком Swift и напишите своё первое приложение бесплатно →
👍2
🤖 Hello, world!
Авито расширяет мобильную платформу!
Ищут iOS- и Android-разработчиков сразу в несколько команд:
В команде Speed вы будете улучшать Developer Experience мобильных разработчиков и регулярно релизить мобильные приложения;
Команда Mobile Design System: вашей задачей будет строить кастомные компоненты из базовых блоков и быстро поддерживать сквозные изменения в дизайне на уровне всего приложения;
В Mobile Architecture вы совместно с продуктовыми разработчикам будете решать задачи с помощью гибкой, расширяемой архитектуры мобильных приложений.
👉🏻 За подробностями 👉🏻 на сайт.
Авито расширяет мобильную платформу!
Ищут iOS- и Android-разработчиков сразу в несколько команд:
В команде Speed вы будете улучшать Developer Experience мобильных разработчиков и регулярно релизить мобильные приложения;
Команда Mobile Design System: вашей задачей будет строить кастомные компоненты из базовых блоков и быстро поддерживать сквозные изменения в дизайне на уровне всего приложения;
В Mobile Architecture вы совместно с продуктовыми разработчикам будете решать задачи с помощью гибкой, расширяемой архитектуры мобильных приложений.
👉🏻 За подробностями 👉🏻 на сайт.