Status
Hello,
How does your framework compare to Xamarin Forms in terms of features and performance? I haven't yet tried the framework, but are you guys still maintaining the framework? What are your plans?
Thanks
As I know, nobody did performance comparison with XF. The only point I have here is some performance important things (like virtualization of ListBox items) should work by default (like in WPF), while XF requires to configure them explicitly.
For features support, we expect the same features set as you have on modern Windows for mobile devices (currently it is UWP). Unfortunately, a huge part of that is not implemented yet, for example animations. Additionally, the XAML editor works in Visual Studio (and therefore on Windows) only, while XF is available on Mac as well as Windows.
We are still maintaining the framework as we are using it for our projects. Current version might not work for Android, but there are bunch of changes in the develop branch fixing that. We expect to merge these changes soon. Visual Studio extension is not publicly available at the moment, but we expect to publish it soon as well.
Thanks. Some random thoughts and questions:
- Can you point to any iOS or Android apps in stores developed using the framework? It's the best way to see how framework is doing.
- Are you interested to gain attraction and popularity? Or is it just a playground project? I think there is a great demand of an OSS alternative to Xamarin Forms.
- If you are interested for others to use your framework, there should be at least some minimal documentation how to use it. Currently there's none.
- Is there a similar mechanism to what Xamarin Forms "renderer" is doing?
- The current Appercode NuGet package is from 6 months ago.
- The current code in master branch does not compile, I think because of the 'mono' folder. Try to clone it and see it for yourself.
- As far as I know, TrueCare24 is the only published app which is built with Appercode UI Framework. Their Android app is not published yet.
- We definitely interested in that, but currently we don't have enough resources to promote the framework. Community help is appreciated. However, XF is also an open source project now, so we have no advantages here.
- Good point about documentation, I agree, we need at list a start guide.
- No, the goal is to provide similar experience as Windows frameworks provide. Therefore, we are going to avoid any "alien" stuff, like renderers. Currently, rendering is encapsulated into implementation of each control.
- The NuGet package will be updated as soon as develop branch will be merged.
- The
monofolder is submodule pointing to the mono fork. Don't forget to rungit submodule update --init --recursiveafter cloning.
However, XF is also an open source project now, so we have no advantages here.
XF is advancing slow. It still has bugs related to basic controls and features. There's definitely room for other frameworks.
No, the goal is to provide similar experience as Windows frameworks provide. Therefore, we are going to avoid any "alien" stuff, like renderers. Currently, rendering is encapsulated into implementation of each control.
OK, but how do you support extensibility, customization and the use of native features? For example, if I want to use a native control from an OSS native library I found, how do I do that? How do I plug it in?
We definitely interested in that, but currently we don't have enough resources to promote the framework.
I don't think you need any special advertising, if the framework is good people will come. Right now there are probably hundreds/thousands of people using Xamarin Forms.
how do you support extensibility, customization and the use of native features? For example, if I want to use a native control from an OSS native library I found, how do I do that? How do I plug it in?
Basically, we support extensibility in the same way as for Windows frameworks do: you use UIElement (or any specific control you want) as a base class and add your dependency properties. After that, create an instance and put it as a child to some container (like Grid or StackPanel) on your page. To render you control with a native control you can override NativeXxx methods. The framework code provides lots of examples.
I looked over the code. Let's say I want to enhance Appercode's TextBlock in some way, add new properties, how do I do that? Let's say I want my own class TextBlockEx derived from TextBlock.
So, what exactly are you stuck on?
I am not able to clone. Visual Studio gives error that it couldn't clone. Why did you have to clone mono?
Thanks!