• 0

Does HTML, CSS and Javascript technologies give an


Question

Hello everyone,

I wanted to get your thoughts on HCJ (HTML, CSS and Javascript) and why it is not yet implemented as the GUI engine by some of the industry leaders out there (e.g. Java, .NET, etc?).

From my experience I had an awesome time developing user interfaces using HCJ and the things you can design or do with HCJ are truly remarkable. Compare that to Java Swing, JavaFX, C# WPF, your experience will be polar opposite if not painful.

I am curious whether there is some kind of technical limitation that is forcing us to rely on these old GUI libraries or it?s just due to business reasons that these folks (Oracle, Microsoft, etc?) are not yet making it possible to code/design the front-end of the desktops with pure HCJ?

I guess the main questions is? why are we not using HCJ for our GUIs rather than learning something new like FXML, WPF, JavaFX, etc?? All the web applications and some of the hybrids of a desktop apps are running a browser engine which uses HCJ, so why not create a native HCJ rendering engine on a matured platform like Java, .NET, Cocoa? Thus, eliminating the need to embed a third-party web browser engine!

Adobe AIR, NodeWebkit was almost there but the libraries provided by .NET/Cocoa/Java/PHP/Python is a huge advantage to most developers. And having a native support for something is always desirable!

The Mobile world is primarily HTML/CSS anyways, so I don?t know why the desktop apps cannot use pure HCJ natively :)

9 answers to this question

Recommended Posts

  • 0

You already have this option with Windows 8+/WP/Xbox 1, it's already native out of the box.

Obviously for older platforms you'd have to embed, say ChromiumEmbedded, the IE engine, etc if you want to do it for "classic" software, and that's usable from quite a few platforms, dotNET, Python and Java included.

  • 0
  On 30/09/2014 at 19:08, Max Norris said:

You already have this option with Windows 8+/WP/Xbox 1, it's already native out of the box.

Obviously for older platforms you'd have to embed, say ChromiumEmbedded, the IE engine, etc if you want to do it for "classic" software, and that's usable from quite a few platforms, dotNET, Python and Java included.

 

Ah, this is interesting. I will have to look at Windows 8 and see how well HCJ is supported. For the older platforms or other technologies I am already aware of the embedded frameworks, etc... but they have huge drawbacks too. For example, the Java webkit works only on JavaFX. And JavaFX presents some serious blow to the users who run their OS on a VM or do not have a good enough system. Also, the runtimes provided by Java, Qt (let's not forget the confusing license terms), are huge! Python is cool in its own ways but the HCJ GUI is still not natively supported. You have to download hacks, etc... to make it work. My bias would be to see Python, .NET releasing its next GUI engine with the ability to design the layout using pure HCJ ;). So, if the users are still on Windows XP, they can just install the latest framework and everything works flawlessly!

 

Also, I wanted to add is that some of the embedded framework solutions have a mixbag of licenses that makes the binary distribution very confusing and limited. But if things are natively supported then we wouldn't have to worry about it. JavaFX in my opinion is already miles ahead in terms of its support for webkit, etc... but the JRE size is always frawned upon and the operating systems nowadays don't include the JRE by default. And in many cases you don't want to make your HCJ sources available to the end users. So, if these industry leaders supported it natively, compiled everything to bytecodes, most commercial developers would feel more comfortable coding apps in HCJ for the desktop!

  • 0

It's coding for the lowest common denominator of all platforms. It's difficult to make your app look and feel native when you don't have access to any native widget that the OS exposes. You also lose all platform-specific functionality: can you code a JS app that does Direct3D? Link to third-party native libraries? Can you get administrator permissions on the machine? You're restricted to a very small subset of the things a native application can do. Plus you pay a big performance cost, Javascript performance is anywhere between 5-50% the speed of native code depending on platform.

 

So, it's always a tradeoff, what you get in convenience and portability you lose in integration, flexibility and performance.

  • 0

I'm not a fan of HTML5 development. It's a major pain in the ass compared to working with native toolkits. HTML and CSS were not designed for applications. They were designed for document rendering, and that shows. I mean, how is it acceptable that third party CSS and JavaScript can stomp all over your stuff? How can you build non-trivial software and not lose your sanity if you don't have that guarantee? The Shadow DOM aims to fix that, and it is long overdue.

 

While there is a constant churn of new libraries and frameworks in the HTML5 space, the underlying technologies move at a glacial pace. The concurrency story has sucked for the longest time. There are heaps of shiny new layers, but the process of fixing things that are fundamentally wrong with web development - that takes ages.

  • 0

I prefer Desktop GUI development to be honest with you. I can't stand the hackiness (imo) of CSS and JavaScript (although I find jQuery has vastly improved JS).

 

I've had fairly significant experience in both Desktop and Web development and C#.net beats the heck out of HTML/CSS/JS. Python+Qt was a bit of a chore, I'll give you that, and that's without taking into consideration its retarded licensing terms that I still don't fully understand. I'm still considered new with C# though, so perhaps the excitement will wear off after the honeymoon phase. For right now I'm really enjoying it.

 

My favorite part of Web Development is the back end, and a lot of the magic of my WebDev comes from PHP and not JS as most would expect. Mostly because I'm far more confident in PHP than I am in JS/jQuery.

  • 0

Having been a Winforms apps developer for years, I'm currently learning HJS as my employer has decided the web is the way to go with future projects.

 

I friggin' hate it, with a passion!  The inconsistencies between rendering engines irritates the hell out of me, and don't even get me started on cross-browser incompatibilities!  If I had to use this crap for Winforms, I'd go nuts.  This stuff is designed for document rendering, not application interfaces. Whoever thought it was a great idea to start doing app UI's in it needs dragging out back and shooting.

 

With Winforms, I can drop a control on a form, position it exactly where I want, control its appearance exactly how I want, know that its appearance will always be consistent with the rest of the app and environment its running in, and that it will always behave the same way.

  • 0
  On 10/10/2014 at 10:12, FloatingFatMan said:

Having been a Winforms apps developer for years, I'm currently learning HJS as my employer has decided the web is the way to go with future projects.

 

I friggin' hate it, with a passion!  The inconsistencies between rendering engines irritates the hell out of me, and don't even get me started on cross-browser incompatibilities!  If I had to use this crap for Winforms, I'd go nuts.  This stuff is designed for document rendering, not application interfaces. Whoever thought it was a great idea to start doing app UI's in it needs dragging out back and shooting.

 

With Winforms, I can drop a control on a form, position it exactly where I want, control its appearance exactly how I want, know that its appearance will always be consistent with the rest of the app and environment its running in, and that it will always behave the same way.

 

Hi,

I do agree that HCJ has some rendering issues on different web browsers and despite the efforts by W3C the web browsers are not adhering to certain standards (e.g. browsers that still add unnecessary padding to the HTML tags).

I wasn?t suggesting to use HCJ in a web browser environment but actually create an engine that behaves or works like WinForms. You know how you drag and drop the controls on a WinForm and mess with its style? And no matter whether you are on Windows 7, 8 or 10? it still ends up looking the same? I am suggesting the same thing. If Microsoft created a technology that rendered HCJ as a Desktop app then it could really speed up the process of designing GUIs that not only looks good but does some really cool things.

I am aware that animation and 3D stuff doesn?t blend well with HCJ like WinForms, etc? but what are the odds your application uses serious 3D or animation for all its projects?

As FloatingFatMan mentioned, since most companies feel that the web is the way to go then why can?t we just use a common rendering engine (similar to WinForms) and create desktop apps out of HCJ :). From my experience, convincing people to launch a desktop app is much easier than convincing them to let go of their favorite web browser just because your web app uses non-standard HCJ.

There are certain solutions out there but they are basically ?crap? in my opinion for the following reasons:

1. Codes are exposed. I want to compile my HTML, CSS and Javascript?s to byte codes, period! No exception!

2. I want Webkit. She wants Tridant. Oh, why not Chrome? Just like on Java you are pretty much stuck with Swing or JavaFX, on Windows you are stuck with Winforms/WPF, etc? So, I feel that this constant need to make your applications work in all web browsers is distracting too many people from being productive. It drives the developers nuts, and customers are frustrated when the app doesn?t work on their favorite web browser whether it?s due to bad coding or some stupid security settings.

FloatingFatMan I do want to add that if cross browser issues is something you are struggling with, consider incorporating a cross browser compatible framework. EXTJS, Bootstrap are my primary choices when I?m building a cross platform app.

I am not suggesting Microsoft or Java or Apple do away with their existing technologies but I feel that people can build very good looking apps in a short amount of time with HCJ than programming languages that require more technical commitment. Ever tried customizing a JAVA Swing theme? Now, compare that to a HCJ document.

Like I said Adobe AIR is already there but the issue is that the codes are still exposed. If they would compile the actual HCJ codes or keep it tightly hidden/secured from the users, then I probably wouldn?t even start this thread.

  • 0

Oh, I'm not "struggling" with the cross-compatability issues... I can code around them once I find them; but there wouldn't BE any sodding issues if the browser makers would quit doing their own ###### and stick to the standards!

 

As far as using HCJ for Winforms apps, MS have "decreed" that this is how ModernUI apps will work.  It's here now and it's not going anywhere.  With the improvements in Windows 10 allowing proper windows apps instead of full screen, it's going to be the way forward from now on.  

 

For actual Winforms itself, this is always going to be as it is now.  MS tried alternatives with XAML and Silverlight, but just how many commercial apps do you see out there that use either of these technologies?  They're dead ends, and MS know this because they've essentially killed them off.

  • 0

WPF is still the best supported GUI framework for Windows desktop applications. It gets modest updates with each version of .NET - not much evolution but healthy maintenance yes. Killing WPF would essentially mean killing desktop apps and since Windows 8.1 Microsoft has made it quite clear that desktop apps aren't going anywhere.

 

Silverlight, well, that's another story.

This topic is now closed to further replies.
  • Posts

    • Microsoft should never release , Windows 12.
    • Microsoft Weekly: Windows 10 end of support toolkits, new builds, and more by Taras Buria Background by ES60 on Pixabay This week's news recap is here with plenty of new Windows 11 builds to try, a lot of useful information about the end of Windows 10 support, important guides for those who miss uBlock Origin in Chrome, gaming news, and more. Quick links: Windows 10 and 11 Windows Insider Program Updates are available Reviews are in Gaming news Great deals to check Windows 11 and Windows 10 Here, we talk about everything happening around Microsoft's latest operating system in the Stable channel and preview builds: new features, removed features, controversies, bugs, interesting findings, and more. And, of course, you may find a word or two about older versions. Windows 10's support is quickly approaching (including exotic editions, such as the original LTSB), and with Microsoft offering only 12 months of extended security updates for regular users, multiple groups provide their own solutions for the inevitable demise of hundreds of millions of PCs. The Restart Project released a so-called "End of Windows 10 toolkit" to help community repair groups deal with the upcoming event. If your computer is not supported but you still want to leave Windows 10 behind, try the recently updated Flyby11 app, which received a new way to download and patch Windows 11 images. You can also check out this guide to learn how to create a lightweight Windows 11 image for unsupported PCs. Alternatively, you can sign up for the Extended Security Update program and get one more year of updates for free, as described in our newly published guide. If you plan to stay with Windows 10 and you use Office apps, Microsoft has an important update for you. The company revealed that Microsoft 365 apps will stop receiving feature updates in August 2026 for the Current Channel, October 2026 for the Monthly Enterprise Channel, and January 2027 for the Semi-Annual Enterprise Channel. This week, Windows 11 version 24H2 received a new out-of-band update with an emergency fix for Azure VM boot issues. Also, Microsoft confirmed problems with the emoji panel in Windows 10, the fact that it could not resolve a recent Windows Firewall issue, and details about driver improvements in Windows 11 version 25H2. Microsoft also announced that Windows 11 images now include more recent versions of inbox apps. This allows customers to use those apps right after installing Windows and without wasting time and bandwidth on updates. Another benefit to this is that more recent versions include all the security fixes, which minimizes security risks and threats. To finish this week's Windows 11 section, here is our recap of the top 10 useful and cool features that Windows 11 received in the first half of 2025. They include some much-anticipated changes, such as small taskbar buttons (in the picture below), and more obscure stuff. We also published a similar article, but for the upcoming 10 cool features for Windows 11. Also, here is a cool project that puts Windows XP in your browser, allowing you to check out the 21-year-old operating system in Edge, Chrome, or any other modern browser. Windows Insider Program Here is what Microsoft released for Windows Insiders this week: Builds Canary Channel Build 27902 This build brought only two fixes for File Explorer and Camera, plus some general improvements. The Windows Vista startup sound bug is still not fixed. Dev Channel Build 26200.5702 (KB5062653) This build introduces generative AI image descriptions in Click to Do, improved privacy dialogs, fixes for the taskbar, File Explorer, Search, and other parts of the operating system. Build 26200.5710 (KB5062676) This build contains new AI-powered accessibility features and a new system for logging your computer's slowdowns. Beta Channel Build 26120.4733 (KB5062651) This build has the same changes as build 26200.5702. Build 26200.5710 (KB5062676) This one is the same as build 26200.5710. Release Preview Channel Build 26100.4767 (KB5062663) A small update with fixes for IME, Group Policy Editor, Windows Firewall, and graphics. Build 22631.5696 (KB5062663) This build fixes certain issues with the previous build. Build 19045.6159 (KB5062649) This build fixes certain issues with the previous build. This week, Microsoft revealed details about why a particular taskbar feature for Windows 11 was killed. As it turned out, Microsoft's idea for a simplified taskbar received so much flak from Windows insiders that the company was forced to kill it for good. With the latest preview builds, Microsoft is testing a big new feature for its operating system. Windows 11 is getting a new adaptive power saver, which will turn on or off depending on workload and not your current battery level. Microsoft is also changing how energy saver affects various parts of your system, such as the display, background tasks, and more. Also, Microsoft released an important new feature for the Copilot app. It now lets you share the entire desktop with Copilot through the Vision feature and receive useful information and help from AI in your applications. Another change enables you to trigger Copilot Vision when in voice mode. Updates are available This section covers software, firmware, and other notable updates (released and coming soon) delivering new features, security fixes, improvements, patches, and more from Microsoft and third parties. Command Palette, one of my favorite PowerToys modules, is getting an important new feature. Soon, you will be able to pin favorite apps for quicker access in the launcher or the list of all apps. App pinning is expected in version 0.93 next month. If you use Google Chrome and uBlock Origin, the famous content blocker, you might have noticed that the extension was permanently disabled. Fortunately, there is still a way to bring it back to life. Check out this guide to learn how to enable uBlock Origin in Google Chrome. Speaking of Chrome, Google is ending its browser support on macOS 11 Big Sur. Other browser news includes a dedicated version of AdGuard for Microsoft Edge on Android, a new Vivaldi for iOS update that introduced Reader View and other improvements, and Firefox getting WebGPU support.. In a surprising twist of events, Microsoft announced that Skype for Business and Exchange are getting their own Extended Security Update program, giving users six more months of support before services shut down for good. Here are other updates and releases you may find interesting: Security Copilot in Microsoft Entra is now available for all IT admins. Here's how the Microsoft Stream and Clipchamp unification is going. Microsoft 365 Copilot is finally getting memories. LibreOffice called out Microsoft for using "complex" file formats to lock in Office users. VMware Workstation Pro and Fusion received snapshot and security fixes. Mercedes-Benz integrates Microsoft Teams and Microsoft 365 Copilot for in-car productivity. Microsoft stopped using China-based engineers to support US defense clients. What will not receive updates anymore is Microsoft's Movies and TV store. This week, the company quietly killed it. No refunds will be offered, but users can keep their movie libraries and watch everything they purchased before. Reviews are in Here is the hardware and software we reviewed this week Christopher White published a review of the Synology BeeStation Plus, a worthy upgrade over the original BeeStation. It is affordable, easy to set up, great for family sharing, and it has a small footprint. It is not flawless, of course, but still good overall. Steven Parker published a small hands-on article about the SEENDA KSM64-3, an ultra-thin keyboard-mouse combo with an affordable price tag. On the gaming side Learn about upcoming game releases, Xbox rumors, new hardware, software updates, freebies, deals, discounts, and more. New games are coming to Game Pass subscribers. Microsoft announced a new wave of titles, which includes High On Life, RoboCop: Rogue City, Grounded 2, Farming Simulator 25, Wheel World, Abiotic Factor, and more. Three games are leaving the service, so check out the complete list here. The Xbox app on PC received an important new feature that was previously available only on consoles. Now, Xbox Game Pass Ultimate subscribers with PCs and handhelds can stream the games they own from the cloud. Right now, this feature supports over 250 games. Deals and freebies Here is the latest issue of the Weekend PC Game Deals series, which includes automation fests, charity specials, a free copy of Civilization VI: Platinum Edition, and a lot more. Other gaming news includes the following: Avowed received Steam Deck Verified with a new update that reworked the Fighter and Ranger classes. Cyberpunk 2077 is getting self-driving cars, FSR 4, XeSS 2, VRR on consoles, and more. Great deals to check Every week, we cover many deals on different hardware and software. The following discounts are still available, so check them out. You might find something you want or need. Dell 27 Plus 4K Monitor - S2725QS: $239.99 | 20% off Apple AirPods 4 - $89 | 31% off Apple AirPods 4 with Active Noise Cancellation - $119 | 34% off Crucial T710 2TB Gen5 NVMe SSD | 22% off 26TB Western Digital My Book Desktop External Hard Drive - $549.99 | $60 off Samsung Galaxy Tab S9 11-inch, 128GB - $484.99 | $104 off Nakamichi Shockwafe Ultra 9.2.4 Channel Dolby Atmos/DTS:X Soundbar | 33% off Lenovo Legion Y32p-30 Gaming Monitor: $599.99 | 25% off This link will take you to other issues of the Microsoft Weekly series. You can also support Neowin by registering a free member account or subscribing for extra member benefits, along with an ad-free tier option.
    • on Android phones Chrome is the default browser. Google is monopolizing like Microsoft did with Internet Explorer.
    • “which covers most of what people can hears. ” Oh yeah, you really reviewed this AI slop. Neowin should cut out the middleman at this point.
    • £129 in the U.K., that is a fair drop in price and if anyone have a need for one then now is a good time to buy one. But for most people if they have a pretty good router it would be money wasted,, unless they need Wi-Fi 7 and I doubt many will notice any difference even if they have Wi-Fi 7 devices. The 2.5Gb/s lan and Wan could be useful for some people, but why only one 2.5 lan? sure, there is not much around in the 2.5Gb/s line at the moment and a lot of devices like TVs would not benefit by it, but if someone has a couple of computers with 2.5Gb/s lan, they have to buy a switch, so more cost. So a unmanaged one can be picked up for around £50 these days, but that is still extra and electrical another socket and box. I suppose sticking another 2.5Gb LAN on the router would have added a bit of more cost, but not that much. I don't really have much need for a Wi-Fi 7 router, I have an Archer AX53 that does what I need, the one thing I do miss is the USB port that don't seem to be a thing these days on routers, just to stick a small USB drive in for documents, saves booting up the nas.
  • Recent Achievements

    • One Month Later
      Ricky Chan earned a badge
      One Month Later
    • First Post
      leoniDAM earned a badge
      First Post
    • Reacting Well
      Ian_ earned a badge
      Reacting Well
    • One Month Later
      Ian_ earned a badge
      One Month Later
    • Dedicated
      MacDaddyAz earned a badge
      Dedicated
  • Popular Contributors

    1. 1
      +primortal
      504
    2. 2
      ATLien_0
      207
    3. 3
      Michael Scrip
      205
    4. 4
      Xenon
      141
    5. 5
      +FloatingFatMan
      116
  • Tell a friend

    Love Neowin? Tell a friend!