This is a second part of the article about UI (User Interface) development in 2020. Here is the first part: UI Development Trend in 2020: Declarative UI to Rule Them All.

Today I’m talking about Web apps UI development. As we have seen in the UI framework development history, we have moved from server-side UI development to the client-side or browser-side UI development. To be clear, Web browser represents the native app for many desktops today. With ElectronJS you can deliver your Web apps to the desktop for any operating system available. ElectronJS apps which are Web apps are platform independent. This is what I call Web Browser as a Platform (WbaaP). …


In year 2020 it seems that major players in UI development are agreed in how we, developers, should design the UI (User Interface) of our apps or web apps. In this article I will show you the current UI development trends with different frameworks and environments available in 2020 and sum them up. Later I’ll take a look on the UI development trends in Java / GWT / J2CL.

Image for post
Image for post

Design Trend in UI

SwiftUI

SwiftUI has renovated the whole UI development in Apple world. Native on all Apple platforms with all those nice design tools set a very high bar for UI development. Also move from imperative UIKit / AppKit / WatchKit to declarative design to be able to make UI development more easier and straight forward. So how do you implement the UI today? You describe your UI textually. If you need a state you can mark a variable with @State and then use it to write something to it like $name. To read the content we just need to use \(name). This is what we call “two ways binding”. …


In the article “Using IndexedDB in Web Browser — All in Java” Mrs. Gwitany and Dr. Jackl told us how we could use Java with Elemental2 to build a simple prototype based on WebAPIs for IndexedDB. This time they’ll show us how to build the already shown code to be testable and maintainable with all the Design Patterns we already know from our server-side experiences with Java.

Image for post
Image for post

In the server-side Java world we use following patterns all the time, so we want to use them in the Web browser apps as well:

  • Dependency Injection: we inject dependent object into a main object so that we could easily mock the injected object to be able to test the main object in a simple unit test. This is very useful especially if the dependent object uses e.g. …

I would like to know, what are the obstacles for you as Java developers not using Java as programming language for writing Web browser apps. Web browser apps are client-side and not server-side Web apps. For running Web browser apps you mostly don’t need a Web server, you just need HTML, CSS and JavaScript files.

Image for post
Image for post

I’m doing Web browser programming using Java with GWT / J2CL and surely it is not perfect because the Web browser APIs feel very JavaScript but I have following advantages:

  1. We use Java as the language
  2. We have the best ecosystem like libraries, frameworks, build system and IDEs. …


We had a chance to use GWT in our internal Hackathon and here are our impressions and feedbacks for GWT / J2CL / Java development on the Web Browser.

The Task: build a simple UI frontend web app which just shows other web apps contents (micro frontends with HTML, JS). So it is just like building a portal (main frontend UI) with some portlets (micro frontends). If you don’t know what it is check out my article: From Portlets to OpenSocial Gadgets to Progressive Web Apps. We chose Material Design for the UI design.

The Team: we were four Java developers, one developer knows how GWT works and has done some stuffs in “old-style” GWT, one has also done small amount of GWT but very few, one has never done GWT but knows JavaScript and me who has some experiences in GWT. …


This story isn’t about Java Applet or Java WebStart, this story is a pure JavaScript story presented by Mrs. Gwitany and Dr. Jackl, generally known as GWT and J2CL.

In the world of web browser JavaScript is the king, so all the Web APIs are based on JavaScript. The Mozilla Developer Network (MDN) is the source of truth for the Web APIs. It looks awesome and it explains everything with examples very nicely. So if you want to build web apps you surely need the MDN documentation.

Image for post
Image for post
MDN is Your Best Friend for Web APIs

Lesson 1: consider Mozilla Developer Network (MDN) and Web APIs as your best friend. …


Last time we saw how we can reuse our Java code in JavaScript from my article “Web Browser Programming in Java”. Today we’ll take a look on how we could call the JavaScript APIs, web apps and frameworks from our Java code and at the end to transpile them back to JavaScript so that it will be runnable on the web browser.

To see how we could do this, it is important that we understand the process on how Java with GWT (http://www.gwtproject.org) or J2CL (https://github.com/google/j2cl) communicates with JavaScript. For this purpose we have the JsInterop which work as a bridge between Java and JavaScript. In the old version of GWT we had JSNI (JavaScript Native Interface) but this is now deprecated and we should only use JsInterop. …


AKA: Shopee Mendukung Penjualan Obat-Obat Gelap yang Tidak di Registrasi

Oleh: Apoteker dari ITB (Institut Teknologi Bandung) Indonesia sejak 55 tahun lalu

Kalau beberapa tahun lalu kita bisa belanja di pasar tradisional, toko di pinggir jalan raya disusul oleh supermarket Indomaret, Alfamart dan supermarket-supermarket serta mall lainnya. Kemudian, terutama di jakarta, yang sekarang menjamur adalah berbelanja melalui toko online alias e-commerce seperti Shopee, Bukalapak, Lazada, TokoPedia, dll. Sekarang barisan tempat belanja tradisional ini ditutup oleh banyak sekali online shops, seperti diatas.

Image for post
Image for post
Jakarta — The City That Never Sleeps

Semua ini tentu untuk mempermudah konsumen belanja dengan harga yang kompetitif dan dengan mutu yang terjamin. Seperti contoh berbelanja di Amazon di Eropa yang harganya selalu top dan kualitas terpercaya dengan after sales yang paling bagus. …


Tentunya anda semua mengenal Halodoc, Alodokter, atau Klikdokter yang telah hadir di dunia Internet Indonesia. Pasien mulai merasakan keberadaan mereka semakin lama semakin memudahkan dalam pengiriman resep sehingga tidak perlu menunggu lebih lama, tidak kena macet di jalanan. Hanya sayang mereka lupa beberapa hal sebagai berikut.

Image for post
Image for post
Macet di Jakarta membuat applikasi-applikasi kesehatan melunjak

Bahwa hampir semua aplikasi kesehatan ini adalah di support oleh pabrik-pabrik obat, misalnya

Apakah artinya, bahwa pabrik-pabrik obat semakin menguasai distribusi obat tanpa perlu adanya kontrol dari apoteker? Bagaimana pasien tahu apakah obat tersebut tepat jika tanpa melalui apotek resmi atau adanya konsultasi dengan apoteker? Bagaimana pasien bisa tahu apakah ada alternativ obat yang lebih murah yang berkhasiat yang sama? …


Yesterday night I updated my AndroidStudio from 3.5.x to 3.6.1. AndroidStudio 3.6.1 brought some new features like Visual Layout Editor, which I would like to try.

Image for post
Image for post
Android Studio 3.6.1

Everything seems working fine but I cannot deploy my app anymore, also a very simple app, to my Android Virtual Devices (AVD). I cannot see my Android app starts in my AVD. Gradle and the Android project are green but still my app did not show up. I could not see any problems until I see this red message:

Error while waiting for device: Unable to locate adb (Android Debug Bridge)

So, it was the time to search for an answer in Internet. I found some questions and…

About

Dr. Lofi Dewanto

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store