Coffeehouse Thread

23 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

PhoneGap for Windows 8

Back to Forum: Coffeehouse
  • User profile image
    JoshRoss

    It would make more sense for me to develop Windows 8 apps, if it were a PhoneGap target. I've spend a good part of the last ten years developing desktop LOB apps.

    Having bothered to learn JavaScript and the intricacies of the DOM, I ask myself why in the world would I write an app that is basically a browser host app, but only targets Windows 8 computers?

    It would be like I was in the cup making business, but my cups could only be used to contain peanut butter and jelly flavored vodka. The stuff exists, and it is pleasing to the senses, but it will never represent a large portion of the beverages people consume.

    -Josh

  • User profile image
    vesuvius

    @JoshRoss: Win 8 JavaScript development will last shorter than Silverlight did. These is no doubt that JavaScript is to gain popularity. I have written a few MVC apps, and they are just much crisper and better to use than webforms .

    The jury is out with Metro, we look to be developing several new WPF client apps in desktop land, as it will be a few years before the people that pay for large software products will consider developing Metro apps.

    I hope Microsoft choose something and stick to it for once.

  • User profile image
    magicalclick

    It is just active desktop 3.0, so, it has its uses. I wouldn't go with that route because using IE as middle layer is putting yourself at mercy of its hardware support and versioning changes, that often is unstable at beta stage, and I don't know what terrible things have not been fixed at final release. When something goes bad, you have to consider your compatibility with current version of IE, which increases complexity. It sounds good for wen guys. But good for long run.

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

    @magicalclick: I don't think that you have managed to assemble a single coherent sentence. Still, I appreciate your input and effort. In the end, I suppose that is all that we can expect from others.

    However, if I were to take the whole of your response and try to keep the ball moving, I might respond back with some statement regarding the universality of the web as a platform and its suitability as a base runtime for applications large and small. Or, I might not.

    -Josh

  • User profile image
    magicalclick

    @JoshRoss:

    Nope. That is all I can give you. The more I talk, the more you are going to get confused anyway. And I am not sure about your post to begin with, hence, the half assed reply that doesn't really answer your concern.

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

    @JoshRoss: The problem I see is that what people expect from a Windows 8 app is not what they expect from a website. If you don't want to go for the least common denominator, then I'm not sure what JS would buy you in this case unless, of course, you are so familiar with the language that it would cut significantly your development time.

    Every version of Windows sold big, even Vista the terrible, even Me the blue-screener. Regardless of what we think of it, Windows 8 is going to be a huge platform, huge enough that comparing it to some fancy flavored vodka is not the correct simile IMO. Try coffee... yes, you can drink it in nondescript paper cups, but there's a huge market for ceramic mugs.

  • User profile image
    Charles

    , JoshRoss wrote

    It would make more sense for me to develop Windows 8 apps, if it were a PhoneGap target. I've spend a good part of the last ten years developing desktop LOB apps.

    Having bothered to learn JavaScript and the intricacies of the DOM, I ask myself why in the world would I write an app that is basically a browser host app, but only targets Windows 8 computers?

    It would be like I was in the cup making business, but my cups could only be used to contain peanut butter and jelly flavored vodka. The stuff exists, and it is pleasing to the senses, but it will never represent a large portion of the beverages people consume.

    -Josh

    In fact, HTML5 WinRT apps are not hosted in a browser control. HTML5 is a first class WinRT projection (so, you build Windows Store Apps with HTML5, not as web pages that run in a WebView control, but as code that directly targets WinRT). There's a big difference. Further, this means you can naturally interoperate with .NET and C/C++ code running on WinRT, too. Now, you don't get to put DX shaders on Canvas elements like you can with XAML UI surfaces, but you can use a DX component that, say, does creative things to images by just passing an image to it from JavaScript (most likely as a path to the file or a JavaScript byte array).

    Your last point is purely speculative. It's also a weak argument.  Windows 8 is currently at the beginning of it's marketplace adoption cycle and therefore doesn't match the current levels of usage of more established general purpose operating systems (which have been in market much longer). Asserting that this alone means it will never be successful is illogical. Even Spock would question this.

  • User profile image
    evildictait​or

    , Charles wrote

    In fact, HTML5 WinRT apps are not hosted in a browser control. 

    That's true, but that doesn't detract from the fact that HTML5/JS WinRT apps are parsed and managed by mshtml which is owned and managed by the Internet Explorer team.

    The only difference (from a developer's perspective) is that basic objects that were there in the browser but no longer relevant are no longer there (e.g. window.status), and objects are now exposed to your javascript to interact directly with Windows.

    In many ways, the whole WinRT/JS think it's just a blending of the power of WScript (with better libraries) and the swishy GUIness of HTML5, all running in a sandbox.

  • User profile image
    Charles

    @evildictaitor: And the JS is compiled to optimized machine code before it runs (so, at install time, not run time). Sure, why would MSHTML, a shared Windows dll, not be used for the things it's designed and optimized to do on Windows? Or, are you suggesting it would be better if you could use Webkit? This doesn't change the fact that your HTML5 application is not running in a web browser. That level of abstraction is unnecessary. These are Windows client apps, not web pages. You stated as much, I know. Restating the facts, is all.

    C

  • User profile image
    JoshRoss

    @all: Just some observations here.

    • I can write a webpage and light it up with standard javascript and it will run on almost any device running almost every operating system.
    • On almost any version of Windows, I can run Chrome and pass in the --app flag and it will run the site as if it were its own application. It removes things like the address bar and most of the other bits that someone would expect a browser should have.
    • For every large program, there are many more smaller programs that don't need their critical-path written in hand-tuned C++ for them to perform their job well.
    • Any vendor can interpret whatever flags they want into their browser. Including loading splash screens, application icons, etc. Progressive enhancement is a fundamental idea behind many of todays web based user facing frameworks, like jQueryMoble.
    • Microsoft changes their application framework strategies more often than many people change their underpants. odbc, dao, ole db, ado, ado.net, linq-to-sql, entity framework, anyone?

    -Josh

     

  • User profile image
    magicalclick

    @JoshRoss: sounds cool, we probably should make Chrome web app instead.

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

    , magicalclick wrote

    @JoshRoss: I could use JavaScript to open up a new browser with no buttons in it. At least that's the old folks did it with ads. I am not sure what you mean by using a flag to enable an app space. Because from the look of it, metro apps are run at higher security privilege than internet browser with access to many Windows API.

    Which Windows APIs do you miss not having on your websites? Anything you can do with File IO, I can do with cloud storage, any of WinRT/JS's high-res graphics and JS objects can be done with SL/Flash/HTML5/jQuery/WebGL.

    Pretty much the only thing I can think of that WinRT/JS gives you that a website doesn't is a permanant prescence on your customer's home screen via a live tile.

  • User profile image
    Charles

    I'm not sure I understand the arguments here. On the one hand, you have a set of technologies used for building web pages (HTML, CSS, JavaScript). These technologies can be used to write a native (as in platform-specific and first class) UI program using the WinRT API directly (something that is not possible inside a web browser - a context where targeting a specific underlying client platform doesn't really make sense...).

    As I said earlier, when using JS in a Windows Store App, you have full access to WinRT and WinRT components (written in different languages). You can write a Windows application in HTML5. You can build an HTML5 UI that is powered by C++ underneath. You can leverage all of the WinRT API from JS. 

    The reason you would do this (write a Windows Store app in HTML5) is to leverage your already-existing HTML5 skills to build Windows Store applications (which by definition means, again, you have the full WinRT API at your disposal). The fact that the underlying application execution environment is sandboxed doesn't mean it's the same thing as a web browser. It's not.

    HTML5 is a set of programming tools used for building applications for the web, as we all know...

    Windows 8 enables the use of HTML5 for building "native" client (WinRT) applications for the Windows Store, as we all know...

    C

  • User profile image
    JoshRoss

    @evildictaitor: There you go! Plus, when you install the beautifly crafted StartIsBack, you don't have to deal with those pesky vomit tiles.

    -Josh

  • User profile image
    Bass

    I'm surprised that Windows 8 is not a PhoneGap target.

  • User profile image
    Charles
  • User profile image
    JoshRoss

    @Charles: I understand the value proposition of Windows 8 native app development  it's just that it isn't worth using right now. There might be some edge case where you simply cannot do something in a browser. But those cases are getting more rare as time goes by, browsers become more capable, and computers are become more efficient.

    Things like C++ AMP look totally awesome, and if I was creating a compute intensive app, I would have it in my pipeline, somewhere. Search and Sharing... The jury is still out on these ideas.

    But anyone developing software should write their base app to target a web browser, if they then want to progressively enhance enhance it with native bells and whistles, then great. And this is where Microsoft could shine.  Offer a better browser that runs on everything, and awesome tools that target it.

    The Web Essentials 2012 that Mads is working on is completely awesome, and all the work with the Web API is superb. We just need more things of this quality baked into Windows itself.

    -Josh

  • User profile image
    Bass

    @Charles:

    Very nice. I didn't read the whole thing, but it seems like you can even mix PhoneGap and WinJS in the same project.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.