Best of Android2024

  1. 1
    Article
    Avatar of dhhDavid Heinemeier Hansson·2y

    Living with Linux and Android after two decades of Apple

    Switching from Apple to Linux and Android offers a refreshing change and new opportunities. Embracing an open-source operating system can provide greater flexibility, customization, and a renewed sense of discovery in both software and hardware. This transition can lead to exploring tools like Neovim, Framework laptops, and customizable Android launchers, enriching the user experience beyond the Apple ecosystem.

  2. 2
    Article
    Avatar of tilThis is Learning·2y

    7 Open Source Projects You Should Know - Java Edition ✔️

    Discover seven notable open-source projects written in Java, spanning various domains from Android testing (Robolectric) to distributed search engines (Elasticsearch and OpenSearch), to IoT platforms (ThingsBoard). Each project includes a brief overview, key features, and starter guides, making them great for both potential use and contribution.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    The Decline Of Mobile Development

    Mobile development for Android and iOS has become increasingly frustrating due to frequent OS updates requiring new compliance measures that complicate codebases. Developers face restrictive actions if their apps aren't updated in time, taking away from feature development and inflating costs. Many developers find the constant hoop-jumping and convoluted design patterns discouraging, leading them to switch to web development where they can build faster with fewer constraints. Google and Apple's control over app ecosystems and mandatory in-app purchases further dissuade developers. As a result, many are leaving mobile development in favor of the web.

  4. 4
    Article
    Avatar of flutterFlutter·1y

    What’s new in Flutter 3.27

    Flutter 3.27 introduces significant updates and features, including enhancements to Cupertino widgets, the introduction of Impeller as the default rendering engine for modern Android devices, and new options in DevTools to streamline app management. This release also brings improvements in performance, fidelity, and theming across the Flutter framework for better development consistency.

  5. 5
    Article
    Avatar of medium_jsMedium·2y

    Kotlin MultiPlatform (KMP)

    Learn about setting up the environment for Kotlin MultiPlatform development, the structure of a KMM project, and using coroutines in iOS.

  6. 6
    Article
    Avatar of medium_jsMedium·2y

    What’s new in Flutter 3.22

    Flutter 3.22 introduces new features such as WebAssembly, graphics rendering enhancements, and more options for AI integration. The Impeller rendering engine has significant updates, including a feature complete Vulkan backend on Android. Other improvements include widget state properties, dynamic view sizing, improved form validation, and flavor-conditional asset bundling. The release also includes updates for Android, iOS, ecosystem, and DevTools.

  7. 7
    Article
    Avatar of devtoDEV·2y

    Digging Deep to Find the Right Balance Between DDD, Clean and Hexagonal Architectures

    Choosing the right architecture for software can be challenging. The author shares their journey and practical experiences in balancing Clean Architecture, Domain-Driven Design (DDD), and Hexagonal Architecture in their project, TimeMates. Key highlights include ensuring the separation of concerns, maintaining a consistent mental model, and reusing value objects effectively while avoiding unnecessary boilerplate. The post emphasizes the importance of practical implementation over theoretical adherence and encourages developers to use critical thinking tailored to their specific needs.

  8. 8
    Article
    Avatar of medium_jsMedium·2y

    Advanced Kotlin Coroutine Cheat sheet (for Android Engineer)

    This cheat sheet provides advanced insights and best practices for using Kotlin Coroutines in Android development. Key elements like CoroutineContext, Job, Dispatcher, and CoroutineScope are thoroughly explained. It covers essential concepts such as coroutine builders, dispatcher selection, and how to manage parallel execution and cancellation of coroutines. Additionally, it offers practical advice on avoiding synchronization issues and optimizing performance.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    How we developed our addictive and delightful widget

    Duolingo has developed a colorful smartphone widget to help learners maintain their language learning habit by providing visual reminders of their streak progress. Initially conceptualized during a hackathon following the iOS 14 widget update, the widget aims to motivate action through simplicity and Duo's engaging personality. Its effectiveness in improving user retention prompted further iterations and promotions. Duolingo has expanded the widget’s availability to Android and continues to explore new designs and functionalities to keep it distinct and engaging for users.

  10. 10
    Article
    Avatar of hnHacker News·2y

    niedev/RTranslator: RTranslator is the world's first open source real-time translation app.

    RTranslator is a nearly open-source, offline real-time translation app for Android. It allows seamless conversation translation using Bluetooth headsets and phones, ensuring privacy by running AI models directly on the device. The app supports multiple languages and works in various modes, including conversation and walkie-talkie. It requires at least 6GB of RAM for optimal performance. The app is free, with no need for configuration, using Meta's NLLB for translation and OpenAI's Whisper for speech recognition.

  11. 11
    Article
    Avatar of kotlinKotlin·2y

    Celebrating Kotlin 2.0: Fast, Smart, and Multiplatform

    Kotlin 2.0 is released with a stable K2 compiler, multiplatform support, and improved code analysis. It has gained popularity among developers and major companies like AWS, Adobe, Atlassian, and Google. Kotlin Multiplatform allows sharing code across various platforms and has seen significant adoption. The release introduces the K2 compiler, which unifies all platforms and improves compilation speed. IntelliJ IDEA's K2 mode offers faster code highlighting and completion. The new compiler understands code better and introduces new features. Kotlin 2.0 is a high-quality release focused on data recognition, abstraction, high-performance code, and library author experience.

  12. 12
    Article
    Avatar of androiddevAndroid Developers Blog·2y

    Android Device Streaming, powered by Firebase, is now in Beta

    Android Device Streaming, powered by Firebase, allows Android developers to access real physical devices, such as the latest Pixel and Samsung devices, through Android Studio. It provides secure connections and familiar tools for testing and debugging apps on real OEM hardware. The service offers a catalog of devices with flexible pricing options, and future updates will expand device selection.

  13. 13
    Article
    Avatar of communityCommunity Picks·1y

    Google Open Source

    Google leverages open source to fuel innovation and share their advancements. Explore their featured projects like Android, Kubernetes, TensorFlow, and many more. Each project supports various technologies and aims to enhance user experience, streamline developer workflows, or manage complex systems. From operating systems and development tools to data processing and machine learning platforms, Google’s open source projects cater to diverse needs.

  14. 14
    Article
    Avatar of pandProAndroidDev·2y

    Stop throwing exceptions!

    In Kotlin, it's recommended to avoid throwing exceptions and instead handle error scenarios using try/catch expressions, result objects, and functional programming paradigms. The default usage of try/catch is criticized for reducing readability and maintainability. The post suggests Kotlin's built-in Result class for better error handling, providing examples of how to wrap operations in Result objects and handle errors more effectively. This approach promotes cleaner, more testable code without relying on exceptions.

  15. 15
    Article
    Avatar of collectionsCollections·2y

    Google to Remove Low-Quality Android Apps from Play Store Starting August 31st

    Google is set to enforce stricter quality standards for Android apps on the Play Store starting August 31, 2024. Apps which frequently crash, lack adequate content, or are otherwise unresponsive may be removed. This initiative aims to enhance user experience and maintain a high-quality app ecosystem. Developers must ensure their apps meet these new standards to avoid removal or restrictions.

  16. 16
    Article
    Avatar of medium_jsMedium·2y

    Flutter App Intro/Onboarding Screen with Carousel & Animated Dots — NO Package

    Learn how to create an onboarding page with a carousel and animated dots in a Flutter app.

  17. 17
    Article
    Avatar of thevergeThe Verge·2y

    Microsoft launches a Windows app for iPhones, Macs, and Android devices

    Microsoft has launched a new Windows app for a variety of platforms including macOS, iOS, web browsers, Android, and Windows PCs. This app allows users to stream a copy of Windows from sources like Windows 365 and Azure Virtual Desktop. The app includes features such as a customizable home screen, multi-monitor support, and USB redirection. It is limited to Microsoft work and school accounts and is designed to transition existing Remote Desktop clients. The app is available on the Microsoft Store, Apple’s App Store, and Android's public preview today.

  18. 18
    Article
    Avatar of hnHacker News·2y

    Google has another secret browser

    Discover a secret browser within Google Play Services that bypasses both Google's parental control and the lock-down mode. Learn how to access this browser through the Contacts app and how it bypasses Android's screen pinning feature.

  19. 19
    Video
    Avatar of philipplacknerPhilipp Lackner·2y

    The ONLY Correct Way to Load Initial Data In Your Android App?

    The post discusses various methods to load initial data in Android apps, evaluating three main approaches: using the Jetpack Compose launched effect, initializing in ViewModel's init block, and leveraging flow collection. Each method's benefits and drawbacks are examined, highlighting a newly preferred approach using flow collection for improved control and testing.

  20. 20
    Article
    Avatar of pandProAndroidDev·1y

    Design User Authentication System in Android App

    Designing a user authentication system in an Android app is crucial for ensuring security, personalization, data integrity, and access control. The post covers various authentication methods including password-based, biometric, and two-factor authentication, along with third-party services like Firebase Authentication, Google Play Integrity API, and Auth0. It provides detailed implementation guides for integrating these services into Android apps and discusses rate limiting as an essential security measure.

  21. 21
    Article
    Avatar of medium_jsMedium·2y

    Kotlin Lazy vs Lateinit Explained

    The post explains the differences between lazy and lateinit property initializers in Kotlin. Lazy initialization is used for immutable properties (val), ensuring they are initialized when first accessed, which can help with resource management. Lateinit is used for mutable properties (var) and must be initialized before use to avoid runtime exceptions. The post also discusses when to use these initializers, provides code examples, and touches on advanced concepts like using delegates for primitive types.

  22. 22
    Article
    Avatar of thnThe Hacker News·2y

    Google's Shift to Rust Programming Cuts Android Memory Vulnerabilities by 52%

    Google's transition to memory-safe languages like Rust has significantly reduced memory vulnerabilities in Android, dropping from 76% to 24% over six years. The company highlights that adopting Safe Coding principles and focusing on new memory-safe code over rewrites makes the approach scalable and cost-effective. Additionally, Google's strategy includes offering interoperability between Rust, C++, and Kotlin, aiming for a paradigm shift in coding practices to enhance security.

  23. 23
    Video
    Avatar of davidbombalDavid Bombal·2y

    Reverse Engineering 101 tutorial with the amazing Stephen Sims!

  24. 24
    Article
    Avatar of communityCommunity Picks·2y

    How to implement push notifications in React Native (Android)

    Learn how to implement push notifications in a React Native Android app using OneSignal. Steps include setting up a Firebase project, configuring OneSignal, and adding necessary code and permissions in the React Native app. OneSignal offers features like segmentation, automation, and A/B testing, making it a powerful tool for user engagement.

  25. 25
    Article
    Avatar of streamStream·2y

    Build a React Native Livestreaming App: A Step-by-Step Guide

    Learn how to build a React Native livestreaming app that allows people to interact, chat, and watch events together. The tutorial covers creating a new React Native app, installing the Stream's Video SDK and peer dependencies, configuring iOS and Android specific settings, broadcasting a livestream from an iOS/Android device, rendering the host's video, and running the app on iOS and Android devices.