HelloZeroNet / ZeroNet-kivy

Android client for ZeroNet
https://zeronet.io
GNU General Public License v2.0
283 stars 74 forks source link

UI redesign, drop kivy #20

Open mkg20001 opened 6 years ago

mkg20001 commented 6 years ago

Kivy is way too buggy and using native android ui could fix many input-related crashes

Serkan-devel commented 6 years ago

Would PySide work?

mkg20001 commented 6 years ago

PySide is for qt and I don't think that it's going to be better than just using native android ui.

katcom commented 6 years ago

I am working on the gui now. My final application would be an android application supported by cross-compiled python2 library that runs Zeronet, with android native gui.

rllola commented 6 years ago

@katcom Are you still working on it ?

I guess we will need to use one of those solutions for python/android app https://medium.com/@umerfarooq_26378/tools-to-run-python-on-android-9060663972b4

I also believe that either Pyqtdeploy or Pyside are good candidate.

katcom commented 6 years ago

@rllola I have given it up, sorry. Actually, I had faced some difficulties in compiling zeronet by Kivy, perhaps because I was lack of knowledge in C compiler. Initially I wanted to build by Kivy the python interpreter and the relevant libraries that zeronet requires, and therefore to run zeronet by the interpreter in the background while UI is controlled by android component, such as webview. But I kept getting errors about linking libraries. Also, I can't compile the libraries for arm64.

rllola commented 6 years ago

@katcom Ok, cool. I might attempt building using pyqtdeploy but I am afraid I will have the same problem as you. I am not really familiar with compiling for mobile.

mkg20001 commented 6 years ago

but I am afraid I will have the same problem as you. I am not really familiar with compiling for mobile.

@rllola In terms of python and pip compilation for android: It's a HUGE mess. It's such big of a mess that I've had to fix bugs in the building tools myself, simply because everything is so broken and messy. It's like a tiny bit of code swimming in a pool of duct tape that tries to hold everything together.

Okay maybe it's not that bad, but it isn't easy either. That's why I stopped maintaining this app, it's just too broken.

katcom commented 6 years ago

@mkg20001 @rllola Hey, I share the same frustration with you during the building process. Actually I made an app based on this tuition http://joaoventura.net/blog/2014/python-android-5/ My basic idea is the python module and the UI is separated : to build, by C compiler as a JNI module, a python interpreter and the libraries needed for Zeronet script to run, and to use the android component to design UI. As a result, the zeronet become controllable, in terms of being turned off and on in the GUI, since it is just a script ran by the interpreter. Moreover, it gives access to data management, since we can decide how the data from the script was stored. The users.json, for example, can be located within the application data folder that prevents access from other apps, or be imported from elsewhere into this private folder, or even be encrypted by password if necessary.

katcom commented 6 years ago

@rllola I shall try chaquopy, maybe you can give Pyqtdeploy a shot?

katcom commented 6 years ago

@mkg20001 Do you think it is a good idea to compile python interpreter with Kivy?

rllola commented 6 years ago

@katcom Lets do that :+1:

rllola commented 5 years ago

I am currently looking into pyqtdeploy. I have been able to build the demo app and have it running on an Android device (and that wasn't easy). I wanted to try compile the browser poc for android but Qt on Android doesn't have QtWebengine which is needed.

I am going to look to have just ZeroNet build in a minimalist app.