mobile it
  • Application domain modeling
    #domain #architecture #kotlin #swift #multiplatform

    Application domain modeling

    Software projects are about telling computers what people want to do. Programmers are the ones who speak the computer language, but ordinary people aren't predestined to think and communicate the way a computer does. They are usually good at telling what they want to achieve and what is the...
  • Architecture tests with ArchUnit, pt. 1: Reasons
    #architecture #jvm #tdd #android

    Architecture tests with ArchUnit, pt. 1: Reasons

    Good architecture is essential for a codebase to enjoy a long and happy life (the other crucial ingredient is running automated unit tests, but that’s a different blog post). Nowadays there are many sensible options, including our favorite for mobile apps, Clean arch, but no matter which...
  • Architecture tests with ArchUnit, pt. 2: Rules
    #architecture #jvm #tdd #android

    Architecture tests with ArchUnit, pt. 2: Rules

    In the first part of this series, we’ve had a glimpse of an architecture test written with the almighty ArchUnit, but of course there’s much more! Although ArchUnit’s API looks like Java Reflection API, it also contains powerful constructs to describe dependencies between code or...
  • Architecture tests with ArchUnit, pt. 3: Advanced stuff
    #architecture #jvm #tdd #android

    Architecture tests with ArchUnit, pt. 3: Advanced stuff

    ​​​ArchUnit has many tricks up to its sleeve. We’ve already seen how to check package structure, language elements such as classes, fields, and methods, and how to make sure your layered architecture is sound. But there’s more! Let’s take a look at some advanced conce​pts. As we’ve...
  • Architecture tests with ArchUnit, pt. 4: Extensions & Kotlin support
    #architecture #jvm #tdd #android #kotlin

    Architecture tests with ArchUnit, pt. 4: Extensions & Kotlin support

    ​ArchUnit is immensely capable on its own and that's a great merit on its own, but it doesn’t stop there—ArchUnit’s power can be augmented by adding custom matchers, language elements, and even whole new concepts. In this post, we’ll look at how we can achieve that and then we’ll see if...
  • Development rules for better productivity
    #productivity #team-collaboration #architecture #automation

    Development rules for better productivity

    ​Each project has its own rules for development. Most often, these rules describe development practices and work with a version control system (VCS) that outlines how to test and deploy the product, the structure, the architecture of the project, and the code style, but the rules can also...
  • Truce with fragments
    #architecture #android #jetpack

    Truce with fragments

    ​​​Once upon a time, one could write an entire Android app in a single humongous activity. Google provided us with a bunch of fairly low-level building blocks and basically no guidance on how to use them together in a maintainable and scalable way. (“So you want to build a house? Here is a shovel,...
  • SwiftUI and Architecture: State
    #swiftui #architecture #state

    SwiftUI and Architecture: State

    A new era has come to the mobile world. At least in the context of UI frameworks. What does this mean for your project? Will your architecture stand strong and allow for incremental adoption? Or will you have to resort to complete rewrite? The cornerstone of user interface development for iOS...
  • Architectural missteps in view, presentation, and navigation
    #architecture #view #presentation #navigation

    Architectural missteps in view, presentation, and navigation

    ​​Every system and architecture tackles the test of time. It's an unfair battle, almost impossible to win. That doesn't mean we should surrender and hack unsustainable components without the ambition of longevity. We must develop them to deal with this challenge gracefully and try to defer the...