Posts

Showing posts from August, 2021

iOS: How To Solve The Maximum Of Apps For Free Development Reached?

Who is Affected By This? For those of you who are running your apps on a physical device and are using a free Apple account. What's the Problem? Apple has recently introduced a new headache for learner developers by limiting the number of apps you can side load on your physical device to 3 per week. The Solution The easiest solution is to simply delete the existing apps you've got on your iPhone/iPad. Alternatively you can  create a new Apple ID  and go through the laborious process of adding this account into Xcode.

Architecture For iOS & Android Apps: MVI - The Model-View-Intent in SwiftUI and Android Apps

What is Model-View-Intent (MVI) Patterns? MVI belongs to the Model-View-* architectural design patterns. Model-View-* family includes: Model-View-Controller (MVC) Model-View-Presenter (MVP) Model-View-View-Model (MVVM) Model-View-Intent (MVI) MVI is similar to Model-View-Presenter but with added Intents. This MV* pattern can be use in the presentation layer of a Layered Architecture designs. The controller defines functionality that can communicate with other layers of a project. For example a controller can query or persist something to the database-layer via Interactors. The Presenter is a controller but with a state that a view can observe. A ViewModel is a presenter too. MVI evolves from MVP. MVVM evolves from MVP. MVP evolves from MVC. You can checkout my code example at  Re-architect MVVM to MVI

Common Mistakes That Java Developers Make

 In my 13 years experience in the software industry, I've seen this mistakes done by other programmers: Long methods - A method that does a lot. Long switch and if statements. Long method names, variable names, class names, interface names. A method that has too many parameters. Not checking null variables. A class that contains public modifiable variables. Ignoring exceptions. Logs in release versions. Not using generic types when using collections. Not closing IO Lots of singleton classes. Lots of static public methods. Are you making those mistakes too? Learn code refactoring then and check if the builds are release or debug versions when making logs. Client should not see any debugging or error logs from your app. Things you should learn: How to extract statements. How to extract methods. How to give variables, functions and classes a meaningful names. Design patterns. Basic OOP concept

How To Develop Android Apps or Modules Without IDE (Android Studio | IntelliJ)

Image
Virtually all Android projects are created with Android Studio or IntelliJ IDEA. That isn't great for learning because you will not understand how things work such as components that make up an Android projects, how build are setup and configured, etc. Why would anyone wants to develop Android apps or modules without Android Studio? There are several possible reasons. Android Studio consumes lots of memory and works slowly on many computers or Macs, The Android Studio no longer supports the AGP of the project and you cannot upgrade the AGP anymore since it'll breaks the project dependencies. Disclaimer:  This guide is provided "as is" with no warranties with regard to the accuracy and completeness of the information provided herein. I expect you to have an inquisitive mind to try things out, and the patience to first google and try to find answers to simple questions. Understanding The Android P