Based on my experience:
- Are you glad you chose these tools?
Yes, I had spent some time researching other languages and have found the B4X products fits my development style. For me there are several benefits:
1. A simple scripting language
2. Being able to use Java Object / Native Object to access API's which are not directly accessible from the language (with a bit of help from the community ), as well as developing your own libraries.
3. Not having to use Android Studio / XCode on a daily basis (why are they so slow?)
4. Wireless debugging
- Do you think you saved significant time over the native SDKs?
It definitely saves time, making full use of B4X, XUI controls has reduced the time it has taken to develop for both platforms, at the same time. As mentioned earlier, there are a few quirks, but these can normally be abstracted away, hidden in helper functions or using the B4XView type.
iOS resize events losing some formatting still trip me up though.
- Did you achieve enough reuse to make it a smart choice, as opposed to choosing a Javascript-based cross platform technology?
I am a bit biased against javascript as I hate weakly typed languages, but that is me.
Whilst I would not go as high as 99%, I would definitely say that I get over 80% code reuse.
My android activity modules have very little code, everything happens inside a class. It has taken me a number of years and the advent of the XUI classes to get there, but right now this provides simplicity and a lot of power.
- Does the product now contain support for building a single layout in a responsive manner, as opposed to having to essentially hard code to a screen resolution?
I would say yes, the use of anchors and designer scripting which should cover you for most circumstances. Also make full use of Custom Views.
There is still some bias against using a Basic based language, both from other developers and some clients. I have started to refer to B4X as a low-code tool-set/environment which whilst not being strictly true, seems to work.
Andrew