Xamarin.Forms 2.3.2-stable

13»

Posts

  • GuyProvostGuyProvost CAMember ✭✭✭
    edited October 2016

    @DavidCaraway I'll add my $0.0.1 cent! I feel the same way. We developed a fairly complex project using Forms. Since our client was way more Android oriented, we put the energy on this platform first and advance at a lower rate on the iOS part. But there is so much going on in custom renderers and concrete implementation that I had to inform my customer that for the iOS part, I will recommand something else.

    I redid a solution in which I have an iOS project and Android project (native UI form both) and ditch Forms. And start port the project in native UI form each platform. Maybe our project was to complex for Forms, but it was an endless battle to circumvent the limitation imposed by Forms. I think that somewhere, there's a conceptual limitation having a "reusable UI" for both platforms. iOS and Android shares a few things, but some core concepts as Activity and Fragments in Android wont ever be properly addressed by Forms. And I'm not talking about the speed. Forms imposed an overhead that is immediately felt you you compare with the native UI version!

    Also, I feel I'm constantly trailing what is going on natively and have to wait for Forms to catch up! It's like being at the end of a complex pipeline. There's the native SDK (iOS and Android), Xamarin must provide wrappers so I can call them in C#, then after that (which usually is fast), have to wait for maybe a component like Forms.Maps to get up to pair with the associated SDK.

    And when it's time to update Forms and Forms.Maps... You can never be with the latest versions of your components, there's is always a lag cause Forms was built with specifics versions of the components it uses. Anyone that tried to update all the components knows the feeling!

    Going native UI is way more simpler and I can still get a lot of code reuse, not as I would on a Forms projects, but still! Plus, you get to learn how those platforms were designed!

    I would definitely recommend Forms for simple apps, or LOB data gathering apps. But anything complex... I should have swallow the pill and go native first. Now, I'm porting a Forms project to Xamarin.iOS and Xamarin.Android. Forms is an incredible achievement so far, but I have to think a bit about the reality of sharing a UI on both of these platfroms.... Something's got to give!

    Really depend on the use case! I learn a lot with this project, but for us, the road ahead is clear... Go go Xamarin.iOS and Xamarin.Android for next project.

    @DavidCaraway I was intrigued by the fact that you use Android Studio to build the layout of the Android project. How does the projects as a whole behave ? Do you just copy the files from a "template" project in Android Studio to Xamarin ? Or do you open directly the files in Android Studio from the Xamarin directory ?

    Going this course, the next step is just feeling at home with Java or Swift though...

  • DavidCarawayDavidCaraway USBeta ✭✭

    @GuyProvost said:

    @DavidCaraway I was intrigued by the fact that you use Android Studio to build the layout of the Android project. How does the projects as a whole behave ? Do you just copy the files from a "template" project in Android Studio to Xamarin ? Or do you open directly the files in Android Studio from the Xamarin directory ?

    Going this course, the next step is just feeling at home with Java or Swift though...

    I misspoke. I use Xamarin Studio to build the Android layouts. I use XCode Interface Builder (opened from XS) for my iOS layouts. I develop in iOS first and then move my UI business logic into the Android project with only minor changes. I built some wrappers around common controls to make it easier. For example, I have an Android UILabel class that wraps the most frequently used properties. Doing so allows the same iOS code to work in Android with little change. This has been very productive for me.

    I recognize that this is a Forms thread and there are a lot of people really trying/hoping to make Forms work. I wanted to chime in only because I assume some of you also want to make money delivering working, stable apps as efficiently as possible. Unless someone is building an app with a fairly simple UI there is no way on earth they will be more productive using Forms than they would using Xamarin iOS and Android. People can continue to beat up Forms. Xamarin deserves it to a large extent. That doesn't pay the bills though. Delivering apps does. Xamarin has two other exceptional and rock solid technologies for that.

  • GuyProvostGuyProvost CAMember ✭✭✭

    @DavidCaraway +1 thanks for the update and tips! Kudo for your take on Forms, I learn that the hard way!

  • @DavidCaraway You've nailed it. I am beginning to think that we should abandon Forms because we are spending a ton of time troubleshooting issues that work perfectly fine in Xamarin iOS or Xamarin Android.

  • DonBoxDonBox USMember ✭✭
    edited October 2016

    @KenPespisa said:
    I can't tell if that is the quiet before a storm (like a major new release) or a sign that Xamarin Forms is fading away

    I'm sorry to disappoint you, but it's easy to tell. Just watch the Xamarin Forms project on GitHub.

    @AdrianKnight said:
    If MS comes up with another technology, it HAS to be cross-platform.

    Why would MS spend several millions of $ per year to pay a team of developers to work on a cross platform technology?
    MS is not Xamarin, their business is not to write cross platform frameworks and technologies, unless they have a benefit out of it. Don't be confused about MS releasing different big products(SQLServer, etc.) on Linux and Mac.
    It's not like MS suddenly turned into a cross platform development company :)

    @DavidDancy said:
    The problem as I see it (and the principal reason why I'm using XF) is that if I didn't use XF I'd end up having to write it.
    XF is a stunning achievement.

    XF could be a lot a lot better. Like I said before, the main issue was the decision makers didn't believe in XF. And now, under MS, it's even more complicated.
    Honestly, I don't know why they are even still working on XF, even as a side project, because that's how it looks like. In my opinion they are making a great disservice to themselves without realizing it.

    @DavidCaraway said:
    I guarantee you that I spend a fraction of the time building native UI's than most here do troubleshooting and finding workarounds for Forms issues.

    I tend to feel the same. I'm struggling with XF. The main issue with XF is it's buggy in those places you expect the least. Put performance a side for a moment. There are layout issues with the arranging and measuring of controls. And there are bugs/discrepancies/lack of support also with stuff like border color, corner radius, margins(they behave differently sometimes), etc.
    The ListView still has issues. There's still no support for Grid. I hoped they will bring a lot of stuff done in XLabs, because XLabs shows a lot of what's missing in XF. Especially after one of the developers working on XLabs went to Xamarin.
    All these little things consume a lot of time. The lack of a solid preview support, makes it even more difficult, as you have to actually run the app to check. Yes, I know there are third party solutions for preview and a beta support right in XF.

    Building an interface in XCode or Eclipse is pretty simple. Think about it. The actual UI layout is usually easy to build. It's all of the business logic behind the UI that takes the most time and effort. In Xamarin.iOS and Xamarin.Android I'm able to share the vast majority of that business logic.

    I agree with you partially. Why separately build the UI for each platform in those cases where you could do it once? And there are many cases like this. If I have to create a new screen, why do it twice or third times for every platform I support?
    In many cases, the UI of apps is simple, especially these times when all the UI and UX on all platforms converged to a simple look and feel, like Metro and Material design like.

    But yes, given XF state right now, you really need to think twice before choosing it. But the funny thing with choosing is you have to first have experience with XF. And how do you get that experience? By banging your head against the wall until it hurts :)

    XF is not a bad idea, but it does not have the right support.
    There's a reason why so many people want XF(just look to the activity on the forums) I don't think we're all idiots :)

  • AdrianKnightAdrianKnight USMember ✭✭✭✭
    edited October 2016

    @DonBox I disagree. WP is pretty much dead. MS can't try to lock people into their own platform now. So, for them, the only option is to make it easier to develop apps for Android and iOS as well as UWP (only because of more successful endeavors such as Surface). Having people use Visual Studio means companies have to purchase VS/MSDN licenses. If devs are hooked into it, then you can encourage them to start using Azure (not to mention SQL and Office). In other words, the success of VS can deeply affect whether a company becomes a Microsoft shop or not.

    If MS can't get mobile development right, then we're looking at other competitors.

    There is a reason why they purchased Xamarin and baked its tools into VS. Microsoft has to go where developers go. There is a reason why they are favoring Git over TFS now and they open sourced many of their projects - so on and so forth. Times are changing and they have to adapt.

    That said, I still believe in cross-platform. The future might not be XF, but in my opinion, it has to be cross-platform.

  • DonBoxDonBox USMember ✭✭
    edited October 2016

    @AdrianKnight I know that, and part of my brain agrees with it. Cloud services are definitely the big stake.
    But, we rely on the fact that Microsoft know what is doing. Do they always? Remember Nokia purchase? You already mentioned about Windows Phone. And how about Windows 8?
    Microsoft is a giant company with a ton of money to spend, and spending money is fun, we all know that.

    @AdrianKnight said:
    WP is pretty much dead.

    Yes, WindowsPhone is dead, but don't forget about Windows 10 Mobile(funny how Windows Mobile is back).

    MS can't try to lock people into their own platform now.

    Right now, no. But as anyone else, they would love to in the future.

    There is a reason why they are favoring Git over TFS now and they open sourced many of their projects - so on and so forth. Times are changing and they have to adapt.

    MS just wants to be cool like other kids, it's understandable. But let's not mix up things here.
    For example, Xamarin Forms is OSS. And what is the result of that? You have a big pile of code.
    Don't get me wrong, I'm not saying OSS is useless, that would be stupid thing to think. I've seen your work on XF, I thank you for that.
    But for something as niche as XF, it's a bit hard to become successful as an OSS project.

    That said, I still believe in cross-platform. The future might not be XF, but in my opinion, it has to be cross-platform.

    I believe in cross platform too. In technology it's hard to say what's the "future" really. There are so many moving pieces.
    For now, I wish XF was better :)

  • KenPespisaKenPespisa USBeta, University ✭✭
    edited October 2016

    @DonBox

    I agree with you partially. Why separately build the UI for each platform in those cases where you could do it once? And there are many cases like this. If I have to create a new screen, why do it twice or third times for every platform I support?
    In many cases, the UI of apps is simple, especially these times when all the UI and UX on all platforms converged to a simple look and feel, like Metro and Material design like.

    But yes, given XF state right now, you really need to think twice before choosing it. But the funny thing with choosing is you have to first have experience with XF. And how do you get that experience? By banging your head against the wall until it hurts :)

    Conversely, I think you need to think twice in not choosing it.

    I started with XF development one month after it was announced, when I was just starting to develop an Android version of my app. Two months later I released an Android version built in Xamarin Forms and it worked very well. I later moved my iOS version to XF and have been so much happier and more efficient.

    If I had stayed with Xamarin.Android development I would have undoubtedly been less productive over time. because there would always be a certain amount of overhead learning the nuances of two UI frameworks and never being able to share UI code. I did spend a lot of time "banging my head against the wall", but I haven't met a language or framework that doesn't require some amount of head-banging. And now I can make updates to my app extremely quickly in two platforms.

    I do believe XF could be better. But in its current state I would still take the obstacles it presents over having to write two (or more) UIs.

  • AnthonyRamirezAnthonyRamirez USUniversity ✭✭✭

    @DavidCaraway @HaydenHancock @GuyProvost

    Out of curiosity, are you using XAML?

    For me, this is the biggest reason for using Xamarin.Forms. Being able to tap into the serious power that XAML gives you and share that same XAML across platforms. As a point of reference, I've been working with Xamarin.Forms since a few months after release, and it has come a LONG way since then. At this point, the Android performance is my highest priority issue. Otherwise, I can get around any issues/use cases that have come up by using a custom control or renderer.

    Could things be better. ABSOLUTELY, in many ways. For example, I'm still surprised to see energy put into having X.Forms run on a Mac when the current issues exist.

    That said, X.Forms has greatly improved my cross-platform development process. I think its crazy that I am able to release updates to AppStore and GooglePlay the same day. Additionally, I've been able to setup TFS 2015 to run CI (SpecFlow+Xamarin.UITest) and have CD. The state of tech in the last few years is crazy, in a good way ;)

    Every project is different, and its possible X.Forms is not the right tool for your project. Especially, if you are not familiar with XAML. (That took quite a while for me to fully realize it's potential)

    Either way, whichever path you choose, I wish you all the best :)

  • DonBoxDonBox USMember ✭✭

    But in its current state I would still take the obstacles it presents over having to write two (or more) UIs.

    Yes, maybe, I feel the same, writing the UI once is extremely appealing. That's why I like XF too.
    However, I spent really a lot of time with different issues, limitations, bugs and the lack of preview support(I know there is some support now for preview but it seems buggy).
    I wonder if all this time stands against writing for each platform separately, because, to be honest with you, I'm not even sure now that my XF apps are bug free. The current XF team doesn't have time to fix the current known issues, so I have doubts they have time to really dig into issues which are not easily reproducible or performance issues.

  • AnthonyRamirezAnthonyRamirez USUniversity ✭✭✭
    edited October 2016

    @DonBox

    For what it's worth, I've been using Xamarin.Forms Player for over a year now and have found it to be a lifesaver.

    https://github.com/MobileEssentials/FormsPlayer

    I really wouldn't want to be creating views with just XAML and hoping they look good on the device after waiting for the build to deploy. It can also work with custom controls, root elements and design-time data.

  • KenPespisaKenPespisa USBeta, University ✭✭

    I use only code, not XAML, for my UI. @CraigDunn 's blog helped me tremendously when I redesigned my app's UI last spring. It wasn't a perfect solution but it really cut down on edit-build-observe-repeat process. I could get my views and cells just right and then copy the code back into Xamarin Studio.

    http://conceptdev.blogspot.com/2016/05/xamarinforms-workbooks.html

  • GuyProvostGuyProvost CAMember ✭✭✭

    @AnthonyRamirez Yes I use XAML in Forms. Love XAML itself, as in UWP or WPF. Great for doing MVVM out of the box. But still, I would rather do MVVM with a framework like MVVMCRoss without the assist of XAML because of XF current limitations. I know there are good use case for using XF, LOB being one of them to a certain extend. My fault was to hope a bit too much with XF... so in the end there is a lot of custom renderers and other native constructs I had to do. When I look back on my code there is a lot of Android/iOS native coding in the project, add to that the overhead that XF impose.... turned out I wasted a lot of time!

    Haven't tried native controls embedding (not the exact phrasing) cause when it was out I was already taking out Forms of my future projects toolbox.

  • AnthonyRamirezAnthonyRamirez USUniversity ✭✭✭

    Gotcha @GuyProvost

    That makes sense. Most of my UI is in XAML, with a just a small amount in custom renders for edge cases. If I had to always be in custom renderers, I'd agree that would be a major pain.

    Thanks for the reply!

  • rogiheerogihee NLMember ✭✭✭

    After creating a few apps, I can almost dream the layout beforehand already. I use C# only, I might switch for page layout (not control layout) to the dark side and use XAML if the previewer is stable.

    At some point it would be nice if you could use only parts of Forms, like navigation, styling and binding but do layout and controls natively, and that is exactly the heading where they are going. In fact that is almost possible already I think.

    Then you can move the "scale" what is needed for your app.

    Android performance should be top 1 priority, and review those PR's and get going ;-).

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭

    @BryanHunterXam @StephaneDelcroix - As per the thread at http://forums.xamarin.com/discussion/comment/229259/#Comment_229259 , it looks like a recent PR has affected the bar across the top of the screen on Windows 10 phones. From the release notes, my guess would be that it might have been https://github.com/xamarin/Xamarin.Forms/pull/244 . That was just under the heading "Other Fixes", rather than having a bug number against it. Could somebody take a look please. Let me know if you need a bug raised to fix the fix :-)

  • SamanthaHoutsSamanthaHouts USXamarin Team Xamurai

    @JohnHardman said:
    @BryanHunterXam @StephaneDelcroix - As per the thread at http://forums.xamarin.com/discussion/comment/229259/#Comment_229259 , it looks like a recent PR has affected the bar across the top of the screen on Windows 10 phones. From the release notes, my guess would be that it might have been https://github.com/xamarin/Xamarin.Forms/pull/244 . That was just under the heading "Other Fixes", rather than having a bug number against it. Could somebody take a look please. Let me know if you need a bug raised to fix the fix :-)

    I see the original reporter raised a bug here: https://bugzilla.xamarin.com/show_bug.cgi?id=45835

    Do you have any screenshots or anything to show the issue? Thanks!

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭

    @SamanthaHouts - Screenshot shows the same as the original reporter's screenshot. Please see attached.

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭

    @SamanthaHouts - Many thanks for such a speedy answer on 45835 - the code supplied resolves the problem for me.

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭
    edited October 2016

    @SamanthaHouts - Is it possible that the change to defaulting the status bar to white on UWP, also changed the color of secondary toolbar items? I've just noticed that on a Windows 10 phone (not on desktop), that the secondary toolbar items now show in white text. I did have a white background for the dropdown items, but I've changed that now so that they are legible rather than white on white.

  • SamanthaHoutsSamanthaHouts USXamarin Team Xamurai

    @JohnHardman said:
    @SamanthaHouts - Is it possible that the change to defaulting the status bar to white on UWP, also changed the color of secondary toolbar items? I've just noticed that on a Windows 10 phone (not on desktop), that the secondary toolbar items now show in white text. I did have a white background for the dropdown items, but I've changed that now so that they are legible rather than white on white.

    Hmm, possibly. Does it appear differently if you deploy to a 10586 emulator?

13»
Sign In or Register to comment.