Join our App Developer Master Course

Use Java and Kotlin to create marvellous apps for Android and iOS


Do you need to get your Android App to iOS?

  • Are you worried about rebuilding your Android app from scratch for iOS?
  • Save time and effort using our free tools and step by step process.
  • You will be able to share much of your Android code with iOS.


What is the goal of the course?

Who is the course for?

About the instructor

What is not a goal?

How is the course structured?


Course Content

Part 1: Porting an Android app to iOS

Part 2: Development of a new app

Private Forum

Video library


Further information

Webinar dates

Used technologies


React Java Early Access

Personal Consulting

100% Satisfaction Warranty



What is the goal of the course?

  • To teach how to develop Marvellous apps the most efficient way
  • Android and iOS
  • Multi-platform app development (code reuse)
  • Based on Java (Kotlin, Scala, Clojure ... etc. as well)

What is not the goal?

  • Non goal: teaching the Java language
    • We assume that you already know the language
  • Non goal: Show as many different Android or iOS feature as possible
    • We teach reliable solutions from selected  components
    • You will be able to learn new tools and techniques on your own

About the instructor

  • Gergely Kis (CTO / co-owner, Migeran)
    • My mission: To help developers in creating marvellous apps by teaching the best methods and tools of efficient app development.
  • Embedded, web, enterprise és desktop projects
  • The original creator, architect and project lead of Multi-OS Engine
  • Led a development team for 6 years working on Google V8 for the MIPS architecture.

Who is the course for?

  • For Java developers 
    • If you are studying to become a developer
    • Or you are already working as a developer
  • Kotlin, Scala, Clojure ... etc. developers as well
  • Mobile development experience is not required

What is required for the course?

  • Computer capable of running MacOS Sierra or Windows 10 
    • CPU capable of virtualization
    • 8 GB RAM
    • 200 GB space
  • 1 Android and 1 iOS device (either tablet or phone)
  • Good quality internet connection
  • We use MacOS in the presentation, but we show the differences on Windows as well

How is the course structured?

  • Online live webinars
  • Step by step walkthrough of two complete development projects  
    • Porting of an existing Android app to iOS
    • The development of a new multi-platform app
  • All webinars recorded - re-watch any time
  • Production quality source code
  • Private forum

1. Setup development environment 

  • Install Android development environment
  • Install iOS development environment
  • Remote iOS build setup on Windows
  • Multi-OS Engine setup
  • Creation of the first multi-platform app
  • Run and debug on iOS and Android
  • Goal: Get to know the basic development methods and tools

2. Preparation of porting the Android app

  • Introduction of the Software Engineering Daily App
  • Run Migeran Analyzer
    • Examine the Analyzer report
  • Create porting plan
  • Create new project structure
  • Goal: Preparation of the Porting Plan, start of refactoring

3. Setup multi-platform architecture

  • Use of RxJava 2 in a multi-platform project
  • Dagger based IoC container
  • Design of platform-interfaces
  • Refactoring of platform-dependent components
  • Goal: the refactored project should have equivalent functionality with the original Android version

4. Development of the iOS module

  • Implement the previously defined platform-interfaces for iOS
  • Design and implementation of the iOS UI
  • Use iOS libraries with Nat/J
  • Create new iOS binding with the Nat/J Generator
  • Goal: Fully functional app on Android and iOS.

5. CI/CD system setup

  • Gerrit based Code Review install
  • Jenkins based CI / CD system setup
  • Automated builds on Android and iOS
  • Automated tests: JUnit, Cucumber and Appium
    • Publish verified builds to testers
  • Goal: automated development process, trusted builds. 

6. Prepare for production release

  • ProGuard setup
  • Checking App Store requirements
  • Profiling, finding and fixing memory leaks
  • Reduce size of the final app
  • Upload to the App Store
  • Goal: The finished app is available from the app store

Course Part 2: Development of a new app

7. Design of the multi-platform app

  • Requirement analysis
  • Design of the software architecture
  • Create the error handling strategy
  • Project- and version tracking, CI/CD system setup
  • Create skeleton project (mobile app, backend) 
  • Goal: Get ready for development

8. Data model and backend

  • Implement the App Backend
  • Use the data model from the mobile device
  • Build a simple user interface (CRUD) on mobile
  • Error handling, identification, access control
  • Goal: Data can be stored and accessed on the server and on the mobile device.

9. Offline mode support

  • Data storage on mobile device
    • Sqlite, Realm and Couchbase - how do we decide?
  • Separate the data storage layer for easy replacement
  • Automatic synchronisation with the server side
  • Error handling: interrupted sync, handling inconsistent states
  • Goal: The app should be capable of offline mode support

10. Multi-platform UI

  • Differences between Android and iOS UI
    • Consistent user experience on Android and iOS
  • Minimize platform dependent UI code
  • Create platform-independent automated user tests.
  • Error handling, communicating error cases to the user.
  • Goal: Functional app on Android and iOS

11. Analytics and tracking

  • Google Analytics
  • Firebase
  • / Crashlytics
  • Goal: Track the released apps in production for errors and usage habits.

12. Summary

  • Overview of the whole training.
  • Analyse other apps
  • Q & A
  • Goal: You are now able to create marvellous multi-platform apps.
  • 2018-01-12: 1. Setup development environment
  • 2018-01-19: 2. Preparation of porting the Android app
  • 2018-01-26: 3. Setup multi-platform architecture
  • 2018-02-02: 4. Development of the iOS module
  • 2018-02-09: 5. CI/CD system setup
  • 2018-02-16: 6. Prepare for production release
  • 2018-02-23: 7. Design of the multi-platform app
  • 2018-03-02: 8. Data model and backend
  • 2018-03-09: 9. Offline mode support
  • 2018-03-16: 10. Multi-platform UI
  • 2018-03-23: 11. Analytics and tracking
  • 2018-03-30: 12. Summary

Technologies and tools used in the Course

Programming languages

  • Java
  • Kotlin
  • Objective-C
  • Swift

Development tools

  • Multi-OS Engine
  • Xcode
  • Android Studio and Intelli/J
  • Eclipse
  • Gradle and Bazel
  • Visual Studio Code

Additional parts of the course?

Private Forum

  • Private Forum only for training participants
  • Share your experience and successes with the other participants
  • Ask any question you have
  • We answer every question

Video library

  • Every live webinar is recorded
  • The webinars are edited and broken up into short topics
  • Any topic can be found quickly for re-watching
  • The source code related to each topic is available separately in the Git repository


Bonus: React Java Early Access

  • Exclusive offer
  • Be among the first to try React Java
  • You will get access to the React Java Early Access version
  • We will introduce its use in a separate, bonus webinar

Bonus: Private Personal Consultation

  • Exclusive offer
  • 1 hour personalised project consultation with Gergely Kis over Skype
  • Any question, challenge about your project
  • Only for those who register until 2017-12-31

100% satisfaction guarantee

If you are not completely satisfied with the course, then you may ask for a full refund until 2018-01-31. 

Registration is Closed

The Master Course registration is currently closed. Please sign up to get notified when we open the registration again.


App Developer Master Course Invitation


Thank you for your interest in the App Developer Master Course.

Please fill out the form with your First Name and Email address.

We will keep you updated about the program so you will be the first to know when the registration opens.