vlang / ui

A cross-platform UI library written in V
MIT License
2.33k stars 153 forks source link

Version 0.1 Roadmap #31

Open thecodrr opened 4 years ago

thecodrr commented 4 years ago

Many features will need discussion so this thread acts as both a discussion & a task list for contributors/maintainers.

Notes:

  1. All these features won't necessarily make it into the v0.1 but they are planned nonetheless.
  2. Mentions after the each entry means that feature is being worked on by those persons.
  3. Please don't ask for ETAs. We are working on it as much as possible. Once it's done, you will know. You can follow the development on the Discord Channel.

API

Window API

Responsiveness

Layout

Widgets

TextBox

Accessibility

More items will be added as required

sirinath commented 3 years ago

Also moving to a non *GPL license should be considered.

hubyhuby commented 3 years ago

Some background :

Questions : 1- How do we handel routing on the App side ? Is it part of a core package ? Is it correlated to UI ? Do we have a comon routing schem as with vweb ? (yes;) ) 2 - Can we imagine compiling the UI library to wasm ? Can we have it interact with the DOM ? How ? Do we even need the DOM if we render opengl ?

tzSharing commented 3 years ago
svelterust commented 3 years ago

Also moving to a non *GPL license should be considered.

Why?

exastencil commented 2 years ago

Because it's copyleft. Meaning it can only be used by open-source projects. So if I use V UI, my app also has to use GPL.

elimisteve commented 2 years ago

Or you have to pay for a license, which is the intent here, I believe. Finding ways to monetize V is really important for the sustainability and longevity of the project! Paying a bit in order to be able to create one graphical app in V + V UI and have it run everywhere would be an amazing deal.

Wajinn commented 2 years ago

Or you have to pay for a license, which is the intent here, I believe. Finding ways to monetize V is really important for the sustainability and longevity of the project! Paying a bit in order to be able to create one graphical app in V + V UI and have it run everywhere would be an amazing deal.

It would be the beginning of the end to start pulling that and trying to force licenses, because there is already highly developed open-source competition. Look at the many Go GUI projects, for example. It would also be against the spirit and perception of how V is viewed, thus sending people away. The rest of V is MIT, so people expect for V UI to go that direction too (and has promised to do so). Debatably better to stay open source and go the donation route.

benstigsen commented 2 years ago

The plan was to use MIT later. This current one is temporary.

sirinath commented 2 years ago

There are many projects under V umbrella which is *GPL which is irksome.

benstigsen commented 2 years ago

I am assuming that many of these are temporary as well.

hubyhuby commented 2 years ago

Or you have to pay for a license, which is the intent here, I believe. Finding ways to monetize V is really important for the sustainability and longevity of the project! Paying a bit in order to be able to create one graphical app in V + V UI and have it run everywhere would be an amazing deal.

It would be the beginning of the end to start pulling that and trying to force licenses, because there is already highly developed open-source competition. Look at the many Go GUI projects, for example. It would also be against the spirit and perception of how V is viewed, thus sending people away. The rest of V is MIT, so people expect for V UI to go that direction too (and has promised to do so). Debatably better to stay open source and go the donation route.

Maybe we want to create another issue or thread to discuss this topic. My personal feeling is that :

1) If people working on this projet wants to get funded for their work, that makes perfect sens. It s their choice. 2) The community is building itself on its own values, "sending people away" is inevitable. And its good to have many projects for many different minded people out there. 3) Finally its open. I suppose there is no opposition from the V community for another GUI project that would fite your licensing needs. Innovation is kinda darwinian, lets see ;)

Wajinn commented 2 years ago

There are many projects under V umbrella which is *GPL which is irksome.

I agree that GPL is like Pandora's box. When going that direction, it looks to just as easily destroy or confuse, as it can also help and preserve. It's a matter of people knowing what they are doing, and the full consequences and ramifications that go along with it.

GPL isn't always bad, per se. For example in the case of V's Gitly, it's not likely anybody would be or want to be using it as a whole commercially or professionally. Rather, they use it to do tasks, not necessarily wanting to re-package it into anything. So there isn't as much concern that it's GPL, other than consistency with other V projects which are MIT (which how it looks is a concern). For example, a person may use a GPL project like NotePad++ to create files, but likely not need or want to use it directly for anything.

However, things like programming languages and UIs have a different usage. People would be very much incorporating them into their projects. People very much want to use them professionally or commercially. If TCC (which V uses) was GPL, it would create absolute havoc and confusion, thus they had enough sense to put it under at least LGPL.

A comparable project to V UI, would be one of Go's cluster of UI projects such as Fyne (github.com/fyne-io/fyne), which they smartly put under BSD, and not GPL. Most other open source programming language UI projects are under more permissive licenses such as LGPL, BSD, Apache, or MIT. Often in these days of open source competition, if they were or are commercial, they started that way (not switch up on their users). In various cases many commercial projects have ended up as free open source anyway, as were defeated by all the strong and free open source competitors that exist now.

Another aspect of this is the expectation of users. There is the perceived promise by V UI, "At some point in the future the library will be relicensed under MIT." So clearly people are going to feel some kind of way if that promise is broken.

Seems like better moves for projects which are and have started open source, would be to:

1) Ask for donations (like make it apparent) 2) Seek corporate sponsors (not be passive, and go ask) 3) Write books/ebooks on using V UI and building GUI's the V way (advertises V/V UI and sponsors; stirs general interest) 4) Make videos teaching V UI and put on places like Udemy

Quite sure supporters and interested people would buy a V UI ebook or training video. Very much liked "Getting Started with V Programming" from Packt.

tzSharing commented 2 years ago

Textbox adds copy-paste support for mouse or keyboard

isaiahpettingill commented 2 years ago

For WebView, you might look into the C Bindings for webview

I don't know exactly how you will be able to embed it into the UI framework, but it's probably the right starting point. A weakness of this solution is that it adds a dependency to the build output, but you would likely have that for any implementation of webview unless you built your own HTML/JS/CSS engine.

An alternative that may be more difficult is Mozilla's Servo browser. This could potentially have rust libraries that could be exported as C Shared libraries and imported by V. I'm not loving that idea, but it might be an option.

netesy commented 2 years ago

Please update to show the completed features so we know what to focus on.

seven1240 commented 1 year ago

For WebView, maybe a V based https://tauri.app/ instead of Rust?

Bellisario commented 1 year ago

Any update for web views? I’m a web developer and I don’t like using Electron and Tauri. Is there a V project for cross platform web rendering? I like how V UI is going (SwiftUI style) but I would like to use a WebAPP as rendered app and V to implement app core functions as native.

baxiry commented 1 year ago

@Bellisario What do you think of Wailes ? I think it's fine, until vui is ready

Bellisario commented 1 year ago

Thanks @bashery! I definitely need to give it a try...

makeshyft-tom-g commented 1 year ago

Hello all,

Thank you for your effort thus far. My question is this, is there ANY .... any way at all ...... to track this roadmap in some more detail? I'm faced with the decision whether it is feasible to choose V as the right platform for our stack, and I really really want to choose V.

Can we have this roadmap put in as Projects? I could help with that.

I know that I can make it go faster by contributing with code, and thats on my roadmap as well. :)

algoflows commented 1 year ago

Databinding functionality and widget reactivity model.

mark-summerfield commented 8 months ago

I hope you will allow cursor blinking to be switched off application-wide (why). Qt and Gtk support this and Tk 9.0 will also.

medvednikov commented 8 months ago

I hope you will allow cursor blinking to be switched off application-wide (why). Qt and Gtk support this and Tk 9.0 will also.

Already done :)

Fierelier commented 2 months ago

An option for software rendering (no OpenGL)? Would be pretty useful for older or embedded hardware. Even my 2011 Intel HD 3000 is not capable of rendering the UI, without emulating OGL in software. I honestly think it would fit better for what V is trying to be (minimal prerequisites and simplicity and all).