• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP][8.0+] Native Alpha - Transform any website into native fullscreen web apps

Search This thread

cylonid

Member
Jul 13, 2020
22
49
Native Alpha for Android
logo.png


Features
  • Show any website in a borderless full-screen window using Android System WebView.
  • Offers to create home screen shortcuts and retrieves icons in suitable resolution.
  • Various settings (JavaScript, Cookies, Third-Party-Cookies, Caching) can be set for every web app individually
  • Navigation with multi-touch gestures while browsing.
  • Opt-in adblock using an AdBlock Plus custom webview.
  • Less memory footprint and no privacy-invading app permissions in comparison to native apps
  • Dark mode for Android 10+

Download Options
Latest version: 1.01


FAQ
Q: Why is it not possible to find an icon for a certain website?
A: This problem can occur due to multiple reasons. In most cases, the website does not offer a high-resolution icon. If you are a website maintainer and your website icon cannot be found, look at realfavicongenerator.net for further information. If you think it should work, feel free to post the URL and I will look into it.
Q: Why would I need this app if any mobile browser can do the same?
A: Mobile browsers usually only are able to create shortcuts which give a native, borderless fullscreen experience if the website has a Progressive Web App (PWA) manifest. Unfortunately, most websites do not offer this feature yet.
Q: Is this a web browser?
A: No. As stated, this app relies on the system built-in Android WebView in order to display the website. For privacy reasons, you can opt to use alternative webviews such as Bromite on rooted phones. Always make sure to use to most recent version of any WebView implementation you use!
Q: Why does this app require Android Oreo?
A: Android introduced a new shortcut API with Oreo. However, it is planned to add legacy shortcut support. Older versions should also work then.
Q: In constrast to your promise, this app has a large memory footprint!
A: This is because Native Alpha makes use of caching in the same way your browser app does, i.e., it saves web content locally on your device. Then it can be loaded faster if you visit the same page again. I will look into a way for better cache management. In the meantime, you can either delete cache regularly yourself or set the "Clear cache after usage" setting in the global settings if memory footprint is a concern for you. However, then websites will take a longer time to load because everything has to be loaded from net.

A list of used open-source libraries can be found inside the app ("About" section).

Screenshots
sc3.png
sc2.png
sc1.png


License
Native Alpha is Free Software: You can use, study share and improve it at your
will. Specifically you can redistribute and/or modify it under the terms of the
GNU General Public License as
published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.


End user license agreement
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
Last edited:

BeeWall

Senior Member
Jun 29, 2016
631
234
I get an error page saying "net::ERR_CLEARTEXT_NOT_PERMITTED" whenever I follow a link to an HTTP page.
 

cylonid

Member
Jul 13, 2020
22
49
I get an error page saying "net::ERR_CLEARTEXT_NOT_PERMITTED" whenever I follow a link to an HTTP page.

Thanks for pointing that out. It is a security feature of Android WebView to block HTTP pages but I will offer an global option to override that behaviour (and probably enable it by default).
 
  • Like
Reactions: BeeWall

surajrv6

Senior Member
Jul 9, 2014
104
23
Porvorim
I wish each webapp had its own cookie container :) Now if I create a youtube web app and then create a gmail webapp and signin, the youtube also gets signed in.
 
  • Like
Reactions: hussaint

cylonid

Member
Jul 13, 2020
22
49
I wish each webapp had its own cookie container :) Now if I create a youtube web app and then create a gmail webapp and signin, the youtube also gets signed in.
It is definitely on my backlog to have a better separation between the apps. It is probably not possible regarding cache but it should work to flush and reload first-party cookies from disk for every app separately. Didn't make it to first release because the WebView implementation (as any other browser I know) does not offer this cookie separation natively.
 
  • Like
Reactions: surajrv6

bluechipps

Member
Jan 10, 2018
5
0
I get an error page saying "net::ERR_CLEARTEXT_NOT_PERMITTED" whenever I follow a link to an HTTP page.

Thanks for pointing that out. It is a security feature of Android WebView to block HTTP pages but I will offer an global option to override that behaviour (and probably enable it by default).

This is a big one for me too. I could see myself mostly using this for demos and things at work, and we don't often go through the trouble of using HTTPS. Really nice project though!
 

cylonid

Member
Jul 13, 2020
22
49
Hi, Can you please add 'Backup' and 'Restore' feature? If we have to reinstall the app it will be easy to get all the saved webapps back. Thanks for sharing.
Dont't worry, that feature will be coming for sure. After all, I really need it myself ;)

Thanks for all the positive feedback and suggestions, I will release a new version with HTTP support and a few other things on Wednesday or Thursday this week.
 

cylonid

Member
Jul 13, 2020
22
49
New release

Hi,
I just released a new version on GitHub.
Changelog:
  • HTTP connection handling: Added an option "Allow HTTP" on Web App level. Upon establishing a HTTP connection for the first time, the user gets a prompt and can decide to allow HTTP within the currently opened Web App (i.e., the user will not get prompted again).
  • SSL error handling: Alert dialog is shown, the user is advised to leave.
  • Data savings: Added options to send "Save-data" HTTP header and to block the loading of images.
  • Redesigned and restructured the Web App Settings + Global Settings page.
  • Added PayPal donation button to About page.

Next up: Improve test coverage, prepare the app for F-Droid release.
Stay tuned for further improvements ;)
 

cylonid

Member
Jul 13, 2020
22
49
Awesome app!
Can you add an option to add a custom icon to websites?
Yes, custom icons are already on my backlog :)

I submitted the app to F-Droid today, but I suppose it can take a while until they actually confirm the inclusion in their repo. Anyway, I will continue to offer the APK on GitHub at least until I implemented the backup/import settings feature so early adopters can switch from GitHub to F-Droid deployment easily.
 

draentor

Senior Member
Jul 24, 2012
55
16
Hello !
I've been looking to do that manually for some time, your app does the work really well ! Great job !
As a suggestion, it would be great if we could add shortcut in the app drawer, not only homecreens.
 
  • Like
Reactions: Keule-Tm

cylonid

Member
Jul 13, 2020
22
49
Hello !
I've been looking to do that manually for some time, your app does the work really well ! Great job !
As a suggestion, it would be great if we could add shortcut in the app drawer, not only homecreens.
Hi, I am afraid there is no possibility to add shortcuts to the app drawer dynamically for Android Oreo or newer. All shortcuts besides the main app shortcut must be pre-defined and baked into the APK.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    Native Alpha for Android
    logo.png


    Features
    • Show any website in a borderless full-screen window using Android System WebView.
    • Offers to create home screen shortcuts and retrieves icons in suitable resolution.
    • Various settings (JavaScript, Cookies, Third-Party-Cookies, Caching) can be set for every web app individually
    • Navigation with multi-touch gestures while browsing.
    • Opt-in adblock using an AdBlock Plus custom webview.
    • Less memory footprint and no privacy-invading app permissions in comparison to native apps
    • Dark mode for Android 10+

    Download Options
    Latest version: 1.01


    FAQ
    Q: Why is it not possible to find an icon for a certain website?
    A: This problem can occur due to multiple reasons. In most cases, the website does not offer a high-resolution icon. If you are a website maintainer and your website icon cannot be found, look at realfavicongenerator.net for further information. If you think it should work, feel free to post the URL and I will look into it.
    Q: Why would I need this app if any mobile browser can do the same?
    A: Mobile browsers usually only are able to create shortcuts which give a native, borderless fullscreen experience if the website has a Progressive Web App (PWA) manifest. Unfortunately, most websites do not offer this feature yet.
    Q: Is this a web browser?
    A: No. As stated, this app relies on the system built-in Android WebView in order to display the website. For privacy reasons, you can opt to use alternative webviews such as Bromite on rooted phones. Always make sure to use to most recent version of any WebView implementation you use!
    Q: Why does this app require Android Oreo?
    A: Android introduced a new shortcut API with Oreo. However, it is planned to add legacy shortcut support. Older versions should also work then.
    Q: In constrast to your promise, this app has a large memory footprint!
    A: This is because Native Alpha makes use of caching in the same way your browser app does, i.e., it saves web content locally on your device. Then it can be loaded faster if you visit the same page again. I will look into a way for better cache management. In the meantime, you can either delete cache regularly yourself or set the "Clear cache after usage" setting in the global settings if memory footprint is a concern for you. However, then websites will take a longer time to load because everything has to be loaded from net.

    A list of used open-source libraries can be found inside the app ("About" section).

    Screenshots
    sc3.png
    sc2.png
    sc1.png


    License
    Native Alpha is Free Software: You can use, study share and improve it at your
    will. Specifically you can redistribute and/or modify it under the terms of the
    GNU General Public License as
    published by the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.


    End user license agreement
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    7
    New release

    Hi,
    I just released a new version on GitHub.
    Changelog:
    • HTTP connection handling: Added an option "Allow HTTP" on Web App level. Upon establishing a HTTP connection for the first time, the user gets a prompt and can decide to allow HTTP within the currently opened Web App (i.e., the user will not get prompted again).
    • SSL error handling: Alert dialog is shown, the user is advised to leave.
    • Data savings: Added options to send "Save-data" HTTP header and to block the loading of images.
    • Redesigned and restructured the Web App Settings + Global Settings page.
    • Added PayPal donation button to About page.

    Next up: Improve test coverage, prepare the app for F-Droid release.
    Stay tuned for further improvements ;)
    7
    Hi, Can you please add 'Backup' and 'Restore' feature? If we have to reinstall the app it will be easy to get all the saved webapps back. Thanks for sharing.
    Dont't worry, that feature will be coming for sure. After all, I really need it myself ;)

    Thanks for all the positive feedback and suggestions, I will release a new version with HTTP support and a few other things on Wednesday or Thursday this week.
    5
    New release v0.83

    I published a new version on GitHub today.

    Changes:
    • Multiple Web Apps will be kept open in background (similar to opened tabs in a mobile browser). This behaviour is limited by system settings and your device's RAM.
    • Backup & Restore of Native Alpha settings + Web Apps
    • Refined "Go Back" behaviour to get back to Native Alpha Main Screen from an openend Web App.
    • New multi-touch gesture (two-finger down) to reload page.

    I have no news regarding F-Droid, unfortunately nobody had a look at my addition request so far. Some requests I looked over were open for weeks or even months, so this is expected I guess. Eventually, I will probably also put the app on Google Play but I would like to sort out a few things before releasing it to a wider public (like support for file downloads, use location permission to support GMaps/OpenStreetMap, custom icons etc.)
    4
    Awesome app!
    Can you add an option to add a custom icon to websites?
    Yes, custom icons are already on my backlog :)

    I submitted the app to F-Droid today, but I suppose it can take a while until they actually confirm the inclusion in their repo. Anyway, I will continue to offer the APK on GitHub at least until I implemented the backup/import settings feature so early adopters can switch from GitHub to F-Droid deployment easily.