{"id":319981,"date":"2021-03-21T15:00:29","date_gmt":"2021-03-21T15:00:29","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=319981"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=319981","title":{"rendered":"\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 #386 (15 \u2014 21 \u043c\u0430\u0440\u0442\u0430)"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0435 \u0442\u0440\u043e\u044f \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435, \u0430\u0432\u0442\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 Android \u0438 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 Google Play, \u0431\u043e\u0440\u044c\u0431\u0430 \u0441 \u0447\u0438\u0442\u0435\u0440\u0430\u043c\u0438, \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0446\u0435\u043d\u0430 \u043f\u043e\u043a\u0443\u043f\u043e\u043a, Nest \u0441 \u0440\u0430\u0434\u0430\u0440\u043e\u043c \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>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zm\/v7\/z5\/zmv7z5bytgmwwrgji2bskpsbxmc.jpeg\"><a name=\"habracut\"><\/a><\/p>\n<p>  <b>\u042d\u0442\u043e\u0442 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0432\u0438\u0434\u0435 \u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0439 <a href=\"http:\/\/apptractor.us3.list-manage2.com\/subscribe?u=fbdb52f18301080a3cc983f4b&amp;id=bb7bc0a9c0\">\u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438<\/a>. \u0410 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0435\u043c \u0432 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5e\/k7\/bf\/5ek7bfhjzilma-pbharuioaa7lw.png\"><a href=\"https:\/\/t.me\/apptractor\">Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/a>.<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\"> <b>iOS<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/hh\/blog\/546856\/\">\u041f\u0430\u043c\u044f\u0442\u044c \u0432 Swift \u043e\u0442 0 \u0434\u043e 1<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/vivid_money\/blog\/547422\/\">\u041f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u0430\u0432\u0442\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 iOS. \u0427\u0430\u0441\u0442\u044c 4. \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0432 XCUITest<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/548086\/\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 JSON-\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0432 Swift (Codable)<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/kosta-eleftheriou-flicktype.html\">\u041a\u043e\u0441\u0442\u0430 \u042d\u043b\u0435\u0444\u0442\u0435\u0440\u0438\u0443, \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c FlickType, \u043f\u043e\u0434\u0430\u043b \u0432 \u0441\u0443\u0434 \u043d\u0430 Apple<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/aleksandr-zimin-istoriya-pobedy-v-telegram-contest-2021.html\">\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0417\u0438\u043c\u0438\u043d: \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043e\u0431\u0435\u0434\u044b \u0432 Telegram Contest 2021<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/biblioteka-xcodespy-zarazhaet-razrabotchikov-s-xcode-troyanom.html\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 XcodeSpy \u0437\u0430\u0440\u0430\u0436\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441 Xcode \u0442\u0440\u043e\u044f\u043d\u043e\u043c<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/analytics\/kolichestvo-rabotayuschih-v-ekonomike-ios-prilozheniy-v-evrope-vyroslo-na-7.html\">\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0432 \u00ab\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043a\u0435 iOS-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439\u00bb \u0432 \u0415\u0432\u0440\u043e\u043f\u0435 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043d\u0430 7%<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/swift-5-poleznye-protokoly-chtoby-pisat-kak-professional.html\">Swift 5: \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/itnext.io\/reverse-engineering-bluetooth-devices-82d868edec0c?gi=fd6ba53ad588\">\u0420\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 Bluetooth-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/swift2go\/how-to-reduce-and-optimise-the-ios-app-size-6e241f8817e4\">\u041a\u0430\u043a \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 iOS-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/lickability.com\/blog\/building-a-customizable-uitextfield-with-combine\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e UITextField \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Combine<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/functions-in-swift-5d8ee85f2de6\">\u0413\u043b\u0443\u0431\u043e\u043a\u043e\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 Swift<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/swift2go\/uicollectionview-list-with-interactive-custom-header-bf0cb4bb8482\">\u0421\u043f\u0438\u0441\u043e\u043a UICollectionView \u0441 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/yonivav.medium.com\/clean-swift-explanation-templates-3cade3d5e0ad\">\u0427\u0438\u0441\u0442\u044b\u0439 Swift: \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/aztristian.medium.com\/testing-ios-push-notifications-in-ci-cd-pipelines-2a9e79f7b622\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u0432 iOS \u0432 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430\u0445 CI\/CD<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/techhype.io\/?story=protocols-in-swift\">\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0432 Swift<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/implementing-swiftui-onchange-support-for-ios13-577f9c086c9\">\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 OnChange \u0432 SwiftUI \u0434\u043b\u044f iOS 13<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/xcodes-app.html\">Xcodes.app: \u043c\u043d\u043e\u0433\u043e Xcode \u043d\u0430 \u0432\u044b\u0431\u043e\u0440<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\"> <b>Android<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/546564\/\">\u0412\u044b\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0440\u044b\u043d\u043e\u043a Huawei, \u0438\u043b\u0438 \u041a\u0430\u043a \u043c\u044b \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 HMS<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/547138\/\">\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u0441 \u043d\u043e\u0432\u044b\u043c Kotlin Project Lead \u0420\u043e\u043c\u0430\u043d\u043e\u043c \u0415\u043b\u0438\u0437\u0430\u0440\u043e\u0432\u044b\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/yota\/blog\/546664\/\">\u0413\u043e\u0442\u043e\u0432\u044c\u0441\u044c, \u0446\u0435\u043b\u044c\u0441\u044c, \u043f\u043b\u0438! \u041a\u0430\u043a \u043d\u0435 \u043e\u0431\u0436\u0435\u0447\u044c\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 Gradle-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438 \u0432\u0441\u0451 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547986\/\">0x7E5 \u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u0433\u043b\u0430\u0432\u043d\u043e\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547446\/\">\u0411\u043e\u0440\u044c\u0431\u0430 \u0437\u0430 \u0436\u0438\u0437\u043d\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445. \u0418\u043b\u0438 \u043a\u0430\u043a \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0436\u0438\u0437\u043d\u044c Android \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/547390\/\">\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043c\u0438\u0442\u0430\u043f\u0430 \u0434\u043b\u044f \u0430\u043d\u0434\u0440\u043e\u0438\u0434-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432: \u043f\u043e\u0438\u0441\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0438, \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u043d\u0438\u0445 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Gradle<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/547160\/\">\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 Android 2020<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/547382\/\">Android \u2014 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0435\u043c\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/google\/blog\/547734\/\">\u041e\u0442 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u043a \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c: \u0432\u044b\u0432\u043e\u0434 \u0438\u0433\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/android-broadcast-sobesedovanie-v-pryamom-efire-2-livecoding-middle-android-dev.html\">Android Broadcast: \u0421\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u0440\u044f\u043c\u043e\u043c \u044d\u0444\u0438\u0440\u0435 \u21162. Livecoding. Middle Android Dev<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/android-broadcast-novosti-7.html\">Android Broadcast: \u043d\u043e\u0432\u043e\u0441\u0442\u0438 #7<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/plitki-v-wear-os-otkryli-dlya-vseh.html\">\u00ab\u041f\u043b\u0438\u0442\u043a\u0438\u00bb \u0432 Wear OS \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/google-snizhaet-komissiyu-play-do-15.html\">Google \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044e Play \u0434\u043e 15%<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/compile-less-with-solid-bd0633c1f84\">\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0439\u0442\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441 SOLID<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/plum-engineering\/leveraging-the-power-of-android-design-language-3e931bc4c58\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u0438\u0437\u0430\u0439\u043d-\u044f\u0437\u044b\u043a\u0430 Android<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/bring-your-application-to-life-6635e85cf601\">\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0436\u0438\u0437\u043d\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/blog.gojekengineering.com\/how-we-designed-a-component-leading-to-better-readability-scaling-and-testing-c7696a05fb10\">\u041a\u0430\u043a \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0432\u044b\u0441\u0438\u043b \u0443\u0434\u043e\u0431\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/android-grid\/10-mistakes-i-did-as-an-android-developer-but-you-should-not-5eab712a7df2\">10 \u043e\u0448\u0438\u0431\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u043a\u0430\u043a Android-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043d\u043e \u0432\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/better-handling-states-between-viewmodel-and-composable-7ca14af379cb\">\u041b\u0443\u0447\u0448\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 ViewModel \u0438 Composable<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/itnext.io\/create-a-multi-themes-app-in-android-99fb95e3414b\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0442\u0435\u043c\u0430\u043c\u0438 \u043d\u0430 Android<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/the-top-11-trending-kotlin-libraries-for-2021-71dc6d65af5a\">11 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Kotlin \u043d\u0430 2021 \u0433\u043e\u0434<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/create-android-studio-plugin-to-toggle-show-layout-bounds-part-1-91fd530d633a\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d Android Studio \u00abShow layout bounds\u00bb<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/lets-make-a-countdown-timer-app-using-android-compose-762cbdd16f3f\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043e\u0442\u0441\u0447\u0435\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Android Compose<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/tinder-like.html\">Tinder-Like: Tinder \u043d\u0430 Jetpack Compose<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/jetpack-release-tracker-2.html\">Jetpack Release Tracker: \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 AndroidX<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/segmentedprogressbar.html\">SegmentedProgressBar: \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441-\u0431\u0430\u0440 \u043a\u0430\u043a \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0445 Instagram<\/a><\/p>\n<p>  <img decoding=\"async\" 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 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/lightmap\/blog\/547562\/\">\u041f\u0435\u0440\u0432\u044b\u0435 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043b\u043e\u043c\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0441 \u0447\u0438\u0442\u0435\u0440\u0430\u043c\u0438 \u0432 PvP-\u0448\u0443\u0442\u0435\u0440\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/547500\/\">\u0414\u0435\u0442\u0441\u043a\u0438\u0435 \u0448\u0430\u043b\u043e\u0441\u0442\u0438: \u043a\u0430\u043a Roblox \u0441\u0442\u0430\u043b\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0434\u043e\u0440\u043e\u0433\u0438\u0445 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547436\/\">\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 PWA<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/badoo\/blog\/547196\/\">\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0427\u0430\u0441\u0442\u044c 2: \u043f\u0440\u0435\u0434\u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0448\u0430\u0433\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/yandex_praktikum\/blog\/547280\/\">\u041a\u0443\u0440\u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d. \u0410 \u0434\u0430\u043b\u044c\u0448\u0435 \u0447\u0442\u043e?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/546474\/\">\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u00ab\u041c.\u0412\u0438\u0434\u0435\u043e\u00bb: \u0442\u0435\u043b\u0435\u043f\u043e\u0440\u0442\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/rshb\/blog\/547192\/\">Flutter \u0432\u043e\u0442-\u0432\u043e\u0442 \u0437\u0430\u0432\u043e\u044e\u0435\u0442 Web<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547692\/\">\u041a\u0430\u043a \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/simbirsoft\/blog\/547470\/\">\u0421 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 Flutter \u0432 2021 \u0433\u043e\u0434\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547046\/\">\u0410\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e\u0434 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/zimbra\/blog\/547528\/\">\u041e\u0431\u0437\u043e\u0440 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Team<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/546562\/\">\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u0435\u0442\u0440\u0438\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/podlodka-207-debagging.html\">Podlodka #207: \u0434\u0435\u0431\u0430\u0433\u0433\u0438\u043d\u0433<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/flutter-dev-podcast-26-flutter-2-0.html\">Flutter Dev Podcast #26: Flutter 2.0<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/redmadrobot-otkryvaet-vesennyuyu-stazhirovku.html\">Redmadrobot \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0435\u0441\u0435\u043d\u043d\u044e\u044e \u0441\u0442\u0430\u0436\u0438\u0440\u043e\u0432\u043a\u0443<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/aurora-ui-novyy-vizualnyy-trend-na-2021-god.html\">Aurora UI: \u043d\u043e\u0432\u044b\u0439 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0435\u043d\u0434 \u043d\u0430 2021 \u0433\u043e\u0434<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/linearb.html\">LinearB \u00ab\u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442\u00bb \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/app-design-36.html\">\u0414\u0438\u0437\u0430\u0439\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439: \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043b\u044f \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u044f #36<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/verhnyaya-ili-bokovaya-panel-navigatsii-chto-luchshe-podhodit-dlya-vashego-produkta\/\">\u0412\u0435\u0440\u0445\u043d\u044f\u044f \u0438\u043b\u0438 \u0431\u043e\u043a\u043e\u0432\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438: \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430?<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/kak-uluchshit-ponimanie-interfeysa-s-pomoschyu-intuitivnyh-deystviy\/\">\u041a\u0430\u043a \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/printsipy-psihologii-kotorye-sleduet-znat-kazhdomu-produktovomu-dizayneru\/\">\u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u043c\u0443 \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/mayankmkh.medium.com\/kotlin-multiplatform-a-panacea-for-mobile-app-development-c41ffe850d1b\">Kotlin Multiplatform \u2014 \u043f\u0430\u043d\u0430\u0446\u0435\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/5-most-commonly-asked-questions-during-the-amazon-software-engineer-interview-c3c03a42a6e3\">5 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u0432 Amazon<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/codeburst.io\/visual-studio-code-extensions-to-enhance-productivity-in-2021-5418c688c19f\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Visual Studio Code \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 2021<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/levelup.gitconnected.com\/my-google-interview-experience-33dc45e1a671\">\u041c\u043e\u0439 \u043e\u043f\u044b\u0442 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Google<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/danielebaroncelli.medium.com\/the-future-of-apps-declarative-uis-with-kotlin-multiplatform-d-kmp-part-1-3-c0e1530a5343\">\u0411\u0443\u0434\u0443\u0449\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439: \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 UI \u0438 Kotlin MultiPlatform<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/techhype.io\/?story=how-to-make-ui-sounds-for-games\">\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c UI-\u0437\u0432\u0443\u043a\u0438 \u0434\u043b\u044f \u0438\u0433\u0440\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/ravindraelicherla.medium.com\/10-design-patterns-every-software-architect-must-know-b33237bc01c2\">10 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/googleplaydev\/ux-tips-to-optimize-in-app-purchases-in-games-27ff7ab9625a\">UX-\u0441\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043a\u0443\u043f\u043e\u043a \u0432 \u0438\u0433\u0440\u0430\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/www.howtodeal.dev\/\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0440\u0443\u0434\u043d\u044b\u043c\u0438 \u043b\u044e\u0434\u044c\u043c\u0438 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/uxdesign.cc\/teslers-law-this-is-why-you-cannot-make-ux-any-simpler-d4c0706686a5\">\u0417\u0430\u043a\u043e\u043d \u0422\u0435\u0441\u043b\u0435\u0440\u0430. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c UX \u043f\u0440\u043e\u0449\u0435.<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/levelup.gitconnected.com\/my-3-biggest-failures-as-software-developer-6c16a171eaaf\">\u041c\u043e\u0438 3 \u0441\u0430\u043c\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u0438 \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/5-ways-to-increase-your-software-development-speed-2ea989d8d8cc\">5 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/4-unusual-ways-to-improve-your-programming-skills-dbdc7864a5f4\">4 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043d\u0430\u0432\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/crack-coding-interviews-by-building-these-5-real-world-features-4089058d7b0e\">\u0412\u0437\u043b\u0430\u043c\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u0434-\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u0438\u0445 5 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/a><br \/>  <a href=\"https:\/\/medium.com\/techtofreedom\/top-5-mistakes-i-made-when-i-was-a-newbie-in-programming-d8cef4112971\">5 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u043b, \u043a\u043e\u0433\u0434\u0430 \u0431\u044b\u043b \u043d\u0443\u0431\u043e\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/clone-wars.html\">Clone Wars: \u043a\u043b\u043e\u043d\u044b \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\"> <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 <a href=\"https:\/\/apptractor.ru\/marketing-monetization\/marketologi-v-mobayle-maksim-shaternik-gameloft.html\">\u041c\u0430\u0440\u043a\u0435\u0442\u043e\u043b\u043e\u0433\u0438 \u0432 \u043c\u043e\u0431\u0430\u0439\u043b\u0435: \u041c\u0430\u043a\u0441\u0438\u043c \u0428\u0430\u0442\u0435\u0440\u043d\u0438\u043a (Gameloft)<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/measure\/user-analytics\/mytacker-integrirovalsya-s-google-admob.html\">myTracker \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0441 Google AdMob<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/mobile-people-talks-analiziruy-eto-analitika-mobilnyh-prilozheniy.html\">Mobile People Talks: \u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439 \u044d\u0442\u043e \u2013 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/kak-my-delaem-sleepy.html\">\u041a\u0430\u043a \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c Sleepy: \u043c\u043e\u043d\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u044f \u0438 paywall<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/techhype\/hi-marley.html\">Hi Marley: \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u0449\u0435\u043d\u0438\u0435<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/gucci-nachinaet-prodazhi-virtualnyh-krossovok.html\">Gucci \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u0440\u043e\u0441\u0441\u043e\u0432\u043e\u043a<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/srednyaya-tsena-na-pokupki-v-prilozheniyah-vyrosla-na-50-s-2017-goda.html\">\u0421\u0440\u0435\u0434\u043d\u044f\u044f \u0446\u0435\u043d\u0430 \u043d\u0430 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u043d\u0430 50% \u0441 2017 \u0433\u043e\u0434\u0430<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/apple-soglasilas-na-predustanovku-rossiyskih-prilozheniy.html\">Apple \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/measure\/user-analytics\/osnovnyie-metriki-mobilnyih-prilozheniy.html\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\"> <b>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/546260\/\">\u0412\u0438\u0434\u0435\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u00ab\u041c.\u0412\u0438\u0434\u0435\u043e-\u042d\u043b\u044c\u0434\u043e\u0440\u0430\u0434\u043e\u00bb: 30 000 \u043a\u0430\u043c\u0435\u0440, 1 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/547620\/\">Bluetooth Low Energy: \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0433\u0430\u0439\u0434 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445. Bluetooth Mesh<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/devices\/google-vypuskaet-novyy-nest-hub-s-radarom.html\">Google \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 Nest Hub \u0441 \u0440\u0430\u0434\u0430\u0440\u043e\u043c<\/a><\/p>\n<p>  &lt; <a href=\"https:\/\/habr.com\/ru\/company\/productivity_inside\/blog\/546984\/\">\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<p> \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\/company\/productivity_inside\/blog\/548148\/\"> https:\/\/habr.com\/ru\/company\/productivity_inside\/blog\/548148\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0435 \u0442\u0440\u043e\u044f \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435, \u0430\u0432\u0442\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 Android \u0438 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 Google Play, \u0431\u043e\u0440\u044c\u0431\u0430 \u0441 \u0447\u0438\u0442\u0435\u0440\u0430\u043c\u0438, \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0446\u0435\u043d\u0430 \u043f\u043e\u043a\u0443\u043f\u043e\u043a, Nest \u0441 \u0440\u0430\u0434\u0430\u0440\u043e\u043c \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>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zm\/v7\/z5\/zmv7z5bytgmwwrgji2bskpsbxmc.jpeg\"><\/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-319981","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319981","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=319981"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319981\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=319981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=319981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=319981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}