What actually is TDD (Test Driven Development) ? Is TDD Dead? Do you associate this term for when Tests actually Drive Development, or use the label TDD for the practice of ensuring code coverage by having units tests? TDD can be taken to mean different things than the original meaning, and there are some risks… Continue reading TDD or Not TDD? That is the question!
Python data classes are a new feature in Python 3.7, which is currently in Beta 4 and scheduled for final release in June 2018. However, a simple pip install brings a backport to Python 3.6. The name dataclass sounds like this feature is specifically for classes with data and no methods, but in reality, just… Continue reading Python dataclasses: A revolution
With Kotlin the term 'DSL' has taken on a specific meaning, and that more specific meaning is explored in another page on Kotlin DSLs like kotlinx.html and how to write them. DSL methodology is a key reason that the capabilities of a language to write domain specific extensions to the language becomes important. This page… Continue reading DSL Methodology: A key software concept.
Previously, we talked about how to share code across platforms in kotlin world. But as your code base grows, you will encounter a scenario where some code in the projects is cross, but some other is platform specific, so will not be shared and there may be a version of this code for any or… Continue reading Kotlin multi-platform projects structure
When you try to deal with the across platform codes, you need to solve 2 things, one is what to share, the other is the architecture of how to share the code. Different languages have different techniques to the second problem, but in Kotlin, you can use multiplatform projects to share the code. With kotlin… Continue reading Kotlin code sharing among platforms
We have been looking at Kotlin Native (KN) as a viable solution for mobile development, and as a competitive solution to those like Xamarin - or to completely separate developments for iOS and Android. To be a viable mobile solution in general requires Kotlin Native(KN) to be workable for iOS as first announced On my… Continue reading Evaluation of Kotlin Native for mobile: January 2018
(note: proof edits pending) Gradle a very well known building tool, originating in JVM world, but spreading to wider and wider use. A building tool is designed to automate workflows, particularly for building programs but in fact can automate any workflow iincluding building, linting, testing, pushing and much more to make your life easier. Sometimes… Continue reading Starting with gradle, creating a simple build.gradle