I guess before I start let me say I love the support from the Microsoft Xamarin Support Team and have high hopes that we can move past some of the issues we have run into using Xamain. I work with 5 other developers and started using Xamarin a couple of years ago. We are obviously a Microsoft shop and we came into mobile green – very very green. We were used to developing in Visual Studio and knocking out web applications with no problems at all. The boss gives a request, no problem, we knocked it out. Xamarin was an obvious toolset when we chose to start doing mobile development with all of us skilled in C# and the whole idea of coding once. We knew we needed a mac mini so we went out and bought 1 for the team of five. This was a bit of a change from web development where we had all our tools locally with VS on Windows, but hey this is mobile development which includes iOS so we moved forward. Just setting it up and getting VS to talk to the mac mini was an interesting endeavor, to say the least. We quickly found out sharing a mac mini wasn’t going to cut it. Each of us would need our own mac mini on our desks. I told you we were green right? Okay, no problem. Next, the current laptops we had were continuously putting VS in busy mode…chugging and choking as it attempted to build our projects. New more powerful laptops were needed. No problem. It was just the nature of what I started to call “The Beast”. Next one by one each developer started commenting on how long it took to make a small change and test it out on the droid and iOS simulators. What was this all about? In our past web development, we had NEVER seen this type of poor performance. Okay, it’s slow. It’s a different beast and we’ll just have to deal with it. We keep moving forward. So we’re going along with our new tool and we are thinking we’re starting to figure out this whole toolset when BAM it just stops working accordingly. Here’s a couple of scenarios.s The boss gives you a simple change like change this text and color on this page. Wow – no problem at all. Everything was working fine on my box yesterday with VS/Xamarin, so I’m none the wiser when all of sudden today when I have this deliverable it starts to flake out. I make the coding change, run it, and it just sits there in build mode. Build…build…building - like not ever finishing. I start googling this and find out…oh, sometimes this happens with Xamarin. When this happens try a clean, close out VS, delete the bin and obj folders, start VS, and try again. What the heck? I’m starting to realize I don’t have the Beast figured out. I follow the instructions and magically enough it works. Okay. Weird but I keep moving forward. A few days go by with no problems in Xamarin land. The building and launching vary from 2 minutes to 7 minutes, but at this point, I’m just glad it launches. The boss then requests a new page. No problem. Fire up my toolset, make the change, and again building building… I’ve seen this issue before and now know the solution. I follow my crazy steps above but this time no success. What? I try the steps again. No luck. I add one more step -> reboot pc. It works. Omg. So at this point, I’m getting a little concerned. I’ve got simple requests, but I can’t always count on Xamarin in a timely manner. It comparable to reaching for a drill out of your toolbox and expecting it to drill a hole each time, but sometimes it doesn’t work and you have to take the drill bit out, put it back in, unplug the cord, plug it back in, pray to the tool gods, and hope like it hell it starts working. Any sane person would just buy another drill. Obviously, that’s not an option for us and I’m not bringing that up. This is where we are at now. And to top it off after finally getting emulators/simulators working, they're not playing nice consistently and I’ve been burned enough to know to attach an actual device is the best method because sometimes what you see/experience with them is NOT what you see/experience when you deploy to actual devices.
We can’t be the only ones struggling? How can we provide an estimate of hours of work required when we can’t depend on the tool working accordingly? I know many will reply with suggestions which I welcome and deeply appreciate. I guess I’m also just looking for a little bit of an Amen, you’re preaching to the choir? I’d also be interested to know if it works “smoothly” CONSISTENTLY for others? Thanks for your time reading and your feedback.