Xamarin.Forms Feature Roadmap

2456711

Posts

  • seanydaseanyda GBMember ✭✭✭✭✭

    @JohnHardman said:
    @PierceBoggan @DavidOrtinau -

    A while ago, I outsourced (at my own expense!) development of drag & drop functionality for use in my first app. There's still work to be done (the biggest bit is that UWP is not working currently), but the code so far can be found at https://github.com/johnshardman/XF_DragAndDrop

    If nothing else, it shows that it can be done (subject to getting it working on UWP). Any chance of the Xamarin.Forms team taking this over, completing & enhancing, to get it built into ListView at some point in future, even if a fairly distant future?

    I don't mind building a DraggableGestureRecogniser similar to what I did with the SwipeGestureRecogniser?

    https://github.com/xamarin/Xamarin.Forms/pull/657

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭
    edited January 6

    @DavidOrtinau - Accessibility is a NFR that many developers overlook. A big thumbs up from me for getting it visibly on the roadmap. The statistics for how many potential users are excluded by not supporting accessibility come as a surprise to most devs. Supporting accessibility is not just the right thing to do, it also increases potential revenues by increasing the number of potential users of an app.

    (It's also one to bear in mind when looking at drag & drop, which is inherently accessibility-unfriendly. Any functionality that is implemented using drag & drop also has to have a more accessibility-friendly method of use).

    Data protection legislation is another area that often gets overlooked. Whilst I understand you are looking primarily at XF, is anybody publishing a roadmap for Insights/HockeyApp? It's vital that it takes into account data protection legislation in different parts of the world. In the work I am doing with Xamarin.Forms, I am using Insights & HockeyApp during development, but I will be replacing it before going to production unless legislation is taken into account. I hope that the Microsoft acquisition of Xamarin will result in Microsoft's understanding of global issues resulting in products being updated, but a timescale would be useful.

  • JohanMulderJohanMulder USMember ✭✭
    edited January 7

    Great to see the new roadmap. Congrats to David.

    2.5.0 - May 2017
    Xamarin.Forms Embedding - Feature
    Embed Xamarin.Forms into a native Xamarin.iOS, Xamarin.Android, or Windows 10 app.

    Does this mean native XAML and XF XAML can live together in the same view or are we saying a separate view for native and XF ?

    This would be a really great feature especially enhancing XF with more native UWP desktop PC form factors. Can't wait !! Any plans to work closer to the template10 guys on UWP ? They doing a great job and it would be awesome to see closer integration between Xamarin and Template10.

  • CharlesRoddieCharlesRoddie USMember ✭✭

    Really good stuff here. Congrats on the continuing progress.

    I was looking at OS share stats yesterday and made some projections. Based on Statscounter data.

    Worldwide Xamarin.Forms covers basically 100% of smartphones and 39% of desktops, 46% projected in 1yr.
    With Mac OS this goes up to 100% of smartphones and 50% of desktops now, 58% in 1yr.

    Now... if Xamarin.Forms could target WPF too it would cover 100% of smartphones and 93% of desktops now, 97% in 1yr.

    That would be highly impressive and very attractive I think for developers.

    Something to consider after MacOS support?

  • JohanMulderJohanMulder USMember ✭✭
    edited January 8

    I agree @CharlesRoddie with cross platform footprint , but i would change WPF for HTML5 derived from XAML (website). Dreaming here ;)

    Similar to the project cshtml5.com that would surely push that desktop figure to 100% in one go.

    Imagine writing XAML on all platforms including web and c# code transpiled into typescript (that is also useful in angular)

  • CharlesRoddieCharlesRoddie USMember ✭✭

    Interesting idea and I'm sure I'd use it if it were available. But it would be the other end of the spectrum from WPF support in terms of implementation difficulty, and also performance!

  • JensDemeyJensDemey USMember ✭✭

    @JohnHardman said:
    Data protection legislation is another area that often gets overlooked. Whilst I understand you are looking primarily at XF, is anybody publishing a roadmap for Insights/HockeyApp? It's vital that it takes into account data protection legislation in different parts of the world.

    I just wanted to say that I also feel like this is pretty important. I personally have zero knowledge of all the different laws.

  • DavidOrtinauDavidOrtinau USForum Administrator, Xamarin Team, Insider, University Xamurai

    @lpdavies said:

    @JohnHardman said:
    @PierceBoggan @DavidOrtinau -

    A while ago, I outsourced (at my own expense!) development of drag & drop functionality for use in my first app. There's still work to be done (the biggest bit is that UWP is not working currently), but the code so far can be found at https://github.com/johnshardman/XF_DragAndDrop

    If nothing else, it shows that it can be done (subject to getting it working on UWP). Any chance of the Xamarin.Forms team taking this over, completing & enhancing, to get it built into ListView at some point in future, even if a fairly distant future?

    I don't mind building a DraggableGestureRecogniser similar to what I did with the SwipeGestureRecogniser?

    https://github.com/xamarin/Xamarin.Forms/pull/657

    How about we get those open in the Evolution forum for further exploration / discussion?

  • seanydaseanyda GBMember ✭✭✭✭✭

    @DavidOrtinau said:

    @lpdavies said:

    @JohnHardman said:
    @PierceBoggan @DavidOrtinau -

    A while ago, I outsourced (at my own expense!) development of drag & drop functionality for use in my first app. There's still work to be done (the biggest bit is that UWP is not working currently), but the code so far can be found at https://github.com/johnshardman/XF_DragAndDrop

    If nothing else, it shows that it can be done (subject to getting it working on UWP). Any chance of the Xamarin.Forms team taking this over, completing & enhancing, to get it built into ListView at some point in future, even if a fairly distant future?

    I don't mind building a DraggableGestureRecogniser similar to what I did with the SwipeGestureRecogniser?

    https://github.com/xamarin/Xamarin.Forms/pull/657

    How about we get those open in the Evolution forum for further exploration / discussion?

    I would but I'm not sure how I would design the API yet and I don't have a good enough use case to make a thread :( Ill have a think tonight.

  • MercifulGiraffeMercifulGiraffe USMember ✭✭

    Deprecation of WP8

    I know that this is an old platform, but this is a dealbreaker for us.

    We have a major customer with thousands of devices in many countries around the world, and replacing them all is prohibitivly expensive. If this happens, we will not be able to upgrade to any future version. Please reconsider.

  • DavidOrtinauDavidOrtinau USForum Administrator, Xamarin Team, Insider, University Xamurai

    @MercifulGiraffe said:
    Deprecation of WP8

    I know that this is an old platform, but this is a dealbreaker for us.

    We have a major customer with thousands of devices in many countries around the world, and replacing them all is prohibitivly expensive. If this happens, we will not be able to upgrade to any future version. Please reconsider.

    Let's talk about this and what your options might be. I'll reach out directly.

  • PhilippSumiPhilippSumi USMember ✭✭✭

    Any word on push notification support? It appears Google Could Messaging (GCM) is deprecated (I can't even register a GCM API key anymore in Azure, since Google stopped accepting new keys that aren't Firebase), and Xamarin Forms is still maintaining a hard dependency on Google Play Service 29.0.0.1. As far as I can tell, push notifications with XF/Android are broken for new projects - this has showstopper quality for the whole platform IMO.

  • DavidOrtinauDavidOrtinau USForum Administrator, Xamarin Team, Insider, University Xamurai

    @PhilippSumi said:
    Any word on push notification support? It appears Google Could Messaging (GCM) is deprecated (I can't even register a GCM API key anymore in Azure, since Google stopped accepting new keys that aren't Firebase), and Xamarin Forms is still maintaining a hard dependency on Google Play Service 29.0.0.1. As far as I can tell, push notifications with XF/Android are broken for new projects - this has showstopper quality for the whole platform IMO.

    As mentioned in the 2.3.4.184-pre1 thread, the dependency is still present and thus nothing is changed on that front yet. It's a well known pain point and we hope to have a way forward soon. I'll eagerly share progress on this as I have it.

    If Azure is an option for you, push notifications are working there last I checked.

  • PhilippSumiPhilippSumi USMember ✭✭✭

    @DavidOrtinau said:
    If Azure is an option for you, push notifications are working there last I checked.

    I am running an Azure Notification Hub, but Azure relies on GCM. I tried registering my GCM key with my Azure Notification Hub but got an error from the Google side - apparently, they stopped supporting new registrations in September, but require FCM server IDs. Registering my FCM server key works of course, but that gets me to the FCM problem on Android.

    Please correct me if I'm wrong (I'd really love to be wrong ;)

  • ABDIdaud.2219ABDIdaud.2219 USUniversity

    Xamarin.Forms Embedding - Feature
    Embed Xamarin.Forms into a native Xamarin.iOS, Xamarin.Android, or Windows 10 app.

    This unlocks many features such as having Android Fragments with forms!

  • BrightLeeBrightLee KRMember ✭✭✭

    @PhilippSumi
    Hi, Push notification is working fine for me on XF/Android.
    I registered on Firebase and got a key (FCM).
    And I use it with GCM framework on XF/Android.
    I'm not using Azure server.

    Is this what you're talking about?
    Maybe not?..

  • PhilippSumiPhilippSumi USMember ✭✭✭

    @BBright said:
    @PhilippSumi
    Hi, Push notification is working fine for me on XF/Android.
    I registered on Firebase and got a key (FCM).
    And I use it with GCM framework on XF/Android.
    I'm not using Azure server.

    Is this what you're talking about?
    Maybe not?..

    Yay! I got it to work with a completely new GCM setup:

    • Created a new project in the Google API console
    • Enabled GCM and created an API key for it. Restricted the API key to my Android app.
    • Created a new Firebase project by importing the Google project
    • Registered the Firebase Server key (the new long one) in Azure Notification Hub
  • BruceWilkinsBruceWilkins USMember

    Thanks for the roadmap, great to see how far things have come!

    Quality is top of the list. This means stability and performance first and foremost.

    This is definitely one of the biggest pain points when writing professional apps for paying customers. The coming features look great but hope the standard of quality and performance will improve!

    It would also be great to finally get a bindable span!

  • MichaelZMichaelZ USMember

    @DavidOrtinau Can you elaborate further on the feature details of Xamarin Forms Embedding in native Xamarin.iOS and Xamarin.droid apps slated for v2.5?

  • DavidOrtinauDavidOrtinau USForum Administrator, Xamarin Team, Insider, University Xamurai

    @MichaelZ said:
    @DavidOrtinau Can you elaborate further on the feature details of Xamarin Forms Embedding in native Xamarin.iOS and Xamarin.droid apps slated for v2.5?

    We'll get a proposal added to the Evolution forum with more details.

    Basically you'll be able to take things like a ContentPage and use it as a control in Xamarin.iOS and Xamarin.Android.

  • JamesHancock.1360JamesHancock.1360 USMember ✭✭

    Missing Desktop things like cursors, mouse overs, drag and drop, skinable buttons (i.e. gray buttons on UWP don't fly in 2017 and need to have the same functionality as UWP XAML)

  • PaulVipondPaulVipond GBMember

    My relationship with Xamarin development has been a kind of love / hate event from the start. I love developing in C# cross-platform. I love how .NET core came along and allowed me to develop the back-end API as fast as my fingers and thoughts will allow and have it sitting on a cheap Linux box with Postgresql to store and serve my data.

    But the front-end? SIGH. I hate how clunky it feels by comparison. I hit compile about 2 minutes ago and it's still going. So here's a thought - when we're looking at optimization, as developers we seek out the big gains, the steps we deduce are taking too much time, and we address those first. So why not devote 1-2 iteration cycles to this, but looking at the entire development process.

    My votes would be:

    Android linking - specifically zipalign.exe and building the APK . Let's get the android compile time to the same level as the PCL compile time. And why compile the APK again if I haven't made any changes? Visual Studio should intelligently just check and relaunch what I had before.

    Mono / forms startup & screen display time. I began developing my app in Xamarin Forms. That gave me a 6 second cold startup time and a noticeable lag in screen to screen navigation on my Note 3. Abandoned that for Xamarin Native which shows my splash screen after 1 second but still takes 4 seconds total (sometimes 5) to cold start. My app doesn't do any complicated processing. Surely this can be bettered? I don't currently anticipate getting close to any of the best times logged here: http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html?top?=25&category=MUSIC_STREAMING People really started paying attention when kestrel started to fly ()

    UI design. The android screen designer currently doesn't render everything and also slows down to the point of crashing if you use it too many times. I think these are in the process of being fixed, but what about drag and drop screen creation?

    Design templates. OK, I admit - I'm graphically challenged. Make it easy for professional graphic designers to produce high quality designs (IN AXML!) that can be quickly integrated to make good looking apps.

    On a separate note, my ultimate development fantasy (I do need to get out more) is to create a XF implementation from the group-up which uses a managed C# HTML 5 renderer that is implemented across all platforms and supports C# view models behind the HTML UI. Forget about slavishly following all of the vendor UI changes in XF, just tweak the CSS and it looks like Android, iOS or WP - compiled or interpreted, you choose. Team that with fully supported cross-platform implementations for purchasing, push messaging, secure storage, device info etc and you're looking at the most capable mobile development platform on the planet :-)

    Finally, release Xamarin Profiler for everyone with a professional VS subscription. Pretty please?

  • PaulVipondPaulVipond GBMember

    While I'm on a roll. Just compiled my app for release and it won't talk to my server, whilst the debug version works perfectly. No idea why, but I'm sure I'll find out in about 4-8 hours :-( That's my average TTS (time to solution) when something doesn't work in Xamarin. It's all about the cycle.

  • DavidOrtinauDavidOrtinau USForum Administrator, Xamarin Team, Insider, University Xamurai
    edited January 19

    @PaulVipond said:
    While I'm on a roll. Just compiled my app for release and it won't talk to my server, whilst the debug version works perfectly. No idea why, but I'm sure I'll find out in about 4-8 hours :-( That's my average TTS (time to solution) when something doesn't work in Xamarin. It's all about the cycle.

    Hey Paul, thanks for all your feedback. We are doing work on performance, both in the near term as shown on the roadmap, as well as long term.

    2 minute compiles and issues talking to your server in release are NOT to be expected and you've every right to put that in the "hate" column. Let's get that looked at. I'll message you directly and let's find the right channel for you to get some answers.

  • BjornBBjornB USMember ✭✭✭

    @PaulVipond said:
    While I'm on a roll. Just compiled my app for release and it won't talk to my server, whilst the debug version works perfectly. No idea why, but I'm sure I'll find out in about 4-8 hours :-( That's my average TTS (time to solution) when something doesn't work in Xamarin. It's all about the cycle.

    Do you use modernhttpclient? if so, test to delete it

  • FireflyFirefly RUMember
    edited January 19

    @DavidOrtinau said:

    @PhilippSumi said:
    Any word on push notification support? It appears Google Could Messaging (GCM) is deprecated (I can't even register a GCM API key anymore in Azure, since Google stopped accepting new keys that aren't Firebase), and Xamarin Forms is still maintaining a hard dependency on Google Play Service 29.0.0.1. As far as I can tell, push notifications with XF/Android are broken for new projects - this has showstopper quality for the whole platform IMO.

    As mentioned in the 2.3.4.184-pre1 thread, the dependency is still present and thus nothing is changed on that front yet. It's a well known pain point and we hope to have a way forward soon. I'll eagerly share progress on this as I have it.

    If Azure is an option for you, push notifications are working there last I checked.

    David, could you tell us please, just approximate dates when planned to implement FCM support for Xamarin Forms (dependence on Android.Support v. 24.2+). One week, one month, one year? I just have a big problem now.

    Our company developing an application for a customer within the last 6 months using Xamarin Forms. Now the development has reached the Push-notifications integration (without Azure) and I cannot integrate the FCM in our project. Moreover, for the other customer we now launching a new project, also on Xamarin Forms. A few months later the same problem will arise in new project too.

    So, I don’t know what I should to do now. What I must say to my current customer, and how to plan my new project?
    I'd be very grateful for any advice.

    Thanks, in advance.

  • PaulVipondPaulVipond GBMember

    @Firefly before I moved to Xamarin Android my push messaging was working fine with a FCM key and this cross-platform plugin: https://github.com/rdelrosario/xamarin-plugins/tree/master/PushNotification I did, however, download the source and recompile it against the latest support libraries to get it working. Tested and working well on Android.

  • BrightLeeBrightLee KRMember ✭✭✭

    @Firefly
    Why don't you try FCM with GCM library, like @PaulVipond said, try rdelrosario's push plugin with FCM key.
    That's what I did and it's been working fine.

  • voidvoid DKBeta ✭✭✭
    edited January 20

    @PaulVipond said:
    On a separate note, my ultimate development fantasy (I do need to get out more) is to create a XF implementation from the group-up which uses a managed C# HTML 5 renderer that is implemented across all platforms and supports C# view models behind the HTML UI. Forget about slavishly following all of the vendor UI changes in XF, just tweak the CSS and it looks like Android, iOS or WP - compiled or interpreted, you choose.

    I like the base concept, but would prefer something like flutter from google. I believe the presentation layer is based on Skia : https://flutter.io/faq/

    Watching a flutter presentation a while back, I remember them saying that most of the the award winning apps don't follow vendor UI anyway. So what was true a few year back (stick to the platform UI paradigms) does not necessarily apply anymore. XF might as well supply a new category of UI widgets. Come on XF team. Dip your toes in those waters :)

    Too bad NGraphics/NControls did not take it to this level: https://github.com/chrfalch/NControl

  • seanydaseanyda GBMember ✭✭✭✭✭

    @DavidOrtinau Do you have an ETA for the CarouselView release? Do you think it will be early or late February? I'm doing a project and I'm not sure whether I should add the CarouselView or not since it needs to be live in a couple of weeks.

  • FireflyFirefly RUMember

    @PaulVipond
    @BBright
    Thanks for your answer, but is this a reliable solution to use FCM with GCM library? FCM doesn’t have to support GCM protocols, am I right? Nevertheless, we will have this solution as a plan “B”. Still waiting for @DavidOrtinau ’s answer.

  • PaulVipondPaulVipond GBMember

    @Firefly there's a thread here that discusses GCM versus FCM. http://stackoverflow.com/questions/37311188/migration-from-gcm-to-fcm-needed You'll have to judge reliability for yourself, but the general consensus is that FCM is a superset of GCM.

    @void Thanks for links. I haven't seen Flutter or the NGraphics/NControls project. The NGraphics one would have been perfect for one part of my app, had I continued with XF.

  • DH_HA1DH_HA1 USMember ✭✭✭

    @DavidDunscombe partial AOT is what I would call it. Jon Pryor and I were discussing this same thing as well and he came up with this:

    https://github.com/jonpryor/Scratch.MyCamera/blob/jonp-partial-aot/Documentation/PartialAOT.md

    I can confirm that is does improve startup time for Android and adds about 20 MB to the total app size on the device. A lot less than full AOT.

  • DavidDunscombeDavidDunscombe GBMember ✭✭
    edited January 20

    @void said:

    Watching a flutter presentation a while back, I remember them saying that most of the the award winning apps don't follow vendor UI anyway. So what was true a few year back (stick to the platform UI paradigms) does not necessarily apply anymore. XF might as well supply a new category of UI widgets. Come on XF team. Dip your toes in those waters :)

    Too bad NGraphics/NControls did not take it to this level: https://github.com/chrfalch/NControl

    I've played around with using SkiaSharp for rendering controls in a couple of ways, its certainly a quick library.

    I while back i had a go at porting Xamarin Forms to the Raspberry PI using SkiaSharp (https://github.com/roceh/Xamarin.Forms/tree/skia) it actually ran quite well using a non accelerated pure frame buffer (with what few controls i ported) so I've no doubt GPU accelerated SkiaSharp Xamarin Forms running on Android/iOS would be quite snappy.

    I also did a partial SkiaSharp xaml layout container which I've used primary for complex viewcells for performance reasons on Android (https://github.com/roceh/MycoLayout), I was surprised it was faster (as it creates and destroys bitmaps at a fair rate), but the multitude of views on complex layouts that Xamarin Forms Android creates and the interop costs surrounding all that really hurts performance. One of the reasons the May update looks really hopeful.

  • PaulVipondPaulVipond GBMember

    @BjornB Interesting tip on ModernHttpClient thanks. I'm using MvvmCross and had this defined as part of my IoC setup:

            Mvx.RegisterType<HttpClient>(() =>
            {
                return new HttpClient(new NativeMessageHandler());
            });
    

    So removed new NativeMessageHandler() from the constructor and yay - it starts working in release mode. I commented it back in to check that was definitely the issue and ... you guessed it, erm, it was still working. This platform plays with your mind :-)

  • voidvoid DKBeta ✭✭✭
    edited January 21

    @DavidDunscombe said:

    @void said:

    I've played around with using SkiaSharp for rendering controls in a couple of ways, its certainly a quick library.

    I while back i had a go at porting Xamarin Forms to the Raspberry PI using SkiaSharp (https://github.com/roceh/Xamarin.Forms/tree/skia) it actually ran quite well using a non accelerated pure frame buffer (with what few controls i ported) so I've no doubt GPU accelerated SkiaSharp Xamarin Forms running on Android/iOS would be quite snappy.

    I also did a partial SkiaSharp xaml layout container which I've used primary for complex viewcells for performance reasons on Android (https://github.com/roceh/MycoLayout), I was surprised it was faster (as it creates and destroys bitmaps at a fair rate), but the multitude of views on complex layouts that Xamarin Forms Android creates and the interop costs surrounding all that really hurts performance. One of the reasons the May update looks really hopeful.

    Cool stuff. Thanks for sharing!

    XF has been plagued by instability from the get go. I've come to believe that this will continue for architectural reasons. The XF abstraction footprint on the platforms beneath are simply to big. Crack ans crevices will form every time the platform expands, changes og moves - and developers will complain. Adding new platforms will only make the problem bigger.

    Make no mistake, I'm here to stay. But I do hope that Xamarin will be looking at initiatives like flutter.io and your links.

Sign In or Register to comment.