Here are my point of view:
Ionic
I personally not comfortable with those javascript or typescript syntax, typing command the CLI style, and download dependencies/libraries using npm. I have bad experience with Ionic. I spent very long time to fix a problem integrating Geolocation in iOS app where the ionic library has bugs in permission request. At the end, I gave up. Ionic app is not native and user experience is bad.
Flutter
Look promising but still not stable for production. There is a learning curve. I won't use it for now.
B4X
I love B4X for many reasons. The Basic syntax which I think is the most cleverest programming language ever created on earth. I love the layout designer which is very smart, powerful and always work. B4X is a very high quality and stable. I believe Erel is still working very hard to make this tool as good as possible even though B4X is already an awesome tool.
One IDE
I can live with separate IDE for B4A and B4i. It is amazingly easy to build iOS app (B4i) from the Android version (B4A). The prices to upgrade B4A and B4i are consider reasonable for me. Ionic charge you $120 monthly for accessing the Ionic package and other developer tools.
Look and Feel
Other than the XUI Views, there are a lot of wrapper libraries available to use in our projects. I have no problem with the views in interface design. Perhaps I haven't met a fussy client.
Community
This community is awesome. This is one place to search and get your problem solved. Forget about searching the Internet for days and yet no one can answer your questions in stackoverflow or quora.
Misconception of public
The problem for B4X is lack of popularity. I guess we may lack of evangelist or we all here are too busy to build our products and have no time to promote B4X to the outside world. Beginners think open source tools are great and don't care how hard the learning curve. Some evaluation websites judge how popular a language is by crawling the questions posted in stackoverflow and github repositories thus making public overrating those languages. When beginner ask the question what is the best language to learn in 2019, there are "experts" keep giving the same answer that tool X or Y developed by reputable companies like Google and Facebook.
My problem
Companies nowadays just follow the trend and hype. Job advertisements are looking for Android and iOS developer which only required Java/Kotlin or Objective-C, Swift, Cocoa, Core Data. This makes me difficult to find job in my country and freelance sites. However, I am not switching to other tools.
Conclusion
End of the day, I have nothing to complain about B4X. For me, B4X is still the best compare to Ionic and Flutter. I know that I can build solid app very fast using B4X compared to other tools.
Ionic
I personally not comfortable with those javascript or typescript syntax, typing command the CLI style, and download dependencies/libraries using npm. I have bad experience with Ionic. I spent very long time to fix a problem integrating Geolocation in iOS app where the ionic library has bugs in permission request. At the end, I gave up. Ionic app is not native and user experience is bad.
Flutter
Look promising but still not stable for production. There is a learning curve. I won't use it for now.
B4X
I love B4X for many reasons. The Basic syntax which I think is the most cleverest programming language ever created on earth. I love the layout designer which is very smart, powerful and always work. B4X is a very high quality and stable. I believe Erel is still working very hard to make this tool as good as possible even though B4X is already an awesome tool.
One IDE
I can live with separate IDE for B4A and B4i. It is amazingly easy to build iOS app (B4i) from the Android version (B4A). The prices to upgrade B4A and B4i are consider reasonable for me. Ionic charge you $120 monthly for accessing the Ionic package and other developer tools.
Look and Feel
All the views in B4A and B4i are 100% native.
My only issue with them is that their theming isn't working for me
Don't confuse XUI or B4X with "XUI Views". You are never forced to use it and especially never forced to use all of its views.
Other than the XUI Views, there are a lot of wrapper libraries available to use in our projects. I have no problem with the views in interface design. Perhaps I haven't met a fussy client.
Community
This community is awesome. This is one place to search and get your problem solved. Forget about searching the Internet for days and yet no one can answer your questions in stackoverflow or quora.
Misconception of public
The problem for B4X is lack of popularity. I guess we may lack of evangelist or we all here are too busy to build our products and have no time to promote B4X to the outside world. Beginners think open source tools are great and don't care how hard the learning curve. Some evaluation websites judge how popular a language is by crawling the questions posted in stackoverflow and github repositories thus making public overrating those languages. When beginner ask the question what is the best language to learn in 2019, there are "experts" keep giving the same answer that tool X or Y developed by reputable companies like Google and Facebook.
My problem
Companies nowadays just follow the trend and hype. Job advertisements are looking for Android and iOS developer which only required Java/Kotlin or Objective-C, Swift, Cocoa, Core Data. This makes me difficult to find job in my country and freelance sites. However, I am not switching to other tools.
Conclusion
End of the day, I have nothing to complain about B4X. For me, B4X is still the best compare to Ionic and Flutter. I know that I can build solid app very fast using B4X compared to other tools.