Coffeehouse Thread

15 posts

Another HTML5 app bites the dust...

Back to Forum: Coffeehouse
  • User profile image
    DeathBy​VisualStudio

    I've always said while HTML5 (or any web app) has its place it rarely beats a native app. In the past it was Apple mandating developers to write web apps for the iPhone only to eventually release a SDK for native apps on the iPhone.  Looks like Zuckerburg agrees with the premise that native is better too.

    Along that note aside from not being hosted are W8 HTML UI modern apps less performant than their XAML brethren? I've always cringed when WinDev pushed HTML UI's for W8 apps but have no practical experience to say that's a bad direction. It's my understanding the W8 apps produced by Microsoft so far are all HTML and they seem to do was well as any WPF app I've used on the desktop. Does anyone here have any practical experience with HTML vs. XAML in W8 or HTML5 vs. native app that they'd like to share here?

    This will be an interesting next couple of years as we go from a principally homogeneous computing world for desktop apps to the chaos that is the devices world we're diving into. I don't see any clear answers forming yet and this decision by Zuckerburg doesn't help clarify anything other than to second guess HTML5 as an option.

    Thoughts?

    If we all believed in unicorns and fairies the world would be a better place.
    Last modified
  • User profile image
    JoshRoss

    HTML5 desktop vs HTML5 phone apps are completely different animals. You can do things on a desktop that are totally impractical on a phone.  It's not difficult to bring a phone to its knees, but a desktop, that takes tallent.

     

    -Josh

  • User profile image
    magicalclick

    HTML is Web. WPF is for native. I think Steve Ballmer said that and I agree with him.

     

    I wouldn't want to touch HTML path IF it depends on IE. I am not dissing IE. The problem is, eventually the platform will stuck at an version of IE and never allowed to be upgraded, and upgrading IE raise potential risk of things starts to render in weird ways (Win7 Pre-RTM on Gadgets with higher DPI settings). And IE has higher risk of hardware acceleration fails (artifacts or crash) than native apps.

    I go with web because you can use it everywhere. Apps are extra candies.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    AndyC

    For simplistic apps, HTML5 can work perfectly well and is performant enough to not be something worth worrying about. When it comes to more complex stuff though, I think you're going to start to suffer the fact that HTML5 (even with the additional functions available via WinRT) doesn't have much of the richer technology that more traditional native tools have.

  • User profile image
    fanbaby

    Anyone advocating native desktop development is doing so because:

    • The app is high bendwidth/large datasets/computationally intensive (image/video/3d/statistics/games)
    • The developer feels at home with desktop development (hammer, nails, etc.).

    I cannot believe there are developers who would recommend with straight face access-style (LOB) apps today.

    That's not to say that it's easy to develop web apps. But that there isn't a choice. See what John Papa is doing these days (after being Silverlight evangelist).

  • User profile image
    Maddus Mattus

    Reach (HTML) v.s. Rich (Native)

    It's the customers choice.

  • User profile image
    wkempf

    , fanbaby wrote

    Anyone advocating native desktop development is doing so because:

    • The app is high bendwidth/large datasets/computationally intensive (image/video/3d/statistics/games)
    • The developer feels at home with desktop development (hammer, nails, etc.).

    I cannot believe there are developers who would recommend with straight face access-style (LOB) apps today.

    That's not to say that it's easy to develop web apps. But that there isn't a choice. See what John Papa is doing these days (after being Silverlight evangelist).

    BS. I can give you hundreds of reasons I advocate "native" desktop development (don't like the term native here, as it usually indicates natively compiled binaries, and I could care less about that aspect, what we really mean here is anything other than a "web app"). One of the most intelligent arguments I've ever seen comes from this web page:

    http://mattgemmell.com/2011/07/22/apps-vs-the-web/

    The biggest reason to not care for web app development isn't even technical... users prefer native applications intuitively. I've talked to many such users and they can give you all sorts of reasons that might cause you to think there's a technical remedy to their specific complaint, but the reality is all of these complaints come down the levels of interaction that Matt talks about, and there's no technical fix here.

    Win8 JS apps are a different beast, as these are not web apps. They don't run in a browser and don't have an extra level of interaction. In this case I don't think there's anything wrong with them... though having written a very large application using JavaScript (a Mozilla XUL application) I can tell you I never want to write anything larger than a todo list application using that sort of technology, and frankly I see no benefit in using JavaScript here other than familiarity for web devs. If you know any other language that can be used to create a Win8 application I can see no compelling reason for you to choose JavaScript over any of the other languages. It's certainly not going to help you with writing "portable" applications. Tongue Out

  • User profile image
    Harlequin

    Windows 8 HTML5 applications are also a nightmare to get into for web developers. If you build one, you'll never see a learning curve as steep.

  • User profile image
    DeathBy​VisualStudio

    I think all-in-all a good hedging strategy is to build around MVVM or a pattern like it but getting devs who are coming out of the VB6 dark ages to get their heads around it is a whole other issue. I also work with web devs who still build gigantic web "pages" that contain a ton of views along with the spaghetti JS code to play hide/show games on the client. Sure they can get the pat on the head from the customer quicker but in the end those pages are a train wreck to maintain and are very brittle. With the Android app I inherited last year the previous developer clearly didn't understand the concept of separation of concerns nor dependency injection. He thought the app (which he inherited from a more capable dev) was too brittle because it had all of these layers. His solution? To move much of the code into a single class. He said it was easier to test that way too. Am I just unlucky to work with so many incapable devs or do you guys run into these types too?

    So in the end being able to take a noble concept like MVVM and get traction on it isn't always an easy thing unless you can get the boss to fire the team and tell the customer it will take longer but will be better in the long run. This is why picking a target platform is so important (and more difficult) these days.

    And what is this intangible quality of a native app that despite HTML5's super interactivity that it provides still has users preferring it over web apps? As I user I fall into this category of thinking. HTML5 advocates better figure out what that is if they are going to get more eyes on their apps (beyond the traditional web site that they can now trick-out with HTML5).

    If we all believed in unicorns and fairies the world would be a better place.
    Last modified
  • User profile image
    wkempf

    , DeathBy​VisualStudio wrote

    And what is this intangible quality of a native app that despite HTML5's super interactivity that it provides still has users preferring it over web apps? As I user I fall into this category of thinking. HTML5 advocates better figure out what that is if they are going to get more eyes on their apps (beyond the traditional web site that they can now trick-out with HTML5).

    That intangible quality was explained in the web page I linked to. The browser adds a level of interaction that spoils the entire experience for end users and complicate the heck out of the code you need to write that lessens (but can't eliminate) the issues caused by the extra level of interaction. "Solutions" like Win8 JS applications, where you have no browser, fix this problem. That's why you also said "It's my understanding the W8 apps produced by Microsoft so far are all HTML and they seem to do was well as any WPF app I've used on the desktop." Yes, there's performance considerations, but frankly, most "apps" don't need a lot in the area of performance. Performance is also something that can be addressed in various ways when it is a necessary quality, often without needing to resort to "native" code. That's a lot of what we get out of modern HTML stacks, and it's good enough for a wide range of applications. Still doesn't mean JavaScript is a good choice here, due to it simply not scaling for large and/or complicated applications, but it *IS* a capable choice, and users won't care if you go that route, like they do when you go the web app route.

  • User profile image
    contextfree`

    @DeathByVisualStudio:

     It's my understanding the W8 apps produced by Microsoft so far are all HTML and they seem to do was well as any WPF app I've used on the desktop.

    This isn't quite true ... most of them are HTML but not all. Off the top of my head, Bing Maps, OneNote MX, and I think Fresh Paint are all XAML (+ Direct3D) based.

  • User profile image
    magicalclick

    I think by the time you gone thru all the trouble to build HTML App that only works on certain device, you would already build a native app faster and easier. That's what happened to Facebook. The web app is not multiplatform, so, why even bother. And if it is multiplatform, you are limited to what web standards offers you. And if you have done web development, you know browsers don't play well to each other, FF and Chrome has different scroll width standard. So, packing an app with all sorts of multiplatform patches are just a big pain. Might as well do native app and isolate the quality assurance to its single platform.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    ScottWelker

    Great discussion guys. Thanks!

  • User profile image
    DeathBy​VisualStudio

    @wkempf: Sorry I didn't read the link before responding. It makes sense. Thanks for sharing. The layers and lack of integration with the native OS are certainly deal breakers for many apps both simple and complex.

    For me it looks like it's MVVM for the win...

    If we all believed in unicorns and fairies the world would be a better place.
    Last modified
  • User profile image
    PaoloM

    Not if you want Bluetooth access.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.