Live data from Hacker News

Boden cross-platform framework: Native C++11, native widgets, no JavaScript

github.com

51–60 of 98 posts

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#51
post #46

Earlier quoted context omitted.

You could make this exact same framework with rust as the backend instead of C++. I have made a proof of concept MVVM app in rust for iOS and Android. Instead of binding view models and state you bind the entire platform with bindings for every widget and control. Its not too much work but it is a lot of boring code to write and maintain.

Is this on GH or somewhere? :)

Its not a complete product, just an exploration I am not done with but feel free to look around https://github.com/mpiannucci/buoyfinder-v3

Ignore the generator folder haha

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#52
post #2

> Native widgets: Instead of drawing widgets that look nearly identical to the platform's design, Boden uses native OEM widgets ensuring that your app will always have a truly native look and feel. While I fully understand the underlying concept, I don’t understand why so many people seems to be bothered by that anymore; I used to care about that as an Android user, but most of the apps I use everyday on my phone (Tw…

There are so many hidden behaviors in native widgets that once you get accustomed to, you can't go back any more. Here are a few of the ones:

* Right click the document icon on the title bar to reveal a menu bar for ancestor directories * Drag the document icon into things like an email client as an attachment * Support Emacs-style text editing shortcuts such as C-a C-e C-k everywhere, as well as user-defined ones (I added a bunch of other Emacs ones like M-f) * Trackpad shortcuts such as three finger press on a word to show dictionary and thesaurus * Drag and drop selected text to move it * Hold option while selecting text for rectangular selection

There are many others. I get upset if something doesn't work when I know it should work if the app developer is using native controls.

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#53

A couple of questions I had that I didn’t seem answered in the README: * How is view positioning handled? Does Boden only allow for “list” layouts? * Can I use my own native components? * Can I call platform APIs?

Yeah - if this was using something like flexbox for layout that'd actually be pretty neat.

Here’s all the layout code.. pretty simple and easy it looks like https://github.com/AshampooSystems/boden/tree/master/framewo...

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#54

This is pretty much all I want except for it being GPL

Is there any reason why you don't want to publish your changes to the library?

It's GPL, not LGPL, so your code will also have to be licensed GPL.

Which means that:

1. you can't build proprietary apps with this framework, and;

2. it's almost certain to be rejected by the Apple App Store, since they typically reject GPL-licensed apps. A few might sneak through, but as a matter of policy, Apple rejects GPL apps since the GPL conflicts with Apple's App Store terms. (btw, this problem even exists with LGPL)

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#56
post #54

Earlier quoted context omitted.

Is there any reason why you don't want to publish your changes to the library?

It's GPL, not LGPL, so your code will also have to be licensed GPL. Which means that: 1. you can't build proprietary apps with this framework, and; 2. it's almost certain to be rejected by the Apple App Store, since they typically reject GPL-licensed apps. A few might sneak through, but as a matter of policy, Apple rejects GPL apps since the GPL conflicts with Apple's App Store terms. (btw, this problem even exists w…

I like the spirit of open source but every time I see GPL, I feel like it is an evil license that tries to consume everything it touches - even the stuff it has absolutely no rights for. That is not the spirit of open source.

It has caused ages of headaches, law firms getting rich and unintentional business losses.

How about a license that says "You cannot use it for any commercial use or closed source projects" so then at least it doesn't claim rights to the rest of the source code. GPL goes a notch beyond and claims rights to proprietary code that so that community can enjoy the fruits of labor at the expense of a small set of people developed without anything to return.

Copy-left licenses are overarching evil in my view.

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#57
post #31

Earlier quoted context omitted.

Native widgets don't just mean "look". They can also mean "feel". This is particularly true on macOS. On macOS, I expect certain widgets in order to accomplish certain tasks. I expect that they will respond to mouseover and button presses in a certain way. I expect to be able to use certain key combinations to cause certain widgets to do certain things, I expect keyboard combinations to be able to be redefined in Sys…

The takeaway here is that each OS trains you in its own way to look down at all those morons using one of the other ones.

While the intention of the design may not be what you describe, one of the consequences often is.

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#58
post #45

If you want to go down this road, doing mobile cross-platform native, Xamarin seems much more compelling. It is supported by a very good IDE and has proper licensing for distribution on the app stores. https://visualstudio.microsoft.com/xamarin/

uhm. i tried it.

the example app you get out of the box. it didn't run the dummy tests successfully on either ios or android side (forgot which one).

upgraded to the latest version other issues on the example app.

for me this was already a big no-no. if the tests are failing on the example app.

Re: Boden cross-platform framework: Native C++11, native widgets, no JavaScript

#60
post #40
post #29

Earlier quoted context omitted.

Why?

If you create a program that links with a GPL library, the program as a whole must itself also be GPL - which is not always acceptable. See section 5 of the GPL: https://www.gnu.org/licenses/gpl.html "You may convey a work based on the Program ... provided that you also meet all of these conditions: ... c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy"

Not always. I believe a common understanding is if it statically links with GPL code, then it spreads to your code. If it dynamically links then your program is not hit with GPL, as the user is able to change the dynamic library with their own. If what you dewxribed were the case, then the Tivoization lawsuit would have went differently instead of GPLv3 coming out.
Post reply on HN