DEV Community

Discussion on: Introducing MobileUI

Collapse
 
aneudysamparo profile image
Aneudys Amparo

I’m really impressed about MobileUI, interesting one. But I have the same question but directly to Flutter.
So, why should I choose MobileUI over Flutter, and specifically when your framework work is closed and Flutter is Open Source?

Understanding Dart programming language is not difficult for a Java Developer.

Just to know.

Thanks.

Collapse
 
dthommes profile image
Dr. Daniel Thommes • Edited

Hi Aneudys,

thanks for the question. Let's start with Dart: I think, Dart's syntax is similar to Java like it's similar to C#, Typescript or JavaScript and many other C-like languages. No problem for a Java-dev! But when you are considering similarity, you must also compare the ecosystem. For me as a Java developer, it is super-important, that the given runtime has most of the standard APIs that are defined by the JDK. Why? I know how to fetch a file from a server, I know how to manipulate Strings, I know how to start a Thread pool. I have to learn all these approaches from scratch, if I am switching languages and SDKs. And that is happening when switching from Java to Dart.

But the problem even applies to technologies, that support Java or Kotlin as programming languages and don't have the Java SDK. Examples are GWT or Kotlin Native. As a result, you cannot reuse existing libraries. And you are cut from the 17 Mio. libraries that are available in Maven repos today - most of them open source!

Another thing about Dart: As of today, it's not feasible to use Dart on the server. One advantage of Java and Kotlin is, that with our approach, they become full-stack technologies. You can reuse libraries between backend and frontend. We have productive projects, where we reuse data models (ORM), components and DI-containers (Micronaut) on mobile and the corresponding backend 1:1. It's amazing as it saves a lot of development and maintenance effort.

How about open source? So, we currently are not open source with our product. That's true. But huge parts of the system we are running on are. The Android native SDK is open source. RoboVM is open source and we are contributing to the project.

I think, the question is: Why are we not cost-free? And the answer is: We give support to our customers. And we need some kind of revenue so that we can further improve and extend our software. It's a pitty, but we don't have a well running search engine or cloud business model in the back that pays the bills 🤷.

But when considering your cost of the product, please also consider your time ⏱. Flutter and other technologies are only free, if your learning and practice time does not cost anything. With MobileUI, as a Java or Android developer you save so much of it. And if that counts, we are confident that you will love MobileUI 😁!

P.S.: I forgot to mention: I personally don't like Flutter's cross-platform approach with switching between Material and Cupertino widgets. It's quite complicated as can be seen in this video about building iOS apps with Flutter (Comments below show, that I am not the only one with this opinion). Rock on!