5 Replies - 885 Views - Last Post: 06 March 2017 - 05:07 PM

#1 maj3091  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 328
  • View blog
  • Posts: 1,990
  • Joined: 26-March 09

General Xamarin question for tlhIn`toq (or others)

Posted 04 March 2017 - 04:44 AM

Hi tlhIn`toq,

I've been reading a few of your posts regarding the use of winforms/WPF/Xamarin and I have a couple of questions that I hope you don't mind answering.

As I spend most of my time around the VB6 forums, I've been actively working within my company to rewrite our legacy VB6 apps using new technologies.

We have a need for a new standalone windows desktop app for a specific customer and I've suggested we do it using Xamarin as opposed to windows forms, as at somepoint, we will be looking at moving our WinCE/Mobile apps to Android and I saw it as an opportunity to get into the Xamarin mentality.

Now I've said this, I'm beggining to think I jumped the gun somewhat based on your "WinForms is dead" type thinking.

1. Am I right in thinking that the minimal windows OS a Xamarin application will run on is Window 8.1 and above?

2. If the above is true, I assume the next best option would be to use WPF as I understand there are similarities between XAML for WPF and Xamarin, so it would at least be a start? Having done Win forms development before, there would be no learning curve to use win forms, but I want us to be moving forward, not just coasting along.

3. Tied in with Q1 and Q2, a lot of the time, we get asked to write apps to run on hardware the customer already has and then tied to corporate standards regarding OS (Win 7 is still very active I've found, even XP!). So that being the case, excluding XP, what criteria would determine the technology to use? A lot of our work is bespoke as opposed to being a product were we can define the system requirements, so we are governed a lot of the time as to what we have to work with.

I know you probably get a bit miffed answering all these similar questions, but you're the forum expert on the subject, so I appreciate your time.

Thanks,

MAJ

Is This A Good Question/Topic? 0
  • +

Replies To: General Xamarin question for tlhIn`toq (or others)

#2 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,362
  • Joined: 02-June 10

Re: General Xamarin question for tlhIn`toq (or others)

Posted 04 March 2017 - 06:06 AM

I have to say this is a first - I don't think I've ever seen a thread's title tap a specific user before <laugh> But thanks for the opportunity to clarify some terms and thinking.

Quote

based on your "WinForms is dead" type thinking.

Is XP alive and kicking? Yes. But its support is officially end-of-life. That doesn't stop 30,000 ATM's and cash register systems from still using it.
Win 7 went end-of-life (mainstream) two years ago. End-of-life (extended) is just a couple years away.
https://support.micr...ycle-fact-sheet

So to clarify, when I way "WinForms is dead" I mean for new projects meant for the current/modern line of devices. Existing/legacy WinForms applications will continue to live in the wild for years. And there are tens of thousands of existing/legacy developers with decades of experience out in the wild too, that can maintain them. But for new projects, and for new developers entering the market... Or existing developers that would like to stay relevant and employable in the future... WinForms is not the tool.

So much of today's world runs on their mobile devices. Smart phones, tablets, convertibles (tablet/laptop in one), wearables and so on. Look at the power in the Surface Pro line. People buying Chromebook's rather than a laptop because they just don't need the superuser power for day-to-day life. Is the laptop dead? I doubt it. Today's laptop is more powerful than the tower PC of 3 years ago. But there is huge marketshare out there for portables; and I don't mean just Joe Schmuck and his iPhone full of 99 cent apps. Look at your insurance claim adjusters: Not on laptops anymore. They take your claim with a tablet. Or don't even have to come out any more because they have made the customer the claims adjuster by giving them the power to photo and report an accident on their own phone. This is the shift in thinking: Distributed work load. Make the customer an employee and save a ton of money. The national 911 call centers are hastily trying to update to support smart phones so they can take text and video during emergencies. It won't be long until that TV show APB is more real than sci-fi. Warehouse personnel using smart phones for inventory control because they don't have to have laser barcode scanners when phones can do it with cameras. I bet you use your watch to pay for coffee and groceries. Some places use them as time cards now. And to track route drivers so they know if they're goofing off.

If your customers refuse to move forward there isn't much you can do about. Your employer likes staying in business so they will support their customer base. Maybe that means lagging behind by a decade. Such is life. It puts food on the table, right? So I don't see a problem with that.

But... Are you okay with that being your coding future? I don't know you. You might be 5-10 years from retirement and so you can coast on legacy platforms until then quite easily. But if you're a 20-something, or even a 30-something you've got 40 more years of working life in front of you. Every year you spend working on end-of-life technology is another year your skillset is falling behind making you less relevant in the workplace. I'm speaking from experience here. I spent a number of years happy making WinForms because I was employed, getting paid to travel and didn't want to unbalance my world. So I stuck with a company that was slowly loosing ground, where I was slowly depreciating in value just like the dollar every year. Eventually I looked at my "developer" salary and saw how senior Starbucks staff were making nearly as much; and how people with current skills just dwarfed my pay and my capabilities. I finally had to "sack-up" and work hard to re-educate myself to bridge the 10+ year gap that I created in my complacency. Now I make nearly three times the salary I did at the WinForms job and I'm a ton happier not having to work in that old mindset and old technology. Its very uplifting to look forward to going to work because one feels apart of the current world.

Quote

Am I right in thinking that the minimal windows OS a Xamarin application will run on is Window 8.1 and above?

As for "what devices can Xamarin run on?" That list expands regularly. For example, Samsung just came on board and now your Xamarin apps can run on the Tizen OS which includes a bunch of wearables and embedded devices. For example, how cool is that new fridge with the built in cameras that lets you see the contents without opening the door, or even from your smart phone while you're at the grocery store. Someone wrote the apps that do that and I'll guarantee it wasn't on WinForms.

I don't want to list the devices here because in a month it makes this post out-of-date. But yes for Windows you need to be able to run UWP and right now that means Win8. But considering that list includes everything from laptops to Xbox and hololens devices, one can see using off-the-shelf gaming consoles for a lot of uses. I've seen them in warehouses running like embedded devices. I've set up store-front installations using them in place of computers because they fit the need and kept clerks from trying to hack/steal from the store. Then you also get the entire iOS device line including latest generation AppleTV units. You can actually use a $110 AppleTV as a dedicated use workstation and limit the user to just the apps you provide so they are working instead of on Facebook. That's cool in my opinion. And its good business sense for most clients, once you can educate them into realizing they don't have to have a $1500 computer as a device nowadays.

Quote

So that being the case, excluding XP, what criteria would determine the technology to use? A lot of our work is bespoke as opposed to being a product were we can define the system requirements, so we are governed a lot of the time as to what we have to work with.


I'm not going to try to tell you or your employer how to do their job or sell to their customers. I can say that with the right explanation lots of customers that want to stay with what they own (because its paid for) can be made to see the financial advantage of handing out $100 Android tablets to staffers instead of trying to maintain old laptops. Lots of companies just want to put off new purchases as long as they can; but will update when it makes monetary sense. If someone takes the time to work up the R.O.I. numbers comparing supporting old gear or buying new stuff the math commonly does the selling for you. Those old Win7 machines probably are stuck at 4gig and have slow processors. Every year there are employee's bitching about being out of drive space or maintenance contracts with Microsoft and so on. The cost of ownership extends beyond the cost of paying for the hardware one time. And they aren't any more powerful than today's iPad. Add to that, that tablets have cell service, GPS, AT&T and Version will give you unlimited data now for $40/month. Staff don't have to be tethered to ethernet or sitting in a Starbucks for free wifi: Making them more productive by being out in the field doing their job more hours of the day.

So if your employer wants to cater to legacy needs it still puts food on the table. Maybe its in their and your best interest to go WPF as baby steps. Just remember babies walk slowly. But if I were you, I'd be spending my off-duty time becoming Xamarin certified and proficient. What's the worst that can happen? You learn how to make mobile apps and nobody else at your work can do that. Maybe you get to spear head a small team that grows as needs grow and you prove the worth of the tech. Maybe none of that happens, but you pick up a couple freelance projects that you can do over 3 months of weekends and pocket a few extra bucks. Future-proofing your skills will never hurt you.

This post has been edited by tlhIn`toq: 04 March 2017 - 06:09 AM

Was This Post Helpful? 1
  • +
  • -

#3 maj3091  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 328
  • View blog
  • Posts: 1,990
  • Joined: 26-March 09

Re: General Xamarin question for tlhIn`toq (or others)

Posted 04 March 2017 - 08:07 AM

Firstly, thank you for taking the time to reply and clarify some of my questions/concerns around Xamarin, albeit you covered a lot more in general.

Quote

Every year you spend working on end-of-life technology is another year your skillset is falling behind making you less relevant in the workplace. I'm speaking from experience here. I spent a number of years happy making WinForms because I was employed, getting paid to travel and didn't want to unbalance my world. So I stuck with a company that was slowly loosing ground, where I was slowly depreciating in value just like the dollar every year. Eventually I looked at my "developer" salary and saw how senior Starbucks staff were making nearly as much; and how people with current skills just dwarfed my pay and my capabilities. I finally had to "sack-up" and work hard to re-educate myself to bridge the 10+ year gap that I created in my complacency.


The quote above, pretty much sumarises where I am, albeit mid 40's I'd like to feel there's a few years left in me yet :)

It's good to understand better now where I can make Xamarin fit in work wise in different situations, so once again, thanks for information, it's much appreciated.
Was This Post Helpful? 0
  • +
  • -

#4 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,362
  • Joined: 02-June 10

Re: General Xamarin question for tlhIn`toq (or others)

Posted 04 March 2017 - 03:58 PM

Quote

The quote above, pretty much sumarises where I am, albeit mid 40's I'd like to feel there's a few years left in me yet :)

I sure hope so. I'm in my 50's and learned it. I didn't want to be "the old guy that handles all that old legacy stuff."

I'm not built to stagnate. I have a hard time vacationing (to my wife's dismay). I know that retirement will really just mean more time to code my own projects and side work. So I need to be current which is a continuous moving target of learning.
Was This Post Helpful? 0
  • +
  • -

#5 Curtis Rutland  Icon User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 5101
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: General Xamarin question for tlhIn`toq (or others)

Posted 06 March 2017 - 11:14 AM

Quote

or even a 30-something you've got 40 more years of working life in front of you


I sure as hell hope I'm not working into my 70s.
Was This Post Helpful? 2
  • +
  • -

#6 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,362
  • Joined: 02-June 10

Re: General Xamarin question for tlhIn`toq (or others)

Posted 06 March 2017 - 05:07 PM

I hope not either. But given the state of the Social Security system ("pillaged" would be a good word) I would rather plan to work the not have to, than plan to not have to and find out otherwise. At worst I can be retired and work on the latest holographic wet-wired systems that will be out at the time, as a hobby - with the help of my A.I. servant, as she flies our car to the winter beach house in Antarctica.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1