1 This App Is Actually a WebView (PWA)
What you open as the Library Modules app on your phone is actually a modified Android WebView, every page shown inside the app — Home, Explore, Apps, Store, Account, and so on — is a website page wrapped and packaged into an APK, a technique commonly called web2apk
In other words, the app doesn't store its display or data statically inside the APK like a typical native app, instead, it loads pages from a server URL every time it's opened, then displays them inside a WebView frame that's been polished to feel like a real app — complete with bottom navigation, a drawer menu, transition animations, and extra features like notifications and storage access
Even though it's WebView-based, this app isn't just a "browser wearing an icon", the WebView has been specially modified so scrolling feels native, supports downloading files directly to your phone's storage, and connects with other Android components like the camera and notifications
2 Why Does the App Rarely Need Updates?
Because every page loads directly from the server, display changes, new features, bug fixes, or added content happen on the website side — not inside the APK file, once the server is updated, all users instantly see that change when opening the app, without needing to download and install a new APK version
An APK update from the Play Store or another source is only needed when a change truly has to happen at the app level itself, for example:
- Core Android component changes, such as a new permission required by the app
- Performance improvements or fixes to the WebView itself, not to the content inside it
- Adjustments for the latest Android version so the app stays compatible
In short: the content and features inside the app can change anytime without an APK update, since everything is controlled from the server, the APK is just a "container" that displays it
3 What Does This Mean for You?
Because of how it works, there are a few things worth understanding as a user:
- Requires an internet connection, the app can't display any page without a connection, since all content is fetched directly from the server, not stored on your phone
- The look can change at any time, since updates happen on the server, the layout or menu structure may look different from time to time without you needing to install a new APK
- Relatively small APK size, since it doesn't store the entire app's content inside it, the APK file size is much lighter compared to a native app with equivalent features
4 Supported Android Versions
The Library Modules app is built with the following compatibility targets:
| Specification | Description |
|---|---|
Minimum SDK |
API Level 21 — equivalent to Android 5.0 (Lollipop) and above |
Target SDK |
API Level 28 — equivalent to Android 9 (Pie) |
Compile SDK |
API Level 33 — equivalent to Android 13 |
This means the app can be installed and run starting from an Android 5.0 phone all the way up to the latest Android version, since Android is designed to remain backward compatible unless a major change restricts that
If your phone runs an Android version below 5.0 (Lollipop), the app cannot be installed since it falls below the supported minimum SDK threshold
5 Permissions Used by the App
So the WebView and its extra features can run smoothly, the app requests a few system-level Android permissions, including:
- Internet & Network Access — required, since all content loads from the server
- Storage — used to download and save module, app, or media files from inside the app to your phone
- Camera & Microphone — used when a feature on the web page requires this access, for example uploading a profile photo or product screenshot
These permissions are only requested when actually needed by the feature you're using inside the WebView, not kept active continuously in the background
6 Jenis Pemrograman Apa yang Digunakan di Proyek Ini?
Library Modules menggunakan jenis pemrograman berbasis full gabungan antara Java + HTML dan JavaScript, kombinasi ini dipilih supaya aplikasi tetap ringan di sisi Android namun fleksibel di sisi tampilan dan fitur.
- Java — digunakan pada bagian native Android (wrapper WebView, jembatan
AndroidInterface, penanganan file/download, notifikasi, dan komponen sistem lainnya) - HTML & CSS — digunakan untuk membangun seluruh tampilan antarmuka (UI) aplikasi dengan gaya Material Design 3
- JavaScript — digunakan untuk logika interaktif di sisi frontend, mulai dari navigasi, animasi, hingga komunikasi dengan backend API
Backend aplikasi berjalan di atas Cloudflare Workers, sedangkan seluruh halaman frontend dibangun murni tanpa framework berat (vanilla HTML, CSS, dan JavaScript), sehingga aplikasi tetap cepat dan mudah dipelihara