9 ms·
Show HN: Yue – A new library to create cross-platform GUI apps
- paultopia 9y agoI'm sure this is an amazing project. But the readme and FAQ and such have such an aggressive, almost hostile tone---if you want to communicate with the author at all, even to report a bug, it'll be five thousand bucks a month...
- zcbenz 9y agoSorry for the unfriendly tone, some of them were written after reading some reddit comments... And as explained in the FAQ, you can always go to the yue/help repo to report things and I will read them.
- jameskegel 9y agoNo need to say sorry, it is clear, succinct, and reasonable. Most projects don't offer the option for premium support (which is also reasonably priced, fyi). I'm not sure what the comment above me is/was expecting.
- bitcoinofficial 9y agoI don't get that either. Also look at https://github.com/yue/help https://github.com/yue/help. The author is basically saying "I'm a really cool developer, was there, did that, anything else?". Every single sentence consists of narcissism (or how should I call that?). This is only how I see that, I'm sorry if I offended somebody.
- imron 9y agoThe author is not a native speaker so might not be aware of how some sentences come across.
- dragandj 9y agoI'm not a native speaker either, but having a quite high exposure to English language, I am still puzzled at why would anyone think those sentences were hostile. Can any native speaker translate what I quoted to a non-hostile version, so we can see what's it all about?
- bjterry 9y ago> The issues page of this repo is disabled on purpose, for help please go to the yue/help repo where users help themselves. >To report a bug, you have to create a pull request with a test case of your problem, or you can choose to subscribe to paid plans. Polite translation: > The issues page of this repo is disabled. To report a bug, please create a pull request with a test case of your problem. > For support, please go to the yue/help repo for help from the community. Paid plans are also available if you want to receive support from the project maintainers. I wouldn't say the original is exactly impolite, but it's definitely more curt and direct than usual or than you would expect in the business world. Especially the text on the yue/help repo comes across as slightly combative or defensive in different areas. For example "You can ask any question about Yue in the Issues page here, but please do not expect to get an answer" sounds fairly dismissive to a native ear.
- dragandj 9y agoThanks. I got (and agree) that it was not written very skillfully, but, as you said, it was not hostile either.
- mememaestro 9y agoSo what? Why don't you make a library like Yue an then talk you idiot
- fiatjaf 9y agoTo me it seemed like he was showing that he was capable of doing a fine job with Yue in which you can trust.
- bitcoinofficial 9y agoI totally get that, maybe it's just a question of subjective perception. What he's done is still a large piece of job.
- imron 9y ago> if you want to communicate with the author at all, even to report a bug, it'll be five thousand bucks a month... That's not quite true - the other option is to provide a pull request with a test case showing the bug.
- dragandj 9y agoWhat are you talking about? The author literally says: "for help please go to the yue/help repo where users help themselves. To report a bug, you have to create a pull request with a test case of your problem, or you can choose to subscribe to paid plans." What's exactly hostile there? The author gave you, the potential user, a gift, totally free of charge, and even explained politely where and how to find help. They even organized a premium support, if someone's problem is so important that it needs extra care. I'm still puzzled...
- rtpg 9y agoThe author is trying to sell a freemium product, its a gift insofar as Dropbox's 2 gigs are a gift. (EDIT: maybe the premium support is more to support this project than being the main objective. I don't mean to assume too much on motives) Some small modifications to the text can make the messaging more friendly. For example "To report a bug, please create a pull request with a test case of your problem." (instead of "you have to") It's a small change, but conveys the same requirements without conveying a notion that the reader is a burden. Instead it just asks a favor, since we're all humans talking to each other in good faith. It seems small, it seems pedantic, but we're guided by our emotions. The fact that this thread exists is proof that it affected at least some people enough to comment about it
- dragandj 9y ago> The author is trying to sell a freemium product, its a gift insofar as Dropbox's 2 gigs are a gift. In other words, it is a gift. You get something useful for nothing. As for the other point, I agree that the author should use more business friendly tactics if he wishes to sell his services better, but that was not the point. The original complaint was that his approach is somewhat offensive. Which I didn't agree with. I think his approach was genuine, if not very skillful.
- AOsborn 9y agoNo, the point made was that the author was unnecessarily aggressive. That does not imply that the author was not genuine. The attitude of the author is definitely relevant to whether the library can and should be relied upon for inclusion in a project. Personally, this is a non-starter if I can pick up such a hostile, anti-community tone in a two minute review. Examples: > You can ask any question about Yue in the Issues page here, but please do not expect to get an answer. > I know, and probably I know it better than you, I have been a long time open source project maintainer. > To report a bug, you have to create a pull request with a test case of your problem, or you can choose to subscribe to paid plans.
- deleted 9y ago[deleted]
- zcbenz 9y agoHi everyone, I have written a C++ library for creating native GUI apps, it also has language bindings for Lua and JavaScript (V8). In the past I have written the Electron framework, which is a popular project for creating desktop apps with Chrome web engine and Node.js, while this library allows you to create native desktop apps. If you want to see some screenshots and example code, check out the sample apps repo: https://github.com/yue/yue-sample-apps https://github.com/yue/yue-sample-apps. If you are wondering how this library is different from other GUI toolkits, check out the FAQ: https://github.com/yue/help#faq https://github.com/yue/help#faq. If you want to learn this library quickly, there is a detailed tutorial on using Yue with Node.js: http://libyue.com/docs/v0.2.0/js/guides/getting_started.html http://libyue.com/docs/v0.2.0/js/guides/getting_started.html.
- Vinnl 9y agoAm I correct in my understanding that this does still use Electron? (And if so, what is it used for?)
- zcbenz 9y agoIt does not use electron, it is total native and does not use web engines, but it can be used in electron as a Node.js mudule.
- GrayShade 9y agoIt might be a good idea to have some C++ sample apps.
- espadrine 9y agoWhat part of electron gets used? Why would it be used? Is it to package an app? In particular, does Yue spawn the Chromium processes and Blink? If I understand correctly, one can build JS interfaces in Yue without it, though (either with Node.js or with its Yue-specific fork, Yode). It uses Chromium base, but not Blink, right?
- zerr 9y ago
- fiatjaf 9y agoIs that as amazing as I think it is? The Electron killer, the Holy Grail of UI frameworks, the El Dorado of cross-compatibility, the One Library to rule them all?
- jacoblambda 9y agonot really, especially considering it has the same author as electron
- eivarv 9y agoGreat job! Maybe now we'll finally see accessible and efficient GUI apps from those who insist on writing desktop applications with JS.
- majewsky 9y ago> accessible Too bad it ignores accessibility entirely: https://news.ycombinator.com/item?id=15219025 https://news.ycombinator.com/item?id=15219025
- jasonkostempski 9y agoIs the license similar to the React one? Edit: Not trying to start a controversy or anything, I've never seen the Microsoft Reciprocal License before, it just looks like a similar idea. I'll just go look it up.
- Zekio 9y ago5k per month for license O.o https://github.com/yue/yue/tree/master/docs/paid_plans https://github.com/yue/yue/tree/master/docs/paid_plans
- jbergstroem 9y ago...if you choose to modify the yue source code and not redistribute it.
- dragandj 9y agoOTOH, the license is optional. You can use it for $0. I'm not even a potential user of this library. I'm just amused with how people expect open source programmers to work for peanuts.
- Zekio 9y agoI'm not expecting it to be free but 5000 usd for just for the right to not redistribute it when you modify the source, seems a bit expensive, but maybe I'm just a poor fella
- drinchev 9y agoWhy not? If you want to modify the source, just do it in a manner that you can commit back to the repo.
- Zekio 9y agoI take you haven't read whats under the title contributions https://github.com/yue/yue/tree/fb08ff884c6f9b7fb7a767dde9372284ef7b8e64#contributions https://github.com/yue/yue/tree/fb08ff884c6f9b7fb7a767dde937...
- yorwba 9y agoIt's just a standard grant of copyright for contributions to an open source project. Your code will still be available to you under the same license as the rest of it. It just might be incorporated in the differently licensed (paid) version.
- notheguyouthink 9y agoNifty! I look forward to (hopefully/eventually) someone making Go bindings for this :) With that said, it would be nice if the sample apps included more components of the native UI. Eg, a bunch of buttons, text editors, etc - a sort of kitchen sink screenshot. Just to understand what it looks like on each OS. All the samples I saw so far seemed very limited, visually.
- wheresvic1 9y agoI read the help page but I'm still not sure how this is different from Electron then? Could you care to comment?
- nautilus12 9y agoIm very confused what is going on here. He works for electron full time but is releasing something else thats basically the same with more confusing terms?
- eivarv 9y agoHow is it basically the same? As far as I understood Yue is a GUI toolkit that wraps the platforms' native widgets, whereas Electron is a Node runtime and a Chromium instance (which lets you build GUIs with web technology).
- drinchev 9y agoKudos for this. It does look awesome. Just tried out JS version. Nevertheless I'm still afraid that features / maintenance will be unsustainable, since you are the only developer [1] ( considering your expertise ). I hope there are companies that support the project. 1: https://github.com/yue/yue/graphs/contributors https://github.com/yue/yue/graphs/contributors
- atroll 9y agohow did you try the js version?
- fluxsauce 9y ago> By sending a pull request, you are agreeing to transfer the copyright of your code to Cheng Zhao. Nope.
- fiatjaf 9y agoDon't send a Pull Request, then.
- Cthulhu_ 9y agoIs there any open source project where the author retains copyright? I mean in this case I'd say the copyright is transferred to a nameless entity, e.g. "the Yue project". IIRC any project with a developer agreement (like Google's) include a transferrence of copyright note.
- juergbi 9y agoE.g., Linux and GNOME
- carussell 9y ago> Is there any open source project where the author retains copyright? Yes. Pretty much all the most successful FOSS projects operate like this by default—there's no central authority and contributors retain their copyright. It's only in the last couple years or so that a weirdly high amount of orgs even started cargo culting the CLA process. And the reason for the CLAs seems to be that this was happening for nascent, quasi-corporate projects from orgs who were making their foray into open source and were under the impression that this is just how everyone else was already doing things. Meanwhile, back in reality, the old standards and posterchildren for open source were actually humming along with no CLA in sight. (E.g., Linux, Mozilla.) The CLA trend is waning, though, as people realize that they were never necessary, they only really only introduce friction to contribution process, and the only reason anyone ever adopted them was because they were looking around and trying to emulate each other. (You know the phenomenon where someone seems to be famous just for being famous?) Projects that came about during this time (e.g. NodeJS) have actually been getting rid of their CLAs. EDIT: > IIRC any project with a developer agreement (like Google's) include a transferrence of copyright note. This is not true wrt Google. Contributors retain their copyright. Where did you learn otherwise? Comments like this are how famous-for-being-famous happens.
- irq-1 9y agoFrom the FAQ, https://github.com/yue/help https://github.com/yue/help > But once you have done modifications to Yue's source code, all your code linked with Yue have to be open sourced with MS-RL. The only way to remove this limitation is to subscribe to Yue's paid plan. > The license seems like a non starter. > Note that the license of Yue has less restrictions than LGPL, it does not require you to open source your project when you statically link with Yue, or compile Yue's source code as part of your project. > So if you are fine with LGPL libraries, there is no reason to worry about Yue's license. > Yue is just another open source project with dual licenses, and it has less restrictions than most dual licenses projects. With the LGPL you can change the code, compile and dynamically link without releasing your own code. It's a significant difference.
- rhencke 9y agoWith Yue's license you can change the code, compile and dynamically link without releasing your own code. There is no difference here. Lest you doubt: Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.
- detaro 9y agoThe README on the other hand states: > The Yue project is under the Microsoft Reciprocal License (MS-RL) with following clarifications: [...] Using a modified version of this software is considered as containing this software's code, so any code linked to it has to be licensed under MS-RL. That at least to me reads like a different interpretation, which is worrysome.
- ww520 9y agoThat's for modifying Yue's code, not your code.
- pbnjay 9y agoIt'd be really helpful if there were screenshots of a sample app from each supported platform. Is this wrapping native elements or providing custom elements?
- joemi 9y agoIf I'm understanding you correctly, what you've asked for is already there. Follow the "Sample Apps" link to here https://github.com/yue/yue-sample-apps https://github.com/yue/yue-sample-apps and then click on one of the sample app directories and there are screenshots.
- setzer22 9y agoWith a quick glance, I learnt about the intrincate details of the license. However, I have no idea of the technical details behind the library or how the relevant code may look like (note that I can go to the sample sources, but without a proper introduction it takes some work to follow). I'd suggest putting more emphasis in the library details, and why it is good (not just how good it is) especially before all that licensing information.
- _binder 9y agoRight, So I am doing a research project and If I want to use this library in that project, does that mean I have to pay to use it. My project is currently closed source , because don't want anyone to steal stuff before I publish my paper. After that the code goes public.
- iainmerrick 9y agoLinking with the code of this software in any form is not considered as containing its code As long as you don't make any changes, sounds like it's free and unrestricted.
- fiatjaf 9y agoNo, you don't have to pay. You only have to pay if you modify Yue.
- rkeene2 9y agoIf you modify "Yue", want to redistribute the modified "Yue", AND don't want to release your modifications to "Yue" in source form.
- z3t4 9y agoIt would be nice with Android support, otherwise I see no real advantage over electron or nw.js or a web app.
- eivarv 9y agoI'd say wrapping native widgets is an advantage in and of itself.
- mwcampbell 9y agoUnfortunately, this library has no support for accessibility, e.g. for blind users with screen readers, particularly on Windows, where it implements its own windowless controls without implementing the UI Automation API. So I advise against using this library for any application with a broad target user base until this problem is addressed.
- andrewmcwatters 9y agoFor being a library designed to assist with creating cross-platform GUIs, the website itself—which should give a good first impression of the project's attention to user interface details or user experience—is a joke. Compounded with the other HNer's comments regarding its licensing, make your own judgments.
- KayL 9y agoI don't really like the name. Vue Yue Vue Yue Yao Yue.
- atroll 9y agohe works at github, i think we can trust him ;)
- brodock 9y agoThank you for not doing that in JavaScript ️.
- Jasper_ 9y agoHi, You're using large parts of WebKit source code (LGPL) in your proprietary library. This is against the license. Please compare: https://github.com/yue/yue/blob/master/nativeui/gfx/gtk/painter_gtk.cc#L90 https://github.com/yue/yue/blob/master/nativeui/gfx/gtk/pain... https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/graphics/cairo/PathCairo.cpp#L206 https://github.com/WebKit/webkit/blob/master/Source/WebCore/...
- drinchev 9y agoWow, that's very bad. Created an issue for this to prevent anyone else using it. Let's see how the author will respond. https://github.com/yue/help/issues/4 https://github.com/yue/help/issues/4
- GuiA 9y agoYour last sentence, "How would you respond to these?", is fairly passive-aggressive. Pointing out the issue (use of LGPL code with a license that does not permit it) is sufficient.
- kevinfan0 9y agoShould his employer be responsible for this? I just created an issue for BEIPA on this topic: https://github.com/github/balanced-employee-ip-agreement/issues/58 https://github.com/github/balanced-employee-ip-agreement/iss...
- Doctor_Fegg 9y agoThat's LGPL, not GPL.
- viach 9y agoDoes it have any relations to Vue.js or it's just co-branding trick?
- ComodoHacker 9y agoThis looks much like Sciter[0], but without declarative CSS and built-in scripting. 0. https://sciter.com/ https://sciter.com/
- c-smile 9y agoSciter uses H/W accelerated graphics, on Windows for example it uses Direct2D/DirectX. And Yue uses GDI+ that is pure CPU based rasterization. With modern high-DPI monitors, when number of pixels is 4...9 times larger than on old 96ppi monitors, non-GPU rendering is not an option anymore.
- harisvs-code 9y agoAs a side note, I made an app with nodejs and vala without resorting to yue. https://github.com/harisvsulaiman/Pushy https://github.com/harisvsulaiman/Pushy Its a WIP