Windows 8

Poll: Does developing 'native' apps in HTML make sense?

Justin James thinks using HTML to develop Metro apps for Windows 8 feels like trying to fit a square peg into a round hole. What do you think about developing "native" apps in HTML?

There are a variety of systems that allow apps to be written in HTML, JavaScript, and CSS and then run as if they were true native applications on various platforms. Some of these systems (like Appcelerator's Titanium) allow a "write once, run anywhere" experience.

Microsoft is now allowing this paradigm for Windows 8, though its version is specific to Windows 8 (true to form, Microsoft...). I see the appeal -- it allows developers to use their existing skill sets and get more mileage out of them. If it works cross platform, that's a big bonus. At the same time, reading up on the use of HTML to develop Metro apps for Windows 8 feels a bit like trying to fit a square peg into a round hole. For me, the approach makes sense if the tools and systems for working like this are sane.

J.Ja

Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.

About

Justin James is the Lead Architect for Conigent.

28 comments
tanernew
tanernew

Check this good sample as a good implementation in HTML5 and new javascript engines www.cuttherope.ie

todd_dsm
todd_dsm

Everything is going to the cloud - everything. Even MS feels the burn and is moving office to the cloud. Why? Because Google showed us the error of our computing ways. Desktop break/fix dries up when every person in the world does NOT have 1 copy of a program running on zillions of individual desktops in various shades of health or lack thereof. When those apps are replaced with a single code base from which to do the same exact thing this consolidates efforts and saves money. In the future, bug fixes do not need to be released, for example, to your Office suite. A small team of seasoned software engineers can address bugs in the cloud and release them to the entire world. This consolidates efforts - and saves money. In the future, Cx (++,#, etc) programmers will be not be required en mass, as they are now. They will only be needed for the platform itself. Bug fixes will only need to be pushed to the OS. This will save on bandwidth for those doing the pushing; this will also save money. The only thing the cloud can't provide is any level of local service once your internet connection goes down. So it makes sense to begin a phase of transition from languages, like Cx, that require talent to write to something more portable, like HTML, that almost any fool can write; this will also save money. As long as web browsers come stock on every computer and standards are observed, any software manufacturer can write one (1) piece of software and expect it to run on any platform: Mac, Linux, and Windows. This will save development effort, time, and thus money. The wold is coming so you have to hop on board or get left behind. Questioning the nature of change gets you nowhere but leading an unstoppable change pays great rewards. Don't waste your time wondering where your old world went. Take the ride and lead a charge; life is far more interesting that way. And besides, if it's true that the answer to 9 out of 10 questions is money, it should make perfect sense "why" now. It makes financial sense.

jhoward
jhoward

I don't know if native is the right word but lets just go with it assuming it means "run locally" in the browser or "popped out" of the browser (think adobe Air). Adobe Air (flex/flash/actionscript) does all of what we are talking about fairly well already so the bar has been set for html5 - do what this can do seamlessly across platforms/browsers or it isn't worth talking about.

sysop-dr
sysop-dr

A native application by definition runs on the OS and Processor using machine language to talk to them, otherwise it is in a virtual machine like Java or dot Net, or an interpreter like php, asp and html and is not native.

crimsonxt
crimsonxt

I think it absolutely makes sense in some scenarios. As long as they are not ramming it down my throat as the *preferred* direction, I see no issues with it. I think it would be very useful for the scripting types to throw together a basic gui for a simple tool or application. In these cases XAML + C# might be a bit to steep for them, but JS + HTML5 is relatively painless. Of course, all of this assumes it is being used in the right context. If you are writing an app with more than one or two views and a ton of domain logic, it doesn't make sense. Just because you *can* doesn't mean you *should*. It's a specific tool for a specific job. Don't use a hatchet to split big logs when you have a perfectly good maul handy.

jose.a.nunez
jose.a.nunez

... would be the very small local storage capability ...

mcginnis99
mcginnis99

To me it would make much more sense to develop native apps in a neutral open standard that could then be easily output or transformed to any number of possible uses. HTML/XHTML is probably not the right choice.

danmartini
danmartini

>>(true to form, Microsoft???) Loser.

Deadly Ernest
Deadly Ernest

that runs on Win 8 only as it is now. Past experience with Microsoft has shown that they will make changes to their baseline code somewhere on the next couple of years as part of a major service pack, at which time many non MS created apps will have to be amended to work with the new Win 8 code, thus a non native app is easier to reconvert to the current Win 8 and also to convert for Mac, Android, and Win 9 in five years time.

beaverusiv
beaverusiv

HTML/CSS/JS were not designed for big jobs. Show me an elegant, not-hacked, fast/responsive full fledged program running in WinRT and I'll believe they made the right decision. I mean; proper Outlook with Gigs of emails, Visual Studio, Audio software, 3D CAD software... I think Game developers are already looking elsewhere... I wonder if any other companies are doing the same.

Deadly Ernest
Deadly Ernest

being a lot like telling everybody to go on a trip across the Atlantic and you can get a great deal right now on a good cabin aboard the SS Titanic. Moving to the cloud means giving up control of your services and systems, and leaving yourself open for data mining by almost anyone as you have no control over where it will be stored or the laws covering that country. It also means any comms breakdowns means your business is totally off-line until they come up again. Can anyone say cyber attack or accidental trencher cable cutting or anything in between?

Justin James
Justin James

I've been spending some time really getting to know HTML5. I was a big doubter of it a few years ago, my stance was that Silverlight & Flash and similar did the job but better, and that HTML should strictly be a document definition. While I think that stance takes a certain high road, it's not practical, and HTML's killer feature is the deep penetration of clients that deal with it "well enough" it is essentially a universally available (kinda sorta) API/runtime/etc. to work with. And that's pretty valuable. J.Ja

Justin James
Justin James

... because they compile down to a machine language. It just happens that the machine is a virtual machine running on the host. J.Ja

george
george

At least that is the worn out promise. I can state the major browsers are coming closer to convergence with their latests versions; at least they try to render the same html similar to each other. Whether this "compatibility" remains for HTML is anyone's guess. Apple, Google, and Microsoft are all fighting for customers so time will tell. As to the original question. You have to use the right tool for the particular job as it is defined. Don't use the handle of a screw driver to hammer in a nail; it will be painfully slow.

Justin James
Justin James

... when it's the truth. Microsoft has an extensive history of taking pieces of technology, incorporating them into implementations of an overall strategy, and making that big implementation Microsoft-specific. It's pretty hard to deny that they have done this a number of times. We can have an honest discussion about it if you'd like, but I highly suggest that you stay away from personal attacks. You will find your posts deleted fairly quickly. J.Ja

jk2001
jk2001

They've always done this. In fact, all the big platforms have done this: Apple, Oracle, Sun, IBM, etc. They embrace and extend, and improve in incompatible ways. Everyone hates it. If you don't hate it, you're not normal. As annoying as it is, I don't find it as annoying as hardware vendors using new proprietary connectors that require me to buy a $50 cable.

jk2001
jk2001

Apple went down this path with the iPhone, and the developers clamored for access to the underlying OS. Apple released an API for the iPhone, created the app market, and changed the ISV game forever. On the flipside, on powerful computers, web apps are taking over. HTML5 is what Java wanted to be. Web apps will run great in a few more years, when everyone has a 4-core or 8-core laptop. You will get an experience similar to native applications circa 2000.

Justin James
Justin James

While Windows 8 does make it easy to do stuff with the cloud, the HTML/JavaScript model does not require the cloud at all... it's all stored and run locally, with the JavaScript targeting local APIs. So yes, while I agree with your overall sentiment, in the case of Windows 8, one can develop in HTML/JavaScript without going anywhere near "cloud" tech. J.Ja

Deadly Ernest
Deadly Ernest

that they're proprietary and they're usually not built to be platform independent, while the HTML standards are meant to be designed to be open and platform independent. Many people have said they're being proprietary isn't an issue as the companies are letting anyone have the player. Yet, for a long time, we've had a significant lag between when Flash is upgraded in Windows and when an upgrade for the Linux version is released. And now we're being told by some there won't be any further Linux upgrades for Flash. That really encourages people to use Flash, doesn't it, but it's typical of the issues we get with this sort of application usage where a proprietary applications is pushed hard to become a standard while staying fully closed code.

danmartini
danmartini

Most of the people who write for TechRepublic don't write news, they write opinion. Worse, they don't write opinion like writers for more professional outlets; they write it peevishly and with no attempt (or perhaps it's no ability) to disguise their bias, and they almost never (close enough to never though) balance out their personal bias with any shade of objectivity. >>You will find your posts deleted fairly quickly. Whatever. Your primary model for luring people to comment at TR is to incite them with your digs and inflammatory phrasing. And yes it was a dig however you want to rationalize it. If you all didn't write the way you do, you wouldn't have half the thread participation that you enjoy. Personally, I think that would be a good thing, because then rather than getting your little jabs in, we would have more objective and actionable content. Alas, I do have to go elsewhere to more mature publications for that.

beaverusiv
beaverusiv

If you mean GMail working smoothly, ask yourself where the processing is done for that? Web apps run smooth because they mainly offload everything to their own servers for processing.

todd_dsm
todd_dsm

There are many options, your own private cloud for example. Or just something that runs locally - either way. And, don't call me crazy just yet - take a look at Symantec's Backup Exec, Endpoint Protection, etc. UIs, they are java apps that are made to look and feel like a compiled app. I assume they do this to bridge the gap for those less inclined to change. The big boys already see the value in it. But the rest though...whew - it could be a while.

Slayer_
Slayer_

[i][b]still think it should be possible to create apps in an Industry Standard such as HTML and for them to be platform independent. [/b][/i] Stating obvious superior solutions that you know the big evil corporations like MS and Apple would never allow. Next your going to tell us that all hardware should use a standard interface so that drivers wouldn't be needed and the same hardware would work in any OS and any OS version. When will you learn Ernest that those corporations aren't interested in doing things right, they just want to make more money. /Sarcasm Actually, I think you still could use HTML, it just wouldn't run as its own Metro app, it would run in the browser.

Deadly Ernest
Deadly Ernest

it all going to the cloud - which is a long step from just Win 8 and the original subject. However, regarding the Win 8 apps, there is a mixed bag issue here as we have been told by Microsoft that only MS approved apps designed to their criteria and certified them and sold through the Microsoft Store (for which they'll get their danegeld) can be loaded onto the Windows 8 loaded ARM devices with UEFI locked on. Sure the full PC systems with Win 8 can use any app made to run with HTML etc. but they aren't the full playing field for Win 8. I still think it should be possible to create apps in an Industry Standard such as HTML and for them to be platform independent.

danmartini
danmartini

I have to give you extremely high marks for patience and tact. Accordingly, I give you the benefit of the doubt (meaning that I believe you) about the internal politics at TR. As to the "true to form, Microsoft", I know a lot of people feel that way and you have a right to your opinion, no grievous bodily harm done. I feel differently about them. I am of the opinion, evidenced by how many people maintain their "Cold War" view of Microsoft, the Microsoft of the 1980's and 1990's, that a lot of people aren't keeping up with the company. They are not the same company they were then, and they are not the same company they were 2 years ago. I think most people can't process that they are an agile company, given their size, and that they are not making the same old mistakes they made in the past. The make entirely new mistakes now. They also get a lot of things right and very little recognition for it from people who are either in bed with their competition, or can't let go of an old view. Much of this has to do with the immutable fact that Steve Ballmer is still the face of the company, and on the surface he hasn't changed. In any case, I am not convinced that you are either of those things, and I am sure you are not a bad guy, but your remark was one I have read hundreds of times and it occasionally grates. That's not going to change. Anyway, no harm done.

Justin James
Justin James

I can promise you, without revealing too much of what's said internally, that your "understanding" of the kind of content that TechRepublic asks the third party contributors (such as myself) to write is completely wrong. That does not mean that what they ask to be done is what always gets written. But what you "think" you know is flat out wrong. Look at all of the "how to" and tutorial style information on TechRepublic for an idea of what this site is about. In fact, I can tell you that I have also brought up the amount of pure opinion/analysis pieces on the site to management, because I agree that they should not be to focus of TechRepublic. There's ZDNet for stuff like that. "Personally, I think that would be a good thing, because then rather than getting your little jabs in, we would have more objective and actionable content. Alas, I do have to go elsewhere to more mature publications for that." Yet here you are, being angry over a three word phrase in parenthesis which is factually true to boot? TechRepublic is almost always looking for more content authors, and unlike a lot of sites, they pay their contributors (and on a regular, predictable, and timely fashion... if you've ever dealt with publishing, you know that's rare). Send them an email and ask to start writing articles. The only way you'll see things change is by doing something a bit more positive than reaming out authors. A while back, a reader gave me a really good piece of advice. At the time, I was criticizing folks for writing poor HTML, and his advice was basically that I should write articles showing the difference between doing it right and doing it wrong instead of just blasting people for doing it wrong. It's easy to point of problems, it is hard to solve them. He was right, and the quality of my writing has improved since. I am giving you the same piece of advice right now. If you do not like the style of the content here, not only can you make a difference, but you can get paid to do it in the process. But throwing out these comments on a periodic basis about how the TechRepublic contributors are all biased (funny enough, I regularly get accused of being a pro-Microsoft zealot/shill/whatever... getting called anti-Microsoft is pretty unusual for me) is not constructive and it is not productive and it will NOT accomplish the goal of getting the content mix to change. J.Ja

belli_bettens
belli_bettens

Isn't that the way it is done in both "systems"? You use webservices, you don't build in a mail-database of +7gig into a native app. Nor would you do that with the search engine or anything else. Whether it's a native or html-app, you are restricted to the devices resources either way. I believe the discussion about native vs html-apps is more about the possibilities and toolsets you have instead of the power or responsiveness of the app (but I could be wrong)

Editor's Picks