News for hackers. Stuff that matters.

hduden

It is an interesting thought to also use the native layout system on each platform. It might be challenging to provide an abstraction for the native layout that behaves consistently on all platforms, though.

Can you elaborate on why you feel AutoLayout support is needed? If Boden had a layout system of comparable power, would that solve this issue?

Boden dev here. Boden currently supports linear layouts (horizontal and vertical). We know that more is needed for a proper UI. Feedback is appreciated - let us know what you would like to see regarding layout options.

Since all widgets are native, you can easily add your own child widgets to the containers. You can gain access to the native view objects via the "View::getCore" method. However, we do not have a good way yet to insert custom widgets into the Boden layout system. That is an area where more work is needed.

Regarding calling platform APIs: since the apps are written in C++ you can call any platform API you like. On Android you can also use the Boden helper classes (bdn::java::JClass, etc.) to make Java calls from C++. On iOS the easiest way is to create an Objective C++ file (.mm file extension). In there you can combine C++ and Objective C code freely.

I am a member of the Boden dev team. The smart pointer system is actually still a topic of discussion in the Boden team as well. It has a couple of nice properties, like the fine grained control bdn::P gives us over the time when an object is actually destructed. For example, these pointers provide an easy way to ensure that destruction of our View objects happens only on the main thread, no matter which thread released the last reference.

But on the other hand, not using the standard constructs definitely has a cost associated with it. We are happy for your feedback on this issue.

Note that we also think about the idea of transforming P and making it a specialization of std::shared_ptr for objects derived from bdn::Base. That would give us the best of both worlds. Feel free to let us know what you think.