{"id":470182,"date":"2025-08-10T15:00:18","date_gmt":"2025-08-10T15:00:18","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=470182"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=470182","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 #597 (4 \u0438\u044e\u043b\u044f \u2014 10 \u0430\u0432\u0433\u0443\u0441\u0442\u0430)<\/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-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u043d\u043e\u0432\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u0440\u0430\u0441\u043f\u0443\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e SwiftUI \u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043e\u043f\u043b\u0430\u0442\u044b \u043d\u0430 Compose, \u0438\u0433\u0440\u0430\u0435\u043c \u0432 SPM \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0432\u043e\u0439 State Management \u0434\u043b\u044f Flutter, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u00ab\u0427\u0451\u0440\u043d\u043e\u0435 \u0437\u0435\u0440\u043a\u0430\u043b\u043e\u00bb \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u043c\u043c\u0438\u0432\u043e\u044f\u0436\u0435\u0440\u0430, \u043e\u0442\u0438\u043a\u0440\u044b\u0432\u0430\u0435\u043c Android \u0434\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u043e\u0432 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u0417\u0430\u0445\u043e\u0434\u0438\u0442\u0435!<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/g2\/_-\/2c\/g2_-2cnthhxb6qs76b8tjmuaag0.jpeg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/g2\/_-\/2c\/g2_-2cnthhxb6qs76b8tjmuaag0.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/g2\/_-\/2c\/g2_-2cnthhxb6qs76b8tjmuaag0.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\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 <\/strong><a href=\"https:\/\/t.me\/apptractor\" rel=\"noopener noreferrer nofollow\"><strong>Mobile Insights<\/strong><\/a><strong>, \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.<\/strong><\/p>\n<p>##\u00a0<strong>iOS<\/strong><\/p>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/rasputyvaem-navigatsiyu-swiftui.html\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0441\u043f\u0443\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/kartochka-s-chastichnym-razmytiem-v-swiftui.html\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435\u043c \u0432 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/934756\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 Skeleton\u2011View \u0441 shimmer\u2011\u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u0432 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/observations.html\" rel=\"noopener noreferrer nofollow\">\u0421\u0442\u0440\u0438\u043c\u0438\u043d\u0433 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Observations<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/857364\/\" rel=\"noopener noreferrer nofollow\">\u0418\u0433\u0440\u0430 \u0432 SPM<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kod-kotoryy-ne-tormozit-sekrety-proizvoditelnosti-na-ios.html\" rel=\"noopener noreferrer nofollow\">\u041a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442: \u0441\u0435\u043a\u0440\u0435\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 iOS<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/combine-s-nulya-reaktivschina-eto-prosto.html\" rel=\"noopener noreferrer nofollow\">Combine \u0441 \u043d\u0443\u043b\u044f \u2014 \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u0449\u0438\u043d\u0430 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.jacobstechtavern.com\/p\/high-performance-swiftdata\" rel=\"noopener noreferrer nofollow\">High Performance SwiftData Apps<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/troz.net\/post\/2025\/swiftui-mac-2025\/\" rel=\"noopener noreferrer nofollow\">SwiftUI for Mac 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/mjtsai.com\/blog\/2025\/07\/23\/ways-swiftdatas-modelcontainer-can-error-on-creation\/\" rel=\"noopener noreferrer nofollow\">Ways SwiftData\u2019s ModelContainer Can Error on Creation<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/tanaschita.com\/swift-available-attribute\/\" rel=\"noopener noreferrer nofollow\">How to use the @available attribute in Swift<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.natashatherobot.com\/p\/foundationmodels-streaming-external-llm\" rel=\"noopener noreferrer nofollow\">Using the FoundationModels Framework for Streaming from external LLM providers<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.avanderlee.com\/concurrency\/global-actor\/\" rel=\"noopener noreferrer nofollow\">Global actor in Swift Concurrency explained with code examples<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/swift-pal.com\/swiftui-component-architecture-mastery-professional-styling-testing-performance-2025-cf92847b934b\" rel=\"noopener noreferrer nofollow\">SwiftUI Component Architecture Mastery: Professional Styling, Testing &amp; Performance<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.pointfree.co\/blog\/posts\/181-a-swiftdata-alternative-with-sqlite-cloudkit-public-beta\" rel=\"noopener noreferrer nofollow\">A SwiftData alternative with SQLite + CloudKit: Public beta<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.stackademic.com\/flipkart-ios-developer-interview-with-questions-dsa-challenges-c49443af119f\" rel=\"noopener noreferrer nofollow\">Flipkart iOS Developer Interview (With Questions &amp; DSA Challenges)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/grindr-engineering\/tl-dr-swiftui-makes-customizing-views-feel-effortless-until-you-build-your-own-reusable-4a3a0cd0e288\" rel=\"noopener noreferrer nofollow\">@ViewConfigurable \u2014 A better way to build SwiftUI components<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/fatbobman.com\/en\/posts\/sendable-sending-nonsending\/\" rel=\"noopener noreferrer nofollow\">Swift 6: Sendable, @unchecked Sendable, @Sendable, sending and nonsending<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/luxmentis.org\/blog\/ios-and-mac-apps-in-zed\/\" rel=\"noopener noreferrer nofollow\">Build, run and debug iOS and Mac apps in Zed instead of Xcode<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/the-context-layer\/everything-swift-developers-need-to-use-mcp-39f5f3202ba8\" rel=\"noopener noreferrer nofollow\">Everything Swift Developers Need, To Use MCP<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/swift-pal.com\/ios-widget-guide-everything-beginners-need-to-know-about-widgetkit-in-2025-fb2778025331\" rel=\"noopener noreferrer nofollow\">iOS Widget Guide: Everything Beginners Need to Know About WidgetKit in 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.createwithswift.com\/exploring-the-foundation-models-framework\/\" rel=\"noopener noreferrer nofollow\">Exploring the Foundation Models framework<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=UXG7U6iFxxM\" rel=\"noopener noreferrer nofollow\">How to support iOS 26 without breaking glass<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=ZN96fbavsoA\" rel=\"noopener noreferrer nofollow\">What&#8217;s New in Xcode 26<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=1Rt2ZkEsjwA\" rel=\"noopener noreferrer nofollow\">iOS 26 Concentric Rectangle<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/open-swiftui-animations.html\" rel=\"noopener noreferrer nofollow\">Open SwiftUI Animations \u2014 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/meetingnotes.html\" rel=\"noopener noreferrer nofollow\">Meetingnotes \u2014 \u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043e\u043a \u043d\u0430 \u0441\u043e\u0432\u0435\u0449\u0430\u043d\u0438\u044f\u0445 \u0441 \u0418\u0418<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/asyncgraphics.html\" rel=\"noopener noreferrer nofollow\">AsyncGraphics \u2014 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e \u0441 Swift Concurrency \u0438 Metal<\/a><\/p>\n<h3>Android<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/retain.html\" rel=\"noopener noreferrer nofollow\">\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 retain{}: \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/dododev\/articles\/933278\/\" rel=\"noopener noreferrer nofollow\">Swipe to Pay, \u0438\u043b\u0438 \u041a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043e\u043f\u043b\u0430\u0442\u044b \u043d\u0430 Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/den-kogda-moyo-android-prilozhenie-chut-ne-ubilo-telefony-polzovateley-i-kak-ya-eto-ispravil.html\" rel=\"noopener noreferrer nofollow\">\u0414\u0435\u043d\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0451 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0443\u0442\u044c \u043d\u0435 \u0443\u0431\u0438\u043b\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 (\u0438 \u043a\u0430\u043a \u044f \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@off.mind.by\/deform-the-canvas-57dc59bec42a\" rel=\"noopener noreferrer nofollow\">Deform the canvas<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/auto-sizing-text-in-jetpack-compose-with-basictext-effbc41502fa\" rel=\"noopener noreferrer nofollow\">Auto-sizing Text in Jetpack Compose with BasicText<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/exploring-the-android-google-home-apis-sdk-72b29eef0819\" rel=\"noopener noreferrer nofollow\">Exploring the Android Google Home APIs SDK<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/enhancing-user-interaction-with-haptic-feedback-in-jetpack-compose-33f3c3e8f126\" rel=\"noopener noreferrer nofollow\">Enhancing User Interaction with Haptic Feedback in Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.jetbrains.com\/teamcity\/2025\/08\/kotlin-dsl-what-s-new\/\" rel=\"noopener noreferrer nofollow\">Kotlin DSL: What\u2019s New?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/abhidharmik.medium.com\/top-10-must-know-kotlin-extension-functions-turn-jetpack-compose-code-from-mundane-to-magical-98503ebd05c6\" rel=\"noopener noreferrer nofollow\">Top 10 Must-Know Kotlin Extension Functions: Turn Jetpack Compose Code from Mundane to Magical<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/jetpack-compose-offline-first-architectures-5495ec6ddfa8\" rel=\"noopener noreferrer nofollow\">Jetpack Compose Offline-First Architectures<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/how-i-made-my-own-scrollbar-in-android-compose-with-drag-support-7fd492e308fc\" rel=\"noopener noreferrer nofollow\">How I Made My Own ScrollBar in Android Compose (With Drag Support!)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/retrofit-magic-service-interface-8efd486c8996\" rel=\"noopener noreferrer nofollow\">The Magic Behind Retrofit: How a Simple Interface Becomes Your API Gateway<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@farimarwat\/solid-principles-for-beginners-with-kotlin-6cb2b0a9d76e\" rel=\"noopener noreferrer nofollow\">SOLID Principles for Beginners with Kotlin<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/layoutnode-what-actually-happens-when-you-write-composable-05c0275875fa\" rel=\"noopener noreferrer nofollow\">LayoutNode: What Actually Happens When You Write @Composable<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/coding-kinetics\/introduction-to-structured-concurrency-coroutinescope-coroutinecontext-50103363c611\" rel=\"noopener noreferrer nofollow\">Introduction to Structured Concurrency: CoroutineScope &amp; CoroutineContext<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/nameisjayant.medium.com\/dont-make-your-viewmodels-do-everything-there-s-a-better-way-980920819632\" rel=\"noopener noreferrer nofollow\">Don\u2019t Make Your ViewModels Do Everything \u2014 There\u2019s a Better Way<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=hAjUByneFEg\" rel=\"noopener noreferrer nofollow\">Multimodal Gemini in Android Studio: AI-powered UI development<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=z7mHJfh7po0\" rel=\"noopener noreferrer nofollow\">Now in Android: 120 \u2013 Android Canaries, Agentic AI, 16 KB page size requirements, and more<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=8ocelXB1Qoc\" rel=\"noopener noreferrer nofollow\">Consume a Runtime-Enabled SDK<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=QSoG8OaCSgw\" rel=\"noopener noreferrer nofollow\">Getting your Gradle setup right, at the right time<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=aF8RYQrJI8Q\" rel=\"noopener noreferrer nofollow\">Context-sensitive resolution in Kotlin 2.2<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=JybmcYevHww\" rel=\"noopener noreferrer nofollow\">Code like a Senior Dev with Firebender \u2013 Android Studio AI Plugin <\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=6JRs9nu13rM\" rel=\"noopener noreferrer nofollow\">Gradle Tutorial &#8212; Shared Build Logic<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/vse-video-droidcon-nyc-2025.html\" rel=\"noopener noreferrer nofollow\">\u0412\u0441\u0435 \u0432\u0438\u0434\u0435\u043e droidcon NYC 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/floatingtabbar-2.html\" rel=\"noopener noreferrer nofollow\">FloatingTabBar \u2014 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0439 \u0442\u0430\u0431 \u0431\u0430\u0440 \u0432 \u0441\u0442\u0438\u043b\u0435 Liquid Glass \u043d\u0430 Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/flocon.html\" rel=\"noopener noreferrer nofollow\">Flocon \u2014 \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<h3>\u041a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/yandex\/articles\/933726\/\" rel=\"noopener noreferrer nofollow\">\u041e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u0438\u043c yx_state\u00a0\u2014 \u0441\u0432\u043e\u0439 State Management \u0434\u043b\u044f Flutter<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/otus\/articles\/935384\/\" rel=\"noopener noreferrer nofollow\">Flutter: \u0418\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0443 Canvas\u2019\u0430 \u2014 \u0427\u0430\u0441\u0442\u044c 1<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/tulkity-kodogeneratsii-android-vs-ios.html\" rel=\"noopener noreferrer nofollow\">\u0422\u0443\u043b\u043a\u0438\u0442\u044b \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 Android vs iOS<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/towardsdev.com\/kmp-x-swift-how-to-use-swift-libraries-in-kotlin-multiplatform-with-google-sign-in-as-example-208f18b3c3d6\" rel=\"noopener noreferrer nofollow\">KMP x Swift: How to Use Swift Libraries in Kotlin Multiplatform (with Google Sign-In as Example)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@workflow094093\/one-line-flutter-hacks-that-instantly-improve-your-ui-ee7624d579c8\" rel=\"noopener noreferrer nofollow\">One-Line Flutter Hacks That Instantly Improve Your UI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/itnext.io\/dynamic-loading-in-a-clean-architecture-kmm-engine-d4ef64e72adb\" rel=\"noopener noreferrer nofollow\">Dynamic Loading in a Clean Architecture KMM Engine<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/itnext.io\/beyond-print-levelling-up-your-flutter-logging-92313f9d18a8\" rel=\"noopener noreferrer nofollow\">Beyond print(): Levelling Up Your Flutter Logging<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.kamranbekirov.com\/blog\/google-fonts\" rel=\"noopener noreferrer nofollow\">Fix that Google Fonts glitch in Flutter apps<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@tamilnambicse\/how-to-use-firebase-database-rules-with-flutter-test-vs-production-with-sample-code-and-rules-209b999a1c0a\" rel=\"noopener noreferrer nofollow\">How to Use Firebase Database Rules with Flutter: Test vs Production (with Sample Code and Rules)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=KEsVNrzPf24\" rel=\"noopener noreferrer nofollow\">Swift Export &#8212; A Peek Under the Hood<\/a><\/p>\n<h3>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/surfstudio\/articles\/934110\/\" rel=\"noopener noreferrer nofollow\">\u00ab\u0427\u0451\u0440\u043d\u043e\u0435 \u0437\u0435\u0440\u043a\u0430\u043b\u043e\u00bb \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u043a\u0430\u043a \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/935534\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0435\u0442\u043a\u0438 \u0424\u0430\u0440\u0430\u0434\u0435\u044f \u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0438 \u0435\u0433\u043e \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0434\u0430\u0436<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/fsight\/articles\/933194\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u0432\u044b\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0427\u0430\u0441\u0442\u044c 2<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/932992\/\" rel=\"noopener noreferrer nofollow\">Kick: Kotlin Inspection &amp; Control Kit \u2014 \u0435\u0434\u0438\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/934644\/\" rel=\"noopener noreferrer nofollow\">\u0411\u0443\u0434\u0443\u0449\u0435\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 (\u043d\u0435) \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u043e: \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 VR \u0438 AR<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/keshirovanie-dlya-mobilnyh-prilozheniy-komu-zachem-kogda.html\" rel=\"noopener noreferrer nofollow\">\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439: \u043a\u043e\u043c\u0443, \u0437\u0430\u0447\u0435\u043c, \u043a\u043e\u0433\u0434\u0430?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/localization\/lokalizatsiya-prilozheniya-glazami-perevodchika.html\" rel=\"noopener noreferrer nofollow\">\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/ai-menyaet-vsyo-insaydy-ot-yandeksa-i-dzena.html\" rel=\"noopener noreferrer nofollow\">AI \u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u0441\u0451: \u0438\u043d\u0441\u0430\u0439\u0434\u044b \u043e\u0442 \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u0438 \u0414\u0437\u0435\u043d\u0430<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/matematika-v-osnove-ii-matritsy-tenzory-deep-learning.html\" rel=\"noopener noreferrer nofollow\">\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0418\u0418 \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u044b, \u0442\u0435\u043d\u0437\u043e\u0440\u044b, deep learning<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/javascript.plainenglish.io\/i-stopped-writing-ui-code-now-i-let-mcp-servers-build-my-interfaces-with-shadcn-190d0bf4a7db\" rel=\"noopener noreferrer nofollow\">I Stopped Writing UI Code. Now I Let MCP Servers Build My Interfaces with ShadCN<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/design-bootcamp\/top-ui-ux-trends-to-watch-in-2026-379a955ce591\" rel=\"noopener noreferrer nofollow\">Top UI\/UX trends to watch in 2026<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/deepdocs.dev\/ai-and-technical-debt-a-race-to-the-bottom\/\" rel=\"noopener noreferrer nofollow\">AI vs Technical Debt: Is This A Race to the Bottom?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/indriver-tech\/building-a-crash-report-automation-for-ios-and-android-970c578b9fa1\" rel=\"noopener noreferrer nofollow\">Building a crash report automation for iOS and Android<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/jacob.blog\/how-i-never-forget-anything-as-a-staff-software-engineer-8874d89a4d70\" rel=\"noopener noreferrer nofollow\">How I never forget anything as a staff software engineer<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=AGHONAx8gjQ\" rel=\"noopener noreferrer nofollow\">How to Build Scalable AI Agents with Kotlin, Ktor &amp; Koog<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=OlAmyf8_4O4\" rel=\"noopener noreferrer nofollow\">Google Cloud Associate Cloud Engineer Course [2025]<\/a><\/p>\n<h3>\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<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/u-vas-slishkom-mnogo-metrik.html\" rel=\"noopener noreferrer nofollow\">\u0423 \u0432\u0430\u0441 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u0440\u0438\u043a<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/samye-skachivaemye-i-zarabatyvayuschie-prilozheniya-v-rossii-v-iyule-2025.html\" rel=\"noopener noreferrer nofollow\">\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 \u0438\u044e\u043b\u0435 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/10-tys-mrr-vot-chto-srabotalo-a-chto-net.html\" rel=\"noopener noreferrer nofollow\">$10 \u0442\u044b\u0441. MRR: \u0432\u043e\u0442 \u0447\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0430 \u0447\u0442\u043e \u043d\u0435\u0442<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/tinder-gotovit-redizayn-i-novye-fichi-dlya-uvelicheniya-vovlechennosti.html\" rel=\"noopener noreferrer nofollow\">Tinder \u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u0440\u0435\u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/cleverpumpkin\/articles\/934096\/\" rel=\"noopener noreferrer nofollow\">Stories \u0432 ecommerce-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445: \u043a\u0430\u043a \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u0446\u0441\u0435\u0442\u0435\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0434\u0430\u0436\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/935116\/\" rel=\"noopener noreferrer nofollow\">LTV \u0434\u043b\u044f \u0438\u043d\u0434\u0438-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u043a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u0436\u0438\u0437\u043d\u0435\u043d\u043d\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u0433\u0440\u043e\u043a\u0430 \u043f\u0440\u0438 \u043c\u0430\u043b\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.stackademic.com\/i-made-a-100k-ios-app-apple-took-30-the-rest-went-to-bugs-and-burnout-0d9e8f3c1818\" rel=\"noopener noreferrer nofollow\">I made a $100K iOS App. Apple took 30%. The Rest Went to Bugs and Burnout.<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/appmagic.rocks\/research\/casual-report-h1-2025\" rel=\"noopener noreferrer nofollow\">Casual Games Report H1 2025: Three Genres Generating 80% of Revenue<\/a><\/p>\n<h3>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/934902\/\" rel=\"noopener noreferrer nofollow\">OpenAI \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a open-source: \u043e\u0431\u0437\u043e\u0440 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 GPT-OSS-120b \u0438 GPT-OSS-20b<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/933796\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u043c\u043c\u0438\u0432\u043e\u044f\u0436\u0435\u0440\u0430 (TSP) \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/sberbank\/articles\/935356\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u043e\u0431\u0443\u0447\u0430\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 GigaCode<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/vysokie-izderzhki-i-nizkaya-marzha-ugrozhayut-startapam-v-sfere-ii-programmirovaniya.html\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0441\u043e\u043a\u0438\u0435 \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043d\u0438\u0437\u043a\u0430\u044f \u043c\u0430\u0440\u0436\u0430 \u0443\u0433\u0440\u043e\u0436\u0430\u044e\u0442 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u043c \u0432 \u0441\u0444\u0435\u0440\u0435 \u0418\u0418-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/learn\/kurs-generativnyy-ii-dlya-nachinayuschih-s-javascript-ot-microsoft.html\" rel=\"noopener noreferrer nofollow\">\u041a\u0443\u0440\u0441 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0418\u0418 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0441 JavaScript\u00bb \u043e\u0442 Microsoft<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/openmind-hochet-stat-android-dlya-robotov.html\" rel=\"noopener noreferrer nofollow\">OpenMind \u0445\u043e\u0447\u0435\u0442 \u0441\u0442\u0430\u0442\u044c Android \u0434\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u043e\u0432<\/a><\/p>\n<p>\u2190 <a href=\"https:\/\/habr.com\/ru\/articles\/933586\/\" rel=\"noopener noreferrer nofollow\">\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 \u043f\u043e\u0447\u0442\u0443.<\/p>\n<\/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\/935732\/\"> https:\/\/habr.com\/ru\/articles\/935732\/<\/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-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u043d\u043e\u0432\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u0440\u0430\u0441\u043f\u0443\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e SwiftUI \u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043e\u043f\u043b\u0430\u0442\u044b \u043d\u0430 Compose, \u0438\u0433\u0440\u0430\u0435\u043c \u0432 SPM \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0432\u043e\u0439 State Management \u0434\u043b\u044f Flutter, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u00ab\u0427\u0451\u0440\u043d\u043e\u0435 \u0437\u0435\u0440\u043a\u0430\u043b\u043e\u00bb \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u043c\u043c\u0438\u0432\u043e\u044f\u0436\u0435\u0440\u0430, \u043e\u0442\u0438\u043a\u0440\u044b\u0432\u0430\u0435\u043c Android \u0434\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u043e\u0432 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u0417\u0430\u0445\u043e\u0434\u0438\u0442\u0435!<\/p>\n<figure class=\"\"><\/figure>\n<p><strong>\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 <\/strong><a href=\"https:\/\/t.me\/apptractor\" rel=\"noopener noreferrer nofollow\"><strong>Mobile Insights<\/strong><\/a><strong>, \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.<\/strong><\/p>\n<p>##\u00a0<strong>iOS<\/strong><\/p>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/rasputyvaem-navigatsiyu-swiftui.html\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0441\u043f\u0443\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/kartochka-s-chastichnym-razmytiem-v-swiftui.html\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435\u043c \u0432 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/934756\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 Skeleton\u2011View \u0441 shimmer\u2011\u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u0432 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/observations.html\" rel=\"noopener noreferrer nofollow\">\u0421\u0442\u0440\u0438\u043c\u0438\u043d\u0433 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Observations<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/857364\/\" rel=\"noopener noreferrer nofollow\">\u0418\u0433\u0440\u0430 \u0432 SPM<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kod-kotoryy-ne-tormozit-sekrety-proizvoditelnosti-na-ios.html\" rel=\"noopener noreferrer nofollow\">\u041a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442: \u0441\u0435\u043a\u0440\u0435\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 iOS<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/combine-s-nulya-reaktivschina-eto-prosto.html\" rel=\"noopener noreferrer nofollow\">Combine \u0441 \u043d\u0443\u043b\u044f \u2014 \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u0449\u0438\u043d\u0430 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.jacobstechtavern.com\/p\/high-performance-swiftdata\" rel=\"noopener noreferrer nofollow\">High Performance SwiftData Apps<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/troz.net\/post\/2025\/swiftui-mac-2025\/\" rel=\"noopener noreferrer nofollow\">SwiftUI for Mac 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/mjtsai.com\/blog\/2025\/07\/23\/ways-swiftdatas-modelcontainer-can-error-on-creation\/\" rel=\"noopener noreferrer nofollow\">Ways SwiftData\u2019s ModelContainer Can Error on Creation<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/tanaschita.com\/swift-available-attribute\/\" rel=\"noopener noreferrer nofollow\">How to use the @available attribute in Swift<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.natashatherobot.com\/p\/foundationmodels-streaming-external-llm\" rel=\"noopener noreferrer nofollow\">Using the FoundationModels Framework for Streaming from external LLM providers<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.avanderlee.com\/concurrency\/global-actor\/\" rel=\"noopener noreferrer nofollow\">Global actor in Swift Concurrency explained with code examples<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/swift-pal.com\/swiftui-component-architecture-mastery-professional-styling-testing-performance-2025-cf92847b934b\" rel=\"noopener noreferrer nofollow\">SwiftUI Component Architecture Mastery: Professional Styling, Testing &amp; Performance<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.pointfree.co\/blog\/posts\/181-a-swiftdata-alternative-with-sqlite-cloudkit-public-beta\" rel=\"noopener noreferrer nofollow\">A SwiftData alternative with SQLite + CloudKit: Public beta<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.stackademic.com\/flipkart-ios-developer-interview-with-questions-dsa-challenges-c49443af119f\" rel=\"noopener noreferrer nofollow\">Flipkart iOS Developer Interview (With Questions &amp; DSA Challenges)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/grindr-engineering\/tl-dr-swiftui-makes-customizing-views-feel-effortless-until-you-build-your-own-reusable-4a3a0cd0e288\" rel=\"noopener noreferrer nofollow\">@ViewConfigurable \u2014 A better way to build SwiftUI components<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/fatbobman.com\/en\/posts\/sendable-sending-nonsending\/\" rel=\"noopener noreferrer nofollow\">Swift 6: Sendable, @unchecked Sendable, @Sendable, sending and nonsending<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/luxmentis.org\/blog\/ios-and-mac-apps-in-zed\/\" rel=\"noopener noreferrer nofollow\">Build, run and debug iOS and Mac apps in Zed instead of Xcode<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/the-context-layer\/everything-swift-developers-need-to-use-mcp-39f5f3202ba8\" rel=\"noopener noreferrer nofollow\">Everything Swift Developers Need, To Use MCP<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/swift-pal.com\/ios-widget-guide-everything-beginners-need-to-know-about-widgetkit-in-2025-fb2778025331\" rel=\"noopener noreferrer nofollow\">iOS Widget Guide: Everything Beginners Need to Know About WidgetKit in 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.createwithswift.com\/exploring-the-foundation-models-framework\/\" rel=\"noopener noreferrer nofollow\">Exploring the Foundation Models framework<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=UXG7U6iFxxM\" rel=\"noopener noreferrer nofollow\">How to support iOS 26 without breaking glass<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=ZN96fbavsoA\" rel=\"noopener noreferrer nofollow\">What&#8217;s New in Xcode 26<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=1Rt2ZkEsjwA\" rel=\"noopener noreferrer nofollow\">iOS 26 Concentric Rectangle<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/open-swiftui-animations.html\" rel=\"noopener noreferrer nofollow\">Open SwiftUI Animations \u2014 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 SwiftUI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/meetingnotes.html\" rel=\"noopener noreferrer nofollow\">Meetingnotes \u2014 \u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043e\u043a \u043d\u0430 \u0441\u043e\u0432\u0435\u0449\u0430\u043d\u0438\u044f\u0445 \u0441 \u0418\u0418<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/asyncgraphics.html\" rel=\"noopener noreferrer nofollow\">AsyncGraphics \u2014 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e \u0441 Swift Concurrency \u0438 Metal<\/a><\/p>\n<h3>Android<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/retain.html\" rel=\"noopener noreferrer nofollow\">\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 retain{}: \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/dododev\/articles\/933278\/\" rel=\"noopener noreferrer nofollow\">Swipe to Pay, \u0438\u043b\u0438 \u041a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043e\u043f\u043b\u0430\u0442\u044b \u043d\u0430 Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/den-kogda-moyo-android-prilozhenie-chut-ne-ubilo-telefony-polzovateley-i-kak-ya-eto-ispravil.html\" rel=\"noopener noreferrer nofollow\">\u0414\u0435\u043d\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0451 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0443\u0442\u044c \u043d\u0435 \u0443\u0431\u0438\u043b\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 (\u0438 \u043a\u0430\u043a \u044f \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@off.mind.by\/deform-the-canvas-57dc59bec42a\" rel=\"noopener noreferrer nofollow\">Deform the canvas<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/auto-sizing-text-in-jetpack-compose-with-basictext-effbc41502fa\" rel=\"noopener noreferrer nofollow\">Auto-sizing Text in Jetpack Compose with BasicText<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/exploring-the-android-google-home-apis-sdk-72b29eef0819\" rel=\"noopener noreferrer nofollow\">Exploring the Android Google Home APIs SDK<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/enhancing-user-interaction-with-haptic-feedback-in-jetpack-compose-33f3c3e8f126\" rel=\"noopener noreferrer nofollow\">Enhancing User Interaction with Haptic Feedback in Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.jetbrains.com\/teamcity\/2025\/08\/kotlin-dsl-what-s-new\/\" rel=\"noopener noreferrer nofollow\">Kotlin DSL: What\u2019s New?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/abhidharmik.medium.com\/top-10-must-know-kotlin-extension-functions-turn-jetpack-compose-code-from-mundane-to-magical-98503ebd05c6\" rel=\"noopener noreferrer nofollow\">Top 10 Must-Know Kotlin Extension Functions: Turn Jetpack Compose Code from Mundane to Magical<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/jetpack-compose-offline-first-architectures-5495ec6ddfa8\" rel=\"noopener noreferrer nofollow\">Jetpack Compose Offline-First Architectures<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/how-i-made-my-own-scrollbar-in-android-compose-with-drag-support-7fd492e308fc\" rel=\"noopener noreferrer nofollow\">How I Made My Own ScrollBar in Android Compose (With Drag Support!)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/retrofit-magic-service-interface-8efd486c8996\" rel=\"noopener noreferrer nofollow\">The Magic Behind Retrofit: How a Simple Interface Becomes Your API Gateway<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@farimarwat\/solid-principles-for-beginners-with-kotlin-6cb2b0a9d76e\" rel=\"noopener noreferrer nofollow\">SOLID Principles for Beginners with Kotlin<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/proandroiddev.com\/layoutnode-what-actually-happens-when-you-write-composable-05c0275875fa\" rel=\"noopener noreferrer nofollow\">LayoutNode: What Actually Happens When You Write @Composable<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/coding-kinetics\/introduction-to-structured-concurrency-coroutinescope-coroutinecontext-50103363c611\" rel=\"noopener noreferrer nofollow\">Introduction to Structured Concurrency: CoroutineScope &amp; CoroutineContext<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/nameisjayant.medium.com\/dont-make-your-viewmodels-do-everything-there-s-a-better-way-980920819632\" rel=\"noopener noreferrer nofollow\">Don\u2019t Make Your ViewModels Do Everything \u2014 There\u2019s a Better Way<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=hAjUByneFEg\" rel=\"noopener noreferrer nofollow\">Multimodal Gemini in Android Studio: AI-powered UI development<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=z7mHJfh7po0\" rel=\"noopener noreferrer nofollow\">Now in Android: 120 \u2013 Android Canaries, Agentic AI, 16 KB page size requirements, and more<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=8ocelXB1Qoc\" rel=\"noopener noreferrer nofollow\">Consume a Runtime-Enabled SDK<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=QSoG8OaCSgw\" rel=\"noopener noreferrer nofollow\">Getting your Gradle setup right, at the right time<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=aF8RYQrJI8Q\" rel=\"noopener noreferrer nofollow\">Context-sensitive resolution in Kotlin 2.2<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=JybmcYevHww\" rel=\"noopener noreferrer nofollow\">Code like a Senior Dev with Firebender \u2013 Android Studio AI Plugin <\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=6JRs9nu13rM\" rel=\"noopener noreferrer nofollow\">Gradle Tutorial &#8212; Shared Build Logic<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/vse-video-droidcon-nyc-2025.html\" rel=\"noopener noreferrer nofollow\">\u0412\u0441\u0435 \u0432\u0438\u0434\u0435\u043e droidcon NYC 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/floatingtabbar-2.html\" rel=\"noopener noreferrer nofollow\">FloatingTabBar \u2014 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0439 \u0442\u0430\u0431 \u0431\u0430\u0440 \u0432 \u0441\u0442\u0438\u043b\u0435 Liquid Glass \u043d\u0430 Jetpack Compose<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/github\/flocon.html\" rel=\"noopener noreferrer nofollow\">Flocon \u2014 \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<h3>\u041a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/yandex\/articles\/933726\/\" rel=\"noopener noreferrer nofollow\">\u041e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u0438\u043c yx_state\u00a0\u2014 \u0441\u0432\u043e\u0439 State Management \u0434\u043b\u044f Flutter<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/otus\/articles\/935384\/\" rel=\"noopener noreferrer nofollow\">Flutter: \u0418\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0443 Canvas\u2019\u0430 \u2014 \u0427\u0430\u0441\u0442\u044c 1<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/tulkity-kodogeneratsii-android-vs-ios.html\" rel=\"noopener noreferrer nofollow\">\u0422\u0443\u043b\u043a\u0438\u0442\u044b \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 Android vs iOS<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/towardsdev.com\/kmp-x-swift-how-to-use-swift-libraries-in-kotlin-multiplatform-with-google-sign-in-as-example-208f18b3c3d6\" rel=\"noopener noreferrer nofollow\">KMP x Swift: How to Use Swift Libraries in Kotlin Multiplatform (with Google Sign-In as Example)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@workflow094093\/one-line-flutter-hacks-that-instantly-improve-your-ui-ee7624d579c8\" rel=\"noopener noreferrer nofollow\">One-Line Flutter Hacks That Instantly Improve Your UI<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/itnext.io\/dynamic-loading-in-a-clean-architecture-kmm-engine-d4ef64e72adb\" rel=\"noopener noreferrer nofollow\">Dynamic Loading in a Clean Architecture KMM Engine<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/itnext.io\/beyond-print-levelling-up-your-flutter-logging-92313f9d18a8\" rel=\"noopener noreferrer nofollow\">Beyond print(): Levelling Up Your Flutter Logging<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.kamranbekirov.com\/blog\/google-fonts\" rel=\"noopener noreferrer nofollow\">Fix that Google Fonts glitch in Flutter apps<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/@tamilnambicse\/how-to-use-firebase-database-rules-with-flutter-test-vs-production-with-sample-code-and-rules-209b999a1c0a\" rel=\"noopener noreferrer nofollow\">How to Use Firebase Database Rules with Flutter: Test vs Production (with Sample Code and Rules)<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=KEsVNrzPf24\" rel=\"noopener noreferrer nofollow\">Swift Export &#8212; A Peek Under the Hood<\/a><\/p>\n<h3>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/surfstudio\/articles\/934110\/\" rel=\"noopener noreferrer nofollow\">\u00ab\u0427\u0451\u0440\u043d\u043e\u0435 \u0437\u0435\u0440\u043a\u0430\u043b\u043e\u00bb \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u043a\u0430\u043a \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/935534\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0435\u0442\u043a\u0438 \u0424\u0430\u0440\u0430\u0434\u0435\u044f \u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0438 \u0435\u0433\u043e \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0434\u0430\u0436<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/fsight\/articles\/933194\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u0432\u044b\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0427\u0430\u0441\u0442\u044c 2<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/932992\/\" rel=\"noopener noreferrer nofollow\">Kick: Kotlin Inspection &amp; Control Kit \u2014 \u0435\u0434\u0438\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/934644\/\" rel=\"noopener noreferrer nofollow\">\u0411\u0443\u0434\u0443\u0449\u0435\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 (\u043d\u0435) \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u043e: \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 VR \u0438 AR<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/keshirovanie-dlya-mobilnyh-prilozheniy-komu-zachem-kogda.html\" rel=\"noopener noreferrer nofollow\">\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439: \u043a\u043e\u043c\u0443, \u0437\u0430\u0447\u0435\u043c, \u043a\u043e\u0433\u0434\u0430?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/localization\/lokalizatsiya-prilozheniya-glazami-perevodchika.html\" rel=\"noopener noreferrer nofollow\">\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/ai-menyaet-vsyo-insaydy-ot-yandeksa-i-dzena.html\" rel=\"noopener noreferrer nofollow\">AI \u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u0441\u0451: \u0438\u043d\u0441\u0430\u0439\u0434\u044b \u043e\u0442 \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u0438 \u0414\u0437\u0435\u043d\u0430<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/matematika-v-osnove-ii-matritsy-tenzory-deep-learning.html\" rel=\"noopener noreferrer nofollow\">\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0418\u0418 \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u044b, \u0442\u0435\u043d\u0437\u043e\u0440\u044b, deep learning<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/javascript.plainenglish.io\/i-stopped-writing-ui-code-now-i-let-mcp-servers-build-my-interfaces-with-shadcn-190d0bf4a7db\" rel=\"noopener noreferrer nofollow\">I Stopped Writing UI Code. Now I Let MCP Servers Build My Interfaces with ShadCN<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/design-bootcamp\/top-ui-ux-trends-to-watch-in-2026-379a955ce591\" rel=\"noopener noreferrer nofollow\">Top UI\/UX trends to watch in 2026<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/deepdocs.dev\/ai-and-technical-debt-a-race-to-the-bottom\/\" rel=\"noopener noreferrer nofollow\">AI vs Technical Debt: Is This A Race to the Bottom?<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/medium.com\/indriver-tech\/building-a-crash-report-automation-for-ios-and-android-970c578b9fa1\" rel=\"noopener noreferrer nofollow\">Building a crash report automation for iOS and Android<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/jacob.blog\/how-i-never-forget-anything-as-a-staff-software-engineer-8874d89a4d70\" rel=\"noopener noreferrer nofollow\">How I never forget anything as a staff software engineer<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=AGHONAx8gjQ\" rel=\"noopener noreferrer nofollow\">How to Build Scalable AI Agents with Kotlin, Ktor &amp; Koog<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=OlAmyf8_4O4\" rel=\"noopener noreferrer nofollow\">Google Cloud Associate Cloud Engineer Course [2025]<\/a><\/p>\n<h3>\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<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/u-vas-slishkom-mnogo-metrik.html\" rel=\"noopener noreferrer nofollow\">\u0423 \u0432\u0430\u0441 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u0440\u0438\u043a<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/samye-skachivaemye-i-zarabatyvayuschie-prilozheniya-v-rossii-v-iyule-2025.html\" rel=\"noopener noreferrer nofollow\">\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 \u0438\u044e\u043b\u0435 2025<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/marketing-monetization\/10-tys-mrr-vot-chto-srabotalo-a-chto-net.html\" rel=\"noopener noreferrer nofollow\">$10 \u0442\u044b\u0441. MRR: \u0432\u043e\u0442 \u0447\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0430 \u0447\u0442\u043e \u043d\u0435\u0442<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/tinder-gotovit-redizayn-i-novye-fichi-dlya-uvelicheniya-vovlechennosti.html\" rel=\"noopener noreferrer nofollow\">Tinder \u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u0440\u0435\u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/cleverpumpkin\/articles\/934096\/\" rel=\"noopener noreferrer nofollow\">Stories \u0432 ecommerce-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445: \u043a\u0430\u043a \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u0446\u0441\u0435\u0442\u0435\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0434\u0430\u0436\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/935116\/\" rel=\"noopener noreferrer nofollow\">LTV \u0434\u043b\u044f \u0438\u043d\u0434\u0438-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u043a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u0436\u0438\u0437\u043d\u0435\u043d\u043d\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u0433\u0440\u043e\u043a\u0430 \u043f\u0440\u0438 \u043c\u0430\u043b\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/blog.stackademic.com\/i-made-a-100k-ios-app-apple-took-30-the-rest-went-to-bugs-and-burnout-0d9e8f3c1818\" rel=\"noopener noreferrer nofollow\">I made a $100K iOS App. Apple took 30%. The Rest Went to Bugs and Burnout.<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/appmagic.rocks\/research\/casual-report-h1-2025\" rel=\"noopener noreferrer nofollow\">Casual Games Report H1 2025: Three Genres Generating 80% of Revenue<\/a><\/p>\n<h3>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/h3>\n<p>\u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/934902\/\" rel=\"noopener noreferrer nofollow\">OpenAI \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a open-source: \u043e\u0431\u0437\u043e\u0440 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 GPT-OSS-120b \u0438 GPT-OSS-20b<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/933796\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u043c\u043c\u0438\u0432\u043e\u044f\u0436\u0435\u0440\u0430 (TSP) \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/sberbank\/articles\/935356\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u043e\u0431\u0443\u0447\u0430\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 GigaCode<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/vysokie-izderzhki-i-nizkaya-marzha-ugrozhayut-startapam-v-sfere-ii-programmirovaniya.html\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0441\u043e\u043a\u0438\u0435 \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043d\u0438\u0437\u043a\u0430\u044f \u043c\u0430\u0440\u0436\u0430 \u0443\u0433\u0440\u043e\u0436\u0430\u044e\u0442 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u043c \u0432 \u0441\u0444\u0435\u0440\u0435 \u0418\u0418-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/learn\/kurs-generativnyy-ii-dlya-nachinayuschih-s-javascript-ot-microsoft.html\" rel=\"noopener noreferrer nofollow\">\u041a\u0443\u0440\u0441 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0418\u0418 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0441 JavaScript\u00bb \u043e\u0442 Microsoft<\/a><br \/> \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/openmind-hochet-stat-android-dlya-robotov.html\" rel=\"noopener noreferrer nofollow\">OpenMind \u0445\u043e\u0447\u0435\u0442 \u0441\u0442\u0430\u0442\u044c Android \u0434\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u043e\u0432<\/a><\/p>\n<p>\u2190 <a href=\"https:\/\/habr.com\/ru\/articles\/933586\/\" rel=\"noopener noreferrer nofollow\">\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 \u043f\u043e\u0447\u0442\u0443.<\/p>\n<\/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\/935732\/\"> https:\/\/habr.com\/ru\/articles\/935732\/<\/a><br \/><\/br><\/br><\/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-470182","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/470182","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=470182"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/470182\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=470182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=470182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=470182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}