Given that on the desktop Windows has 20x the share of MacOS, and 30x the share of Linux, it's extremely dissapointing that WPF is pushed out to "Backlog" while MacOS is already in Preview and Linux is Q4 2017.
This is either a case of extremely poor priorities (is the plan based on the preferences of hobbyists?) or inexplicable technological hurdles (given that WPF is so close to Xamarin.Forms in structure, in theory it should be the easiest new platform).
WPF+iOS+Android are a natural combination for traditional Xamarin.Forms LOB apps (port your WPF app and get to keep it), and for any developers wanting reach (95% desktops and 99% mobiles).
The MacOS effort is great. I don't want to start any platform war or say that one platform is better than another, but I do want to reach the maximum number of users, and until January 2020 when Win7 goes out of extended support, that means WPF is critical.
@CharlesRoddie oh, I don't want WPF in the backlog at all. I'm trying to get it completed. I hope to have good news on that front soon. As it stands today, with what we have to work, it's in the backlog.
It is not a matter of prioritizing Mac or GTK above WPF.
@DavidOrtinau Hi, I know there are many things are going on xamarin. But what available in xamarin forms is enough to make good and responsive app with some tweaks for us. But the only problem causing us is app startup time Specially in Android.
I know its in milestone. But if possible in next preview please do something for app startup. Thanks.
If any one wants this please 1+
@KalpeshChheda said: @DavidOrtinau Hi, I know there are many things are going on xamarin. But what available in xamarin forms is enough to make good and responsive app with some tweaks for us. But the only problem causing us is app startup time Specially in Android.
I know its in milestone. But if possible in next preview please do something for app startup. Thanks.
If any one wants this please 1+
Yes, please. Need massive speed improvement and apk size to be small in that order. Thank you.
Please include Popover control and CarouselView in Xamarin.Forms 3.0.
Most of projects need some kind of overlay to implement custom features, but since there is no standard and easy way to do that, we go for some hack methods, like using nested absolute views, which impact performance in the end.
So if there were native PopOver view then all problems solved, I give +100 for the Popover control.
Performance so far is not that bad, many high end applications on google play store are already above few seconds in start up time, so that's not a big deal for me.
+100 to @joshua.7347
I really don't understand, that the PopOver (that is missing since the start of .Forms) is shifted to backlog although it should be there already (according to the last version if the roadmap).
his is an important basic control.
I tried the latest VS for Mac alpha version and i saw that i cannot create a new project so to use Xamarin.Forms for Mac development. It seems that i need to have first installed iOS or Android support to do that. Am i doing something wrong or is that a actually the case? And will Xamarin.Forms 3.0 will allow us to just build Mac software with Forms without the need for mobile too?
@DavidOrtinau Since 2.4 is released, can you please update the roadmap? Also, is there any way we could prioritize PopOver and CarouselView a bit higher so that they are not in the "backlog"? I think many of us would benefit from these controls immensely.
@AnthonyBoudouvas said:
I tried the latest VS for Mac alpha version and i saw that i cannot create a new project so to use Xamarin.Forms for Mac development. It seems that i need to have first installed iOS or Android support to do that. Am i doing something wrong or is that a actually the case? And will Xamarin.Forms 3.0 will allow us to just build Mac software with Forms without the need for mobile too?
We will be releasing templates to support this. You don't need iOS or Android to do Mac. For the moment, I recommend creating a new Blank Forms application from the templates, then you can either ignore or remove the iOS and Android projects. Then add a new Cocoa project to the solution and modify it to run Xamarin.Forms following the blog post.
Ok, these templates would be more than welcomed! But for now, the New Project Wizard does not allow me to make a new Blank Forms Apps. It sees that i dot not have any iOS or Android Xamarin stuff installed and the final "next" button is greyed-out! I had to run the VS for Mac installer again and check the iOS entry (so the iOS stuff be installed) to allow me to complete that wizard and finally add a Mac project.
@AnthonyBoudouvas said:
I tried the latest VS for Mac alpha version and i saw that i cannot create a new project so to use Xamarin.Forms for Mac development. It seems that i need to have first installed iOS or Android support to do that. Am i doing something wrong or is that a actually the case? And will Xamarin.Forms 3.0 will allow us to just build Mac software with Forms without the need for mobile too?
We will be releasing templates to support this. You don't need iOS or Android to do Mac. For the moment, I recommend creating a new Blank Forms application from the templates, then you can either ignore or remove the iOS and Android projects. Then add a new Cocoa project to the solution and modify it to run Xamarin.Forms following the blog post.
@DavidOrtinau Any ETA on when you will be able to update the roadmap? I too would like to see the PopOver control / CarouselView / WPF be given higher priority.
Hmm...i did exactly as David's post describe and i have some errors now (in AppDelegate.cs):
"Error: 'AppDelegate.MainWindow': No suitable method to override and
"Error: The name 'LoadApplication' does not exist in the current context.
Clearly something is missing...
I have Xamarin.Forms packages and Xamarin.Mac reference, what i am doing wrong? I have VS for Mac latest stable version, do i need to switch to Alpha and update for this to work?
Update: Xamarin Forms on Windows Desktop (Win7 and Win 10 tested)
While we wait on a WPF backend I thought I'd try the GTK backend on Windows.
It worked really well so may help @CharlesRoddie and others.
I had to gather hints and blog posts from several places so have collected everything here.
I started with an existing Xamarin Forms project (shared code project) for iOS and Droid.
1) Creating the new Project
a) In the NuGet settings I had to add an additional Nuget Repo from https://www.myget.org/F/xamarinforms-dev/api/v3/index.json so I could fetch Xamarin Forms 3.0.0 beta with GTK support
b) I started on Visual Studio for Mac
c) Into my existing solution I added a new project called MyApp.GTK. This used the New Project template for adding a GTK project found in "Other->.Net->GTK# 2"
Sorry, I am not sure how you create this project under Visual Studio on Windows.
d) Then I added in Xamarin Forms 3.0.0 beta with GTK backend from the new NuGet Repo.
e) I had to add a 'Reference' to my shared project (called MyApp) where my Xamarin Forms App class was.
f) Then I had to edit Program.cs to launch Xamarin Forms instead of the empty GTK window.
Here is my new Program.cs file
using System;
using Gtk;
using Xamarin.Forms;
using Xamarin.Forms.Platform.GTK;
using MyApp; // <--- change to refer to your project where you have an App class
namespace VemotionEncoder.GTK
{
class MainClass
{
public static void Main(string[] args)
{
// Application.Init();
// MainWindow win = new MainWindow();
// win.Show();
// Application.Run();
Gtk.Application.Init();
Forms.Init();
var app = new App();
var window = new FormsWindow();
window.LoadApplication(app);
window.SetApplicationTitle("MyAppName");
window.Show();
Gtk.Application.Run();
}
}
}
At this point I could launch my Xamarin Forms application on the Mac Desktop using the GTK backend and it worked really well.
Then it was over to Windows 7
a) I had to install GTK Sharp 2.12 from http://www.mono-project.com/download
Note that this does not need a full mono install on Windows. You just need the GTK Sharp install.
b) I pulled my Solution (including my new MyApp.GTK project) into Visual Studio.
(works with 2015 and 2017).
c) Build the GTK project and run it and my Xamarin Forms App launches right there on the Windows desktop.
It works in Windows 7 and on Windows 10. It looks great and feels fast. Dynamic re-sizing (when the window size is changed) worked really well with XF re-laying out the user interface.
What's great is that I've got Windows 7 through to Win 10 support with the proper .Net Framework so I had all my .Net classes available (including Threads and TCPClient and System.Timer). Much nicer than the previous experiences of WinRT or UWP with the limited .Net class libraries.
In summary, Xamarin Forms with a GTK backend works well on Windows 7 and Windows 10 as Desktop Applications.
(so no need to wait on WPF).
Only snag I found was having to create the GTK project on the Mac.
@JKay in terms of Xamarin.Forms, we are deprecating WP8/8.1, and will continue to invest in UWP: bug fixes, security, and features. We continue to have discussions with the UWP team about how to improve and expand our support there, and potentials for code sharing. That'll bear fruit down the road to benefit all our supported platforms.
Have also tried the GTK# and WPF builds from their respective github forks, both are looking promising! Tried the weather app demo for both, both seem fine performance wise the WPF edged it on the resizing the window. Also I see the WPF port is using the fast renderers methodology throughout - I wonder if with XAMLC it all works out actually faster to load a layout than native WPF, would be mildly humorous if so
I hope we will see some desktop centric controls coming from xamarin for these desktop ports, (i.e. treeview!)
Also one last point is that GTK# xamarin forms can be themed, the movie GTK# app uses a material design like theme (https://github.com/nana-4/materia-theme). I tried xaml material design with the WPF port but did not see any evident theming - would be nice if it did for mahapps and xaml material design compatibility.
I think Xamarin needs to create a couple of real life Forms apps, and actively maintain them. With users and all.
Such apps would serve as a great reference whenever new problems arise, and as something that real human testers could go through on every release.
I don't think Xamarin Test cloud does the trick. For example, right now XF2.4 has a tap issue. Yes, who would have known?!? Users actually need to tap their mobile! A human tester would have caught that immediately using a complex real-life app.
I've worked with Forms from the get-go. And there has been tons of such issues. So something fundamentally has to change.
It's not enough for Xamarin to bring down the tablets from the mountain. Xamarin has to live it to.
Sad, that Microsoft decided to develop new Skype app, NOT using Xamarin at all, but using ReactXP, as well as during Azure Decicated Mobile App (not sure of the exact name and if there was a Go-Live of it, or not yet) not using Xamarin.Forms, but Xamarin Native (Xamarin Android + Xamarin iOS).
They didn't have any big/"flagged" app, in their "flagged" mobile framework.
That could be really helpful in finding bugs, that comes from XF update each and every time, when we are reporting those bugs here and at bugzilla, right after update comes in nuget.
I fully agree that Microsoft should embrace Xamarin.Forms itself. There is no better way to convince developers that is a good tech to follow than to show that it (Microsoft) trust it to create software of its own. And this will give us a loud and clear message that this technology indeed has a future.
Microsoft, this is a huge chance for you: Make XF a real universal platform (iOS/Android/WPF/Linux/Mac etc) and give evidence that this has a future by building real software with it.
@seanyda yes, bug fix PRs are getting the vast majority of our teams focus. We are preparing a series of service releases for 2.4.0 right now in particular.
I wish we could move faster on PRs like your's. I'll see if I can get some feedback on where things stand with that PR and the many others that have been waiting so we at least communicate status and intention.
@KingNguyen said:
I'm Confused that I should continue with XF or change to other like React. I want to follow something that is future. Sorry for my bad english.
Shoot me an email [email protected] and I'll be happy to discuss this with you. I cannot imagine a better place to invest than Xamarin. Biased and unashamed.
Posts
I'd be grateful for a WPF update too
@piecy
That's all we know. Wait for 2.4 to go stable before you get too worried about the release after that.
Are there any news?
It's sad that xamarin is always struggling with this.
The GTK one looks very comprehensive. Currently we use material design theme on WPF with the following tool kit.
https://github.com/ButchersBoy/MaterialDesignInXamlToolkit
It would be great if Xamarin.Forms with GTK can have material design theme on linux, mac and windows.
Re: desktop platform timing
Given that on the desktop Windows has 20x the share of MacOS, and 30x the share of Linux, it's extremely dissapointing that WPF is pushed out to "Backlog" while MacOS is already in Preview and Linux is Q4 2017.
This is either a case of extremely poor priorities (is the plan based on the preferences of hobbyists?) or inexplicable technological hurdles (given that WPF is so close to Xamarin.Forms in structure, in theory it should be the easiest new platform).
WPF+iOS+Android are a natural combination for traditional Xamarin.Forms LOB apps (port your WPF app and get to keep it), and for any developers wanting reach (95% desktops and 99% mobiles).
The MacOS effort is great. I don't want to start any platform war or say that one platform is better than another, but I do want to reach the maximum number of users, and until January 2020 when Win7 goes out of extended support, that means WPF is critical.
@CharlesRoddie oh, I don't want WPF in the backlog at all. I'm trying to get it completed. I hope to have good news on that front soon. As it stands today, with what we have to work, it's in the backlog.
It is not a matter of prioritizing Mac or GTK above WPF.
@DavidOrtinau Hi, I know there are many things are going on xamarin. But what available in xamarin forms is enough to make good and responsive app with some tweaks for us. But the only problem causing us is app startup time
Specially in Android.
I know its in milestone. But if possible in next preview please do something for app startup. Thanks.
If any one wants this please 1+
Yes, please. Need massive speed improvement and apk size to be small in that order. Thank you.
Please include Popover control and CarouselView in Xamarin.Forms 3.0.
Most of projects need some kind of overlay to implement custom features, but since there is no standard and easy way to do that, we go for some hack methods, like using nested absolute views, which impact performance in the end.
So if there were native PopOver view then all problems solved, I give +100 for the Popover control.
Performance so far is not that bad, many high end applications on google play store are already above few seconds in start up time, so that's not a big deal for me.
Hooray for Xamarin Team!
+100 to @joshua.7347
I really don't understand, that the PopOver (that is missing since the start of .Forms) is shifted to backlog although it should be there already (according to the last version if the roadmap).
his is an important basic control.
No way. The most expected feature for me is WPF support and is moved to backlog.
@DavidOrtinau Has there been any updates on the roadmap yet? Been a month since you posted there was one coming.
@DavidOrtinau Do you have any WPF news for us?
sweeeet!!!
FYI: https://channel9.msdn.com/Events/dotnetConf/2017/T326
I tried the latest VS for Mac alpha version and i saw that i cannot create a new project so to use Xamarin.Forms for Mac development. It seems that i need to have first installed iOS or Android support to do that. Am i doing something wrong or is that a actually the case? And will Xamarin.Forms 3.0 will allow us to just build Mac software with Forms without the need for mobile too?
@DavidOrtinau Since 2.4 is released, can you please update the roadmap? Also, is there any way we could prioritize
PopOver
andCarouselView
a bit higher so that they are not in the "backlog"? I think many of us would benefit from these controls immensely.@DavidOrtinau FYI, the link to Layout Compression is a 404, the correct one is https://github.com/xamarin/Xamarin.Forms/tree/compressedlayout
"on your linux desktop and your mac"... "on your linux desktop"...
No mention of wpf
What is this craziness?
We will be releasing templates to support this. You don't need iOS or Android to do Mac. For the moment, I recommend creating a new Blank Forms application from the templates, then you can either ignore or remove the iOS and Android projects. Then add a new Cocoa project to the solution and modify it to run Xamarin.Forms following the blog post.
Hi David and thank you for your help!
Ok, these templates would be more than welcomed! But for now, the New Project Wizard does not allow me to make a new Blank Forms Apps. It sees that i dot not have any iOS or Android Xamarin stuff installed and the final "next" button is greyed-out! I had to run the VS for Mac installer again and check the iOS entry (so the iOS stuff be installed) to allow me to complete that wizard and finally add a Mac project.
@DavidOrtinau Any ETA on when you will be able to update the roadmap? I too would like to see the PopOver control / CarouselView / WPF be given higher priority.
Hmm...i did exactly as David's post describe and i have some errors now (in AppDelegate.cs):
Clearly something is missing...
I have Xamarin.Forms packages and Xamarin.Mac reference, what i am doing wrong? I have VS for Mac latest stable version, do i need to switch to Alpha and update for this to work?
@CharlesRoddie. Sorry!
FYI: https://channel9.msdn.com/Events/dotnetConf/2017/K111
Minute 52:00
Update: Xamarin Forms on Windows Desktop (Win7 and Win 10 tested)
While we wait on a WPF backend I thought I'd try the GTK backend on Windows.
It worked really well so may help @CharlesRoddie and others.
I had to gather hints and blog posts from several places so have collected everything here.
I started with an existing Xamarin Forms project (shared code project) for iOS and Droid.
1) Creating the new Project
a) In the NuGet settings I had to add an additional Nuget Repo from https://www.myget.org/F/xamarinforms-dev/api/v3/index.json so I could fetch Xamarin Forms 3.0.0 beta with GTK support
b) I started on Visual Studio for Mac
c) Into my existing solution I added a new project called MyApp.GTK. This used the New Project template for adding a GTK project found in "Other->.Net->GTK# 2"
Sorry, I am not sure how you create this project under Visual Studio on Windows.
d) Then I added in Xamarin Forms 3.0.0 beta with GTK backend from the new NuGet Repo.
e) I had to add a 'Reference' to my shared project (called MyApp) where my Xamarin Forms App class was.
f) Then I had to edit Program.cs to launch Xamarin Forms instead of the empty GTK window.
Here is my new Program.cs file
At this point I could launch my Xamarin Forms application on the Mac Desktop using the GTK backend and it worked really well.
Then it was over to Windows 7
a) I had to install GTK Sharp 2.12 from http://www.mono-project.com/download
Note that this does not need a full mono install on Windows. You just need the GTK Sharp install.
b) I pulled my Solution (including my new MyApp.GTK project) into Visual Studio.
(works with 2015 and 2017).
c) Build the GTK project and run it and my Xamarin Forms App launches right there on the Windows desktop.
It works in Windows 7 and on Windows 10. It looks great and feels fast. Dynamic re-sizing (when the window size is changed) worked really well with XF re-laying out the user interface.
What's great is that I've got Windows 7 through to Win 10 support with the proper .Net Framework so I had all my .Net classes available (including Threads and TCPClient and System.Timer). Much nicer than the previous experiences of WinRT or UWP with the limited .Net class libraries.
In summary, Xamarin Forms with a GTK backend works well on Windows 7 and Windows 10 as Desktop Applications.
(so no need to wait on WPF).
Only snag I found was having to create the GTK project on the Mac.
Roger
Not strictly Xamarin.Forms related but may affect a number of devs here (including Xamarin ones):
Microsoft gives up on Windows 10 Mobile
Does anyone know where this may leave UWP?
@JKay in terms of Xamarin.Forms, we are deprecating WP8/8.1, and will continue to invest in UWP: bug fixes, security, and features. We continue to have discussions with the UWP team about how to improve and expand our support there, and potentials for code sharing. That'll bear fruit down the road to benefit all our supported platforms.
Have also tried the GTK# and WPF builds from their respective github forks, both are looking promising! Tried the weather app demo for both, both seem fine performance wise the WPF edged it on the resizing the window. Also I see the WPF port is using the fast renderers methodology throughout - I wonder if with XAMLC it all works out actually faster to load a layout than native WPF, would be mildly humorous if so
I hope we will see some desktop centric controls coming from xamarin for these desktop ports, (i.e. treeview!)
Also one last point is that GTK# xamarin forms can be themed, the movie GTK# app uses a material design like theme (https://github.com/nana-4/materia-theme). I tried xaml material design with the WPF port but did not see any evident theming - would be nice if it did for mahapps and xaml material design compatibility.
I think Xamarin needs to create a couple of real life Forms apps, and actively maintain them. With users and all.
Such apps would serve as a great reference whenever new problems arise, and as something that real human testers could go through on every release.
I don't think Xamarin Test cloud does the trick. For example, right now XF2.4 has a tap issue. Yes, who would have known?!? Users actually need to tap their mobile!
A human tester would have caught that immediately using a complex real-life app.
I've worked with Forms from the get-go. And there has been tons of such issues. So something fundamentally has to change.
It's not enough for Xamarin to bring down the tablets from the mountain. Xamarin has to live it to.
Come on in Guys. Join the pain.
@void +1
Sad, that Microsoft decided to develop new Skype app, NOT using Xamarin at all, but using ReactXP, as well as during Azure Decicated Mobile App (not sure of the exact name and if there was a Go-Live of it, or not yet) not using Xamarin.Forms, but Xamarin Native (Xamarin Android + Xamarin iOS).
They didn't have any big/"flagged" app, in their "flagged" mobile framework.
That could be really helpful in finding bugs, that comes from XF update each and every time, when we are reporting those bugs here and at bugzilla, right after update comes in nuget.
Totally agree with the 2 comments above, the Evolve app was a Forms app but that app lives for 2 weeks.
The Tapgesture issue has been really puzzling, as has been said, why did no one notice, it's one of the basic fundamentals.
Forms is the right approach for UI description & sharing, Microsoft need to jump on board more I feel.
I fully agree that Microsoft should embrace Xamarin.Forms itself. There is no better way to convince developers that is a good tech to follow than to show that it (Microsoft) trust it to create software of its own. And this will give us a loud and clear message that this technology indeed has a future.
Microsoft, this is a huge chance for you: Make XF a real universal platform (iOS/Android/WPF/Linux/Mac etc) and give evidence that this has a future by building real software with it.
I'm Confused that I should continue with XF or change to other like React. I want to follow something that is future. Sorry for my bad english.
@DavidOrtinau Does Xamarin still accepts a PR for some of those features in the backlog? https://forums.xamarin.com/discussion/105094/popups-with-custom-content
I've had a PR for a SwipeGesture since 22nd June
https://github.com/xamarin/Xamarin.Forms/pull/1007
I see a lot of bug fixes PR's being accepted but not new features.
@seanyda yes, bug fix PRs are getting the vast majority of our teams focus. We are preparing a series of service releases for 2.4.0 right now in particular.
I wish we could move faster on PRs like your's. I'll see if I can get some feedback on where things stand with that PR and the many others that have been waiting so we at least communicate status and intention.
Shoot me an email [email protected] and I'll be happy to discuss this with you. I cannot imagine a better place to invest than Xamarin. Biased and unashamed.
Let's discuss on that Evolution thread.
@DavidOrtinau Any updates on the RTL support?