Kodi Community Forum

Full Version: GSoC2020 A new web interface
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
New web interface
C.Ziyi (ziyic)
[email protected]
Hi! I think flutter is a good choice if we need to implement a new web interface. Although it was born for mobile devices, it also supports web development

When the selected deployment platform is web, flutter will implement Flutter's core drawing layer on top of the standard browser API. By using a combination of DOM, Canvas, and CSS, web support is designed to provide a portable, high-quality, and high-performance user experience in modern browsers. It uses Dart's optimized JavaScript compiler to compile Flutter cores and frameworks and your application into a single minified source file that can be deployed to any web server.

Of course, because flutter is born for mobile devices, and can run on iOS and Android devices with the same code, and get the same user experience as native apps. If the KODI team wants to develop mobile for KODI someday in the future APP, using flutter can also more easily unify the UI style

The programming language used by flutter is Dart, a language with a syntax that is highly similar to typical object-oriented languages ​​(Java, C #). For most people who have some programming experience, it is almost difficult to learn it, which also facilitates the team's subsequent maintenance.

How would I achieve:
1. Design the main UI framework for different devices
2. Analyze the existing web interface to determine the functions that need to be implemented
3. Try using flutter to implement the functionality of the web interface
4. Test if the new page works with KODI

computers and equipment available for SoC project?
I have a Macbook Pro 16 inch, a Raspberry Pi 4, and a home PC with Windows installed locally (I will also try to install Linux for it, but I can't decide which distribution to install for it). I also have a synology NAS, in order to avoid being limited in storage capacity

When did I start programming?
I am a BSc Computer Science students and I started using Java and C ++ for programming at school 3 years ago. The programming languages ​​I have tried to use are:
C ++: not used in the project, mainly some algorithm exercises when learning data structure modules in school
Java: Desktop games, JSP (emulation online library management system)
C #: Winform (simulated supermarket management system), ASP.NET (simulated online shopping), Unity (VR traffic), UWP (simulated school equipment management system)
SQL: The databases of all the above management systems are created and managed by SQL scripts during the development and testing phases
In fact, before last year, my main purpose of using Github was to learn, so only VR-trffic code was uploaded to Github as a repository: https://github.com/ziyic/ziyic-AaVR

When did you start using KODI?
Not yet. To be honest, even if I did n’t participate in GSoC, I still will try to use it this summer, and that's why I bought the Raspberry Pi
Perhaps like everyone else, I will use it as a home entertainment media access and control device on Raspberry pi 4.

I think users and the KODI team will benefit from it. Users will get a better experience and the team will be able to better maintain web pages.

The ultimate goal of the project is to use flutter UI toolkit to develop a new web page that can completely replace the existing web page and implement all its original functions. If it can't be fully completed in a summer, I also try to implement as many important features as possible, and continue to work for it in the future, eventually submitting to the KODI community.

What impact does it have in Kodi:
 it is possible to unify the interface style when developing official mobile apps for future teams

Available time and approximate plan
From mid-May to August, I can devote almost completely to this project
I will first analyze the existing web interface and try to implement its main functions one by one in stages
Hey there,

nice to have you.
I'm not very sold on flutter for web, as it's still a beta from my understanding and I've heard, that you can encounter performance problems due to the rendering from time to time. It would also be nice, if this would work on even older PCs.