{"id":437796,"date":"2024-11-08T15:00:46","date_gmt":"2024-11-08T15:00:46","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=437796"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=437796","title":{"rendered":"<span>\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e #562 (28 \u043e\u043a\u0442\u044f\u0431\u0440\u044f \u2014 4 \u043d\u043e\u044f\u0431\u0440\u044f)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0412 \u043d\u043e\u0432\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u043a\u043e\u0432\u043a\u0430 Metal \u0438 \u043f\u043e\u0438\u0441\u043a \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0439 \u0432 Compose, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 React Native \u0438 \u0444\u043e\u0440\u043a Flutter, \u0442\u0430\u043a\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u043b\u0438\u043a \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 iOS \u0438 Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0439\u0442\u0435\u0441\u044c!<\/p>\n<p> <b>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043c\u043e\u0439 Telegram-\u043a\u0430\u043d\u0430\u043b <a href=\"https:\/\/t.me\/apptractor\" rel=\"nofollow noopener noreferrer\">Mobile Insights<\/a>, \u0433\u0434\u0435 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0410 \u0432 <a href=\"https:\/\/t.me\/code_insight\" rel=\"nofollow noopener noreferrer\">IT Insights<\/a> \u2014 \u043c\u043d\u043e\u0433\u043e \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445.<\/b><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/kp\/dh\/hp\/kpdhhpl8q8tiowucloc1apwta2o.png\" data-src=\"https:\/\/habrastorage.org\/webt\/kp\/dh\/hp\/kpdhhpl8q8tiowucloc1apwta2o.png\"\/><a name=\"habracut\"><\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\"\/> <b>iOS<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/delaem-v-swiftui-razmytie-ekrana-pri-pereklyuchenii-zadachi.html\" rel=\"nofollow noopener noreferrer\">\u0414\u0435\u043b\u0430\u0435\u043c \u0432 SwiftUI \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/realizuem-face-id-autentifikatsiyu-v-ios-prilozhenii.html\" rel=\"nofollow noopener noreferrer\">\u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c Face ID \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432 iOS-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/855484\/\">\u041c\u0430\u043b\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0444\u0438\u0447\u0438 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/792444\/\">Swift TaskGroup \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/apple-kupila-pixelmator.html\" rel=\"nofollow noopener noreferrer\">Apple \u043a\u0443\u043f\u0438\u043b\u0430 Pixelmator<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kak-ustroena-biblioteka-appmetrica.html\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 AppMetrica<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/zdes-kuyut-metal.html\" rel=\"nofollow noopener noreferrer\">\u0417\u0434\u0435\u0441\u044c \u043a\u0443\u044e\u0442 Metal<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kak-ios-razrabotchiku-vyzhit-na-proekte-s-kmp.html\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a iOS-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0432\u044b\u0436\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0441 KMP?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/app-store-budet-pokazyvat-svodku-otzyvov-sdelannuyu-ii.html\" rel=\"nofollow noopener noreferrer\">App Store \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0434\u043a\u0443 \u043e\u0442\u0437\u044b\u0432\u043e\u0432, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u0443\u044e \u0418\u0418<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/copilot-poyavilsya-v-apple-xcode.html\" rel=\"nofollow noopener noreferrer\">Copilot \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 Apple Xcode<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/mutatingfunc.github.io\/blog\/2024-10-12-app-development-on-ipad\/\" rel=\"nofollow noopener noreferrer\">App development on iPad<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/dimillian.medium.com\/why-is-xcodebuild-slower-than-the-xcode-gui-38f3d7b0c0bc?source=rss-b067c9115d59------2\" rel=\"nofollow noopener noreferrer\">Why is xcodebuild slower than the Xcode GUI?<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/tanaschita.com\/swift-actors-basics\/\" rel=\"nofollow noopener noreferrer\">Understanding actors in Swift<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.invoke.dev\/simplify-your-ios-ci-with-makefiles-75b082d12d4b?gi=07c3ce71a42b\" rel=\"nofollow noopener noreferrer\">Simplify Your iOS CI with Makefiles<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/swiftology.io\/articles\/making-illegal-states-unrepresentable\/\" rel=\"nofollow noopener noreferrer\">Making illegal states unrepresentable<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/holyswift.app\/measuring-view-visibility-percentage-in-swiftui-using-preferencekeys\/\" rel=\"nofollow noopener noreferrer\">Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.avanderlee.com\/swift-testing\/require-macro\/\" rel=\"nofollow noopener noreferrer\">Using the #require macro for Swift Testing<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@batrakov.vitaly\/coordinators-swiftui-569a7f9a22c6\" rel=\"nofollow noopener noreferrer\">Coordinators &amp; SwiftUI<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/gorkemkara.net\/install-github-copilot-for-xcode\/\" rel=\"nofollow noopener noreferrer\">Installing and Using Copilot in Xcode: AI Code Completion<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/codingwithvera.com\/the-strategy-pattern\/\" rel=\"nofollow noopener noreferrer\">The Strategy Pattern<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.massicotte.org\/problematic-patterns\" rel=\"nofollow noopener noreferrer\">Problematic Swift Concurrency Patterns<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/swiftwithmajid.com\/2024\/10\/29\/introducing-swift-testing-lifecycle\/\" rel=\"nofollow noopener noreferrer\">Introducing Swift Testing. Lifecycle.<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.donnywals.com\/improving-test-coverage-with-parameterized-tests-in-swift-testing\/\" rel=\"nofollow noopener noreferrer\">Improving test coverage with parameterized tests in Swift testing<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.polpiella.dev\/bump-numbers-ci-cd\/\" rel=\"nofollow noopener noreferrer\">How to automatically update build and version numbers in your app using Fastlane<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.emergetools.com\/blog\/posts\/preview-driven-development\" rel=\"nofollow noopener noreferrer\">Preview Driven Development<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=ojdjFn9qjwU\" rel=\"nofollow noopener noreferrer\">Convert a SwiftUI view to an image<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=uxYsliVM6aE\" rel=\"nofollow noopener noreferrer\">Translation API<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=W-dipgL7-78\" rel=\"nofollow noopener noreferrer\">Accessibility \u2014 The clock is ticking<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=vqPK8qFsoBg\" rel=\"nofollow noopener noreferrer\">SwiftUI Bottom Sheet like Apple Music App<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/geometrize.html\" rel=\"nofollow noopener noreferrer\">Geometrize \u2014 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/paralayout.html\" rel=\"nofollow noopener noreferrer\">Paralayout \u2014 \u043f\u0438\u043a\u0441\u0435\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0442\u043a\u0430 \u0432 iOS<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/coredataevolution.html\" rel=\"nofollow noopener noreferrer\">CoreDataEvolution \u2014 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f Core Data<\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\"\/> <b>Android<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854726\/\">\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/poisk-regressiy-v-compose.html\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0438\u0441\u043a \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0439 \u0432 Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/samsung\/articles\/854252\/\">\u041f\u044f\u0442\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442: \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 Separated apps \u0432 KNOX Service Plugin (KSP)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-5.html\" rel=\"nofollow noopener noreferrer\">\u041e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c ViewModel \u0432 Android: \u00ab\u043c\u043e\u0436\u043d\u043e\u00bb \u0438 \u00ab\u043d\u0435\u043b\u044c\u0437\u044f\u00bb \u2014 \u0427\u0430\u0441\u0442\u044c 5<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/ppr\/articles\/855314\/\">\u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Android<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854450\/\">\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u044b\u0434\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u043f\u043e\u0440\u0442\u0444\u043e\u043b\u0438\u043e. \u0413\u0430\u0439\u0434 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 Android \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/853568\/\">\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 Date and Time picker \u043a\u0430\u043a \u0432 Telegram \u043d\u0430 Kotlin Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/android-cookbook-gotovim-webview-pravilno.html\" rel=\"nofollow noopener noreferrer\">Android cookbook: \u0433\u043e\u0442\u043e\u0432\u0438\u043c WebView \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kotlin-coroutines-ustroystvo-i-vozmozhnosti-ispolzovaniya.html\" rel=\"nofollow noopener noreferrer\">Kotlin Coroutines. \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/fresh-na-polke-fresh-v-steke.html\" rel=\"nofollow noopener noreferrer\">\u0424\u0440\u0435\u0448 \u043d\u0430 \u043f\u043e\u043b\u043a\u0435, \u0444\u0440\u0435\u0448 \u0432 \u0441\u0442\u0435\u043a\u0435<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/bolee-chastye-vypuski-android-sdk-bolee-bystrye-innovatsii-i-vysokoe-kachestvo.html\" rel=\"nofollow noopener noreferrer\">\u0411\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u044b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 Android SDK: \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u0438 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/google-rabotaet-nad-analogom-dynamic-island-dlya-android.html\" rel=\"nofollow noopener noreferrer\">Google \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u0434 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u043c Dynamic Island \u0434\u043b\u044f Android<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/iurysouza.dev\/gemini-on-android\/\" rel=\"nofollow noopener noreferrer\">Gemini on Android, The story so far<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/canopas.com\/how-to-create-a-parallax-movie-pager-in-jetpack-compose-ab9c1e19d2cb\" rel=\"nofollow noopener noreferrer\">How To Create a Parallax Movie Pager In Jetpack Compose<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.insert-koin.io\/koin-annotations-1-4-stable-first-2-0-beta1-version-3e7fea803a32?gi=7e7c49b81ee1\" rel=\"nofollow noopener noreferrer\">Koin Annotations 1.4 stable &amp; First 2.0 beta version<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@binod.basnet777\/automating-versioning-and-apk-naming-in-gradle-for-android-projects-c58e98298ef0\" rel=\"nofollow noopener noreferrer\">Automating Versioning and APK Naming in Gradle for Android Projects<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@saadkhan.cdz\/generating-code-coverage-report-with-jacoco-a-complete-guide-for-android-part-3-a7c57561bcda\" rel=\"nofollow noopener noreferrer\">Generating Code Coverage Report with JaCoCo: A Complete Guide for Android<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/proandroiddev.com\/mastering-disposableeffect-in-jetpack-compose-managing-side-effects-effectively-8a399ced0f38\" rel=\"nofollow noopener noreferrer\">Mastering DisposableEffect in Jetpack Compose: Managing Side Effects Effectively<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/programminghard.dev\/gradle-modularisation\/\" rel=\"nofollow noopener noreferrer\">Gradle Modularisation<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@amarkumarprajapti\/tips-to-improve-frame-rates-in-android-apps-67cecb6bb64e\" rel=\"nofollow noopener noreferrer\">Tips to Improve Frame Rates in Android Apps<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@azizbek.rasulmetov2000\/android-interview-questions-about-activity-component-68a7f4ffdb5b\" rel=\"nofollow noopener noreferrer\">Android interview questions about Activity component<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/proandroiddev.com\/the-beauty-of-kotlin-type-system-25d0a187b130\" rel=\"nofollow noopener noreferrer\">The beauty of Kotlin Type System<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@mkaomwakuni\/elevate-your-dependency-injection-game-koin-4-0-unveiled-for-kotlin-developers-468ac1d91862\" rel=\"nofollow noopener noreferrer\">Elevate Your Dependency Injection Game: Koin 4.0 Unveiled for Kotlin Developers<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.androidfaithful.com\/android-16-code-name\/\" rel=\"nofollow noopener noreferrer\">Google confirms the Android 16 dessert code-name is Baklava<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=lv1raAvwcgI\" rel=\"nofollow noopener noreferrer\">Navigation In Multi-Module Android Apps<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=-QExSMcBvOg\" rel=\"nofollow noopener noreferrer\">The Ultimate Beginner\u2019s Roadmap to Android App Architecture<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=loWBqo1rtfo\" rel=\"nofollow noopener noreferrer\">Dangerous Minds: How we\u2019re getting developer education wrong<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/playlist?list=PLPXWhj_QEAWJFjl97aT8oK9k_gDZhAfJf\" rel=\"nofollow noopener noreferrer\">Droidcon Lisbon 2024<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/compose-unstyled.html\" rel=\"nofollow noopener noreferrer\">Compose Unstyled \u2014 UI-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Compose Multiplatform<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/lawnchair.html\" rel=\"nofollow noopener noreferrer\">Lawnchair \u2014 \u043b\u0430\u0443\u043d\u0447\u0435\u0440 \u0434\u043b\u044f Android<\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ma\/lx\/8h\/malx8hbgozt6lee8rmxmg96_s6a.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ma\/lx\/8h\/malx8hbgozt6lee8rmxmg96_s6a.png\"\/> <b>\u041a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854348\/\">React Native \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u043d<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/flock.html\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u043d Flock \u2014 \u0444\u043e\u0440\u043a Flutter<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/friflex\/articles\/854928\/\">\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c Flutter-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0410\u0432\u0440\u043e\u0440\u0435: \u043f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/finam_broker\/articles\/855386\/\">\u0422\u0440\u0438 \u043f\u0443\u0442\u0438 \u043a Flutter: \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854406\/\">\u041f\u0440\u043e\u0431\u0443\u0435\u043c Flutter \u0432 Telegram Mini Apps: \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854610\/\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b: \u0434\u0435\u043b\u0438\u043c \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0438\u043a\u0441\u0438\u043d\u043e\u0432<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/853848\/\">\u0428\u0435\u0440\u0438\u043d\u0433 \u0444\u0430\u0439\u043b\u043e\u0432 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0432 Flutter<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@sys.int64\/flutter-raii-simplifying-resource-management-in-your-apps-8d7cc5e46f8b\" rel=\"nofollow noopener noreferrer\">Flutter RAII: Simplifying Resource Management in Your Apps<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=CAp0ReI5uyM\" rel=\"nofollow noopener noreferrer\">How to Migrate from Dagger 2 \/ Hilt to Koin for KMP<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.stackademic.com\/architect-your-react-native-app-to-handle-millions-of-users-and-large-development-teams-cfc566ea8bf0\" rel=\"nofollow noopener noreferrer\">Architect Your React Native app to handle Millions of Users and Large Development Teams<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@koreshreyash\/inspektor-multiplatform-http-inspection-library-for-ktor-6c78ae5e5661\" rel=\"nofollow noopener noreferrer\">Inspektor \u2014 Multiplatform HTTP inspection library for KTOR<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2024\/10\/kotlin-multiplatform-development-roadmap-for-2025\/\" rel=\"nofollow noopener noreferrer\">Kotlin Multiplatform Development Roadmap for 2025<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/johnoreilly.dev\/posts\/vertex-ai-kmp\/\" rel=\"nofollow noopener noreferrer\">Using Vertex AI in a Compose\/Kotlin Multiplatform project<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.reddit.com\/r\/FlutterDev\/comments\/1gfhyfn\/i_built_a_web_app_with_flutter_and_this_is_how_i\/\" rel=\"nofollow noopener noreferrer\">I built a web app with Flutter and this is how I feel about it<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@Yellowtoast\/breaking-up-with-getx-know-the-facts-before-you-judge-f298d32cdfe7\" rel=\"nofollow noopener noreferrer\">Breaking Up with GetX: Know the Facts Before You Judge<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/mozzius.dev\/post\/3l777nhz4h32w\" rel=\"nofollow noopener noreferrer\">React Native, and \u00abthe native feel\u00bb<\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/708\/1c6\/34e\/7081c634ec176ab6b953d9d19e82a09a.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/708\/1c6\/34e\/7081c634ec176ab6b953d9d19e82a09a.png\"\/> <b>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/develop\/pravda-li-chto-prilozheniya-dlya-android-namnogo-menshe-chem-dlya-ios.html\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f Android \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0434\u043b\u044f iOS?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/domclick\/articles\/850492\/\">\u0422\u0430\u043a\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u043b\u0438\u043a \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445: \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0447\u0435\u043c?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/analytics\/octoverse-2024-ezhegodnyy-otchet-ot-github.html\" rel=\"nofollow noopener noreferrer\">Octoverse 2024: \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442 \u043e\u0442 GitHub<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/clevertec\/articles\/855066\/\">\u0411\u0438\u0442\u0432\u0430 \u0442\u0438\u0442\u0430\u043d\u043e\u0432: \u043d\u0430\u0442\u0438\u0432, \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0438 PWA \u2014 \u0438\u0449\u0435\u043c \u043f\u043b\u044e\u0441\u044b \u0438 \u043c\u0438\u043d\u0443\u0441\u044b \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/855794\/\">\u0411\u0435\u0437 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u043a\u0430\u043a \u0443\u043b\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0434\u0438\u043e\u0432\u043e\u043b\u043d\u0443 \u0438\u043d\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0430, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043e\u043f\u044b\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/analytics\/samye-vysokooplachivaemye-vakansii-oktyabrya-v-sfere-razrabotki-prilozheniy-2.html\" rel=\"nofollow noopener noreferrer\">\u0421\u0430\u043c\u044b\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \u043e\u043a\u0442\u044f\u0431\u0440\u044f \u0432 \u0441\u0444\u0435\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/develop\/coding\/zadachi-s-sobesedovaniy-leetcode-naibolshiy-obschiy-prefiks.html\" rel=\"nofollow noopener noreferrer\">\u0417\u0430\u0434\u0430\u0447\u0438 \u0441 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439: Leetcode \u2014 \u041d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043e\u0431\u0449\u0438\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/ot-nativa-do-sdui-cherez-gibrid.html\" rel=\"nofollow noopener noreferrer\">\u041e\u0442 \u043d\u0430\u0442\u0438\u0432\u0430 \u0434\u043e SDUI \u0447\u0435\u0440\u0435\u0437 \u0433\u0438\u0431\u0440\u0438\u0434<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/karera-mobilnogo-razrabotchika-2024.html\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u0440\u044c\u0435\u0440\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 2024<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/razrabotka-v-robototehnike-avtomatizatsiya-avtopiloty.html\" rel=\"nofollow noopener noreferrer\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u2014 \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0410\u0432\u0442\u043e\u043f\u0438\u043b\u043e\u0442\u044b<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/netflixtechblog.com\/investigation-of-a-workbench-ui-latency-issue-faa017b4653d\" rel=\"nofollow noopener noreferrer\">Investigation of a Workbench UI Latency Issue<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.runway.team\/blog\/how-to-build-the-perfect-mobile-release-train\" rel=\"nofollow noopener noreferrer\">How to build the perfect mobile release train<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/github.com\/open-mmlab\/Amphion\" rel=\"nofollow noopener noreferrer\">Amphion: OS audio, music &amp; speech generation toolkit<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/daniel.lawrence.lu\/blog\/y2023m12d15\/\" rel=\"nofollow noopener noreferrer\">Using an 8K TV as a monitor<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/read.perspectiveship.com\/p\/one-on-ones\" rel=\"nofollow noopener noreferrer\">On One-on-Ones \u2014 Insights From 1,500 Meetings<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/buttondown.com\/defragmenter\/archive\/decoupling-design-from-engineering\/\" rel=\"nofollow noopener noreferrer\">Decoupling Design From Engineering<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/timcoatesinsights.wordpress.com\/2024\/10\/31\/why-pascal-deserves-a-second-look\/\" rel=\"nofollow noopener noreferrer\">Why Pascal Deserves a Second Look<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/zaidesanton.substack.com\/p\/why-sprints-are-broken\" rel=\"nofollow noopener noreferrer\">Why sprints are taking the joy out of building software<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=cbcd6-m8sHg\" rel=\"nofollow noopener noreferrer\">Google Cloud Digital Leader Certification Course 2024<\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\" data-blurred=\"true\"\/> <b>\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430, \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u043c\u043e\u043d\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u044f<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/analytics\/samye-skachivaemye-i-zarabatyvayuschie-prilozheniya-v-rossii-v-oktyabre-2024.html\" rel=\"nofollow noopener noreferrer\">\u0421\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 2024<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/user-analytics\/rynok-ios-prilozheniy-v-evrope-otchet-setapp.html\" rel=\"nofollow noopener noreferrer\">\u0420\u044b\u043d\u043e\u043a iOS-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 \u0415\u0432\u0440\u043e\u043f\u0435 \u2014 \u043e\u0442\u0447\u0435\u0442 Setapp<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/ad-networks\/vk-reklama-uprostila-prodvizhenie-prilozheniy-iz-rustore.html\" rel=\"nofollow noopener noreferrer\">VK \u0420\u0435\u043a\u043b\u0430\u043c\u0430 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0430 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438\u0437 RuStore<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/apps\/nintendo-music.html\" rel=\"nofollow noopener noreferrer\">Nintendo \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043c\u0443\u0437\u044b\u043a\u043e\u0439 \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 \u0438\u0433\u0440<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/interview\/marketologi-v-mobayle-lyubov-bondareva-rostic-s.html\" rel=\"nofollow noopener noreferrer\">\u041c\u0430\u0440\u043a\u0435\u0442\u043e\u043b\u043e\u0433\u0438 \u0432 \u043c\u043e\u0431\u0430\u0439\u043b\u0435: \u041b\u044e\u0431\u043e\u0432\u044c \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432\u0430 (Rostic\u2019s)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/app-promo\/kak-ya-ispolzoval-keynote-dlya-sozdaniya-skrinshotov-i-rolikov-dlya-app-store.html\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Keynote \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 \u0438 \u0440\u043e\u043b\u0438\u043a\u043e\u0432 \u0434\u043b\u044f App Store<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/apps\/screenable.html\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Screenable \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 iPhone \u0432 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.elenaverna.com\/p\/my-9-favorite-growth-frameworks\" rel=\"nofollow noopener noreferrer\">My 9 Favorite Growth Framework<\/a><br \/> \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/appmagic.rocks\/blog\/twilight-game-of-vampires\" rel=\"nofollow noopener noreferrer\">How DreamPlus Games Makes $2M Per Month On Twilight Hype<\/a><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\" data-blurred=\"true\"\/> <b>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/b><\/p>\n<p> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/855686\/\">\u041e\u043f\u044b\u0442\u044b \u0441 \u0430\u043a\u0441\u0435\u043b\u0435\u0440\u043e\u043c\u0435\u0442\u0440\u043e\u043c \u0438 \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 S7V30<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/serverflow\/articles\/851712\/\">\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c Pixtral12B \u0438 LLaMA 3.2 11B \u043d\u0430 \u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0445 Tesla P100 \u0438 P40<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/alfa\/articles\/849420\/\">\u041a\u0430\u043a \u044f \u0437\u0430\u043d\u044f\u043b \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 AI Journey Contest 2023 (\u0442\u0440\u0435\u043a Personal AI)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854646\/\">\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0436\/\u0434 \u043f\u0438\u043a\u0435\u0442\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0438\u043a\u043e\u0432 \u043f\u043e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c \u0441 \u0431\u0435\u0441\u043f\u0438\u043b\u043e\u0442\u043d\u0438\u043a\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 PyTorch \u0438 YOLOv5<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/wirenboard\/articles\/854818\/\">\u041a\u0430\u043a \u00ab\u0414\u0443\u0431\u043b\u044c\u0414\u043e\u043c\u00bb \u0445\u043e\u0447\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u043e\u043c\u0430 \u0443\u043c\u043d\u044b\u043c\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/855018\/\">\u041a\u0430\u043a \u0443\u0447\u0451\u043d\u044b\u0435 \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0435\u043d\u0438\u0435 \u043f\u0442\u0438\u0446<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/854878\/\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043e\u0441\u043d\u043e\u0432\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Zigbee<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/devnotebooks.ru\/best-keyboard-2024\/\" rel=\"nofollow noopener noreferrer\">\u041b\u0443\u0447\u0448\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b 2024<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/github-obnovlyaet-copilot.html\" rel=\"nofollow noopener noreferrer\">GitHub \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 Copilot<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/bolee-chetverti-novogo-koda-v-google-sozdaetsya-ii.html\" rel=\"nofollow noopener noreferrer\">\u0411\u043e\u043b\u0435\u0435 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 Google \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0418\u0418<\/a><\/p>\n<p> \u2190 <a href=\"https:\/\/habr.com\/ru\/articles\/853822\/\">\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442<\/a>. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438\u043b\u0438 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u2014 \u043f\u0440\u0438\u0448\u043b\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432 <a href=\"mailto:lbogolubov@gmail.com\">\u043f\u043e\u0447\u0442\u0443<\/a>.<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/855930\/\"> https:\/\/habr.com\/ru\/articles\/855930\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0412 \u043d\u043e\u0432\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u043a\u043e\u0432\u043a\u0430 Metal \u0438 \u043f\u043e\u0438\u0441\u043a \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0439 \u0432 Compose, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 React Native \u0438 \u0444\u043e\u0440\u043a Flutter, \u0442\u0430\u043a\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u043b\u0438\u043a \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 iOS \u0438 Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0439\u0442\u0435\u0441\u044c!<\/p>\n<p> <b>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043c\u043e\u0439 Telegram-\u043a\u0430\u043d\u0430\u043b <a href=\"https:\/\/t.me\/apptractor\" rel=\"nofollow noopener noreferrer\">Mobile Insights<\/a>, \u0433\u0434\u0435 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0410 \u0432 <a href=\"https:\/\/t.me\/code_insight\" rel=\"nofollow noopener noreferrer\">IT Insights<\/a> \u2014 \u043c\u043d\u043e\u0433\u043e \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445.<\/b><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/kp\/dh\/hp\/kpdhhpl8q8tiowucloc1apwta2o.png\" data-src=\"https:\/\/habrastorage.org\/webt\/kp\/dh\/hp\/kpdhhpl8q8tiowucloc1apwta2o.png\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-437796","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/437796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=437796"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/437796\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=437796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=437796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=437796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}