Results 1 to 7 of 7

Thread: Technology Recommedation

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Dec 2009
    Location
    sydney
    Posts
    265

    Smile Technology Recommedation

    Hi All,

    I have been of programming for a while, i have a mid level experience in vb.net and C#. Now, im looking at writing a custom retaill solution for a friend and not sure which platform to use.

    I want a modern, and minimal interface, with cloud backend capabilities, and supporting multiple database options e.g. SQL, azure, LocalDB

    looked at MVC and WPF, MVC seems ok, but with my requirements (integrate with peripherals e.g. barcode scanner, printer, eftpos machine) i prefer to stay away from web based.

    WPF looks great, but found it really difficult to adapt to, i even started to consider taking the chance to learn Android (zero experience here)

    Any suggestions ?

    Thanks in advance

  2. #2
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Technology Recommedation

    How can "learning Android" be useful unless they intend to use Android hardware and, if they do, how can anything else be useful? If you're targeting Windows hardware and you don't want a Web-based solution then your choices are Windows Forms, WPF and UWP.

    WinForms will likely be most familiar to you so that's an advantage, but it is old technology and can struggle to do some things desired of modern software.

    WPF won't see much active improvement from Microsoft but it will be supported for a long time. It's a paradigm shift but is a very robust solution for modern software.

    Like WPF, UWP is XAML-based, so there's a learning curve. Microsoft would like you to use it and it does offer certain advantages but also certain restrictions. It's possible to use it if you're not publishing your app to the Store for public consumption but less attractive in that case.

    It's up to you to decide what's important to you and choose what fits those requirements best. If you don't want to invest in learning new technology then stick with WinForms, as long as it can do all you need. Just be sure to put plenty of thought into the architecture, as WinForms was not designed with that in mind the way the other options were.

  3. #3

    Thread Starter
    Hyperactive Member
    Join Date
    Dec 2009
    Location
    sydney
    Posts
    265

    Re: Technology Recommedation

    I agree, but i wanted to take this opportunity to learn a more modern ( and future proof) technology. and most h/ware support both android and windows nowadays.
    Thanks for your help, i will look into UWP

  4. #4
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Technology Recommedation

    Quote Originally Posted by wiss.dev View Post
    and most h/ware support both android and windows nowadays.
    I don't know where you heard that but it's not really true. You can install BlueStacks on Windows and run emulated Android apps but if someone built an app specifically to be run that way for me then I'd be rather pissed off. If you want to be able to support both Windows and Android then Xamarin is probably the way to go. It will allow you to create common components and create a minimum of platform-specific code but Xamarin is not without its own challenges.

  5. #5
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Technology Recommedation

    For "hardware" he might mean some kind of industry-specific hardware.

    For example, I know there are automotive scanning tools that work with Android apps. The main reasons you see more hardware interface with Android than iOS come down to:
    • Android can support USB.
    • It costs $99/year to maintain an Apple developer subscription.
    • Apple is prone to really arbitrary decisions about what you can and can't do with an iOS app.


    Even so, I think the tea leaves are saying if you want to be working in UI for the next 10 years, you should pick one of the XAML frameworks and invest in it. Even Android is using something similar.

    It's not just about learning the controls and using them. These frameworks expect you to write code in a very specific way. Windows Forms code expected you to write it this way too, but it was a little too hard to see that and few picked up on it. Look for articles about MVVM, get over "it's different", and learn how to use it. Knowing how to use "a markup-based UI framework with data binding" and "a pattern like MVVM" means you'll know how to use the tools we'll probably be using in 5 years.

    It's very hard for me to tell you WHICH XAML framework to look at for releasing a Windows client right now. Microsoft's course is not clear. Three options come to mind:
    • WPF is the one that gives you access to the most "familiar" environment if you've done any Windows Forms at all. This means you are writing a "classic desktop" application that will run on all supported versions of Windows right now: 8.1 and 10. Technically it should work all the way back to Vista, but hopefully you're only encountering 7 and later. These will not work on any mobile device.
    • UWP is the one Microsoft supports. It'll work on "any Windows 10" device which extends to many good tablets and the 7 or 8 Windows Phone users. It's not very popular here, because it's designed with tablets/mobile devices in mind so it works with different paradigms and can be uncomfortable for "classic desktop" developers.
    • Xamarin Forms is not quite a solution yet, but is a UWP-like framework that currently supports Windows 10, Mac, iOS, and Android. By the end of 2018 it's going to support Windows, Mac, Linux, iOS, and Android. It's very, very similar to UWP but not quite the same.


    In my opinion, UWP or Xamarin Forms is the safest long-term bet. Microsoft recommends them and is investing a lot of R&D into both. The trick is it doesn't make much sense for both to exist. I think MS is putting them against each other and will cancel one before too many more years pass. Long story short: MS doesn't seem to be placing long-term bets on Windows, so I'd wager Xamarin Forms is the favored tech. But it only takes one weird market shift to change that.

    I think you should give both UWP and Xamarin Forms a look, and decide for yourself which one you like better. Don't just take my opinion: go read what other people are saying. I have a bad feeling there's going to be a big shift in the next 5 years, but I don't think anyone knows exactly what it will be.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  6. #6
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,988

    Re: Technology Recommedation

    Yeah, if you want future proof then start engraving on stone tablets. That probably won't change much for a long time, and everybody seems to be just dying to get one.

    Other than that, the future is less clear than at any time in my career. At one point, while I was in school, there was a real chance that Apple could end up dominating the PC market....but that didn't happen, so we went through a long time when there was WINDOWS and everybody else. That has changed. Windows still dominates the desktop, but the desktop no longer dominates computing.

    In addition to what the others mentioned, let me also throw out Cordova. Cordova is a web page wrapped in some shell such that it acts more like a desktop app. I took a working web app and turned it into a native Android app in minutes, which shows how much like a web page a Cordova app is. You're mostly working with JavaScript for this, but have few limitations within that realm (none that I have found, honestly). To make it more like a native app, you also can use Angular and the Ionic framework. Having tried Xamarin, I feel that Cordova is currently a superior option, but that is really just saying that JS is more mature than Xamarin....at the moment. Like Sitten, I fully expect Xamarin to advance greatly under MS, and possibly to be killed off greatly, also under MS, but for the time being Cordova/JS > Xamarin.

    Of course, that just gets back to the issue about the future being cloudy. The tech that I feel is currently superior....I'm only willing to qualify my endorsement with that tepid 'currently'.
    My usual boring signature: Nothing

  7. #7
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Technology Recommedation

    For those who missed it, Microsoft have announced that Windows 11 will support Android apps. From what I read, it will start with the Amazon Store being integrated into the Microsoft Store but there's talk of other apps stores being incorporated over time, possibly including Google Play. Of course, Windows 11 is a way off yet and mass adoption may take a while after that.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width