What Java developers need to know about Windows 8

With the upcoming release of Windows 8.1 I thought it might be a good idea to take a look at what both Windows 8 and it’s update means for Java developers.

Windows 8 as a target platform

Perhaps unsurprisingly, writing Java applications for Windows 8 is exactly the same as for Windows 7, Vista, OS X or any other operating system. The old Sun slogan of Write Once, Run Anywhere applies – as does it’s less official companion, Write Once, Debug Everywhere. However, I’ve seen no more issues with cross-platform compatibility in Windows 8 than in earlier versions of Windows, and far less than I’ve seen in OS X.

If you’re interested in developing apps for Windows 8, though, you’re out of luck – there is no Java support for apps, and as far as I can tell, no plans to add it. People have discussed the idea of a GWT plugin for creating JavaScript/HTML apps, but as far as I’ve seen nobody is working on it.

Windows 8 as a development platform

Perhaps the first thing most developers will want to know about is speed, and in this case they won’t be disappointed – I’ve seen a few articles comparing the speed of Windows 7 and 8, and they all seem to agree that it’s an improvement. Start-up time has improved particularly noticeably, with minor improvements across the board.

The interface changes have proved controversial – a tablet-style start screen has replaced the start menu. To be honest, this change has proven rather inconsequential for me as I have always just hit the start key on my keyboard and typed what I want to launch anyway, which still leads to the same conclusion. Some of my colleagues and I have experimented with IObit’s Start Menu 8, but I found it a little unstable and quickly concluded that I didn’t need it.

Many developers like using multiple monitors. (Personally I’ve seen the need less since larger monitors became more standard and Windows 7 introduced the ‘snap’ tool.) They’ll be pleased to hear that Windows 8 now allows you to have a task bar on each screen, which can display either all of your open applications or just those on that screen. Apparently more changes are coming to multiple monitor set-ups in 8.1, including fixes for screens with different DPIs and improvements to the way apps are handled.

Conclusions

While the lack of support for Java apps is disappointing and the user interface changes can take a while to adjust to, Windows 8 has no new challenges for Java development and serves as a solid system to develop on. While it seems most of the improvements coming in Windows 8.1 seem to relate to how apps are handled, which is probably of little interest to most Java developers, it also offers a number of small improvements which reportedly improve the overall experience. Since it will be free to existing Windows 8 users when it launches later this year, I’ll be sure to take a look.

If you’re a first-time reader, or simply want to be notified when we post new articles and updates, you can keep up to date by social media (TwitterFacebook and Google+) or the Blog RSS.

The following two tabs change content below.
Sam is a developer at IDRsolutions who mostly specialises in font support and conversion. He's also enjoyed working with Java 3D, Java FX and Swing. His other interests include music and game design.

Related Posts:

SamH

About Sam Howard

Sam is a developer at IDRsolutions who mostly specialises in font support and conversion. He's also enjoyed working with Java 3D, Java FX and Swing. His other interests include music and game design.

2 thoughts on “What Java developers need to know about Windows 8

  1. I found Start Menu 8 an absolute must for me, I don’t remember having to use the tablet interface since. My biggest annoyance was that I had to keep switching between the interfaces and needing to use the clumsy ‘drag down’ action to close the tablet style apps.

    There are other slight annoyances that were easily fixed. For example Windows Update doesn’t show a notification on the task bar any longer when there are updates available. I know that they would rather us install updates automatically, but I prefer to tell applications when it’s ok to use my internet bandwidth or processing power instead of them deciding on their own. This was solved by downloading a third part app called “Windows Update Notification Tool”.

    They removed the confirmation dialog box when deleting files too, but this is easily solved by changing the setting from the Recycle Bin.

    The one thing that I’ve not been able to solve is saving files in he root directory of the C:/ drive. Not an issue for most, but it’s something that I use quite often because it’s a simple location to use when using command prompt.

  2. Felix Bembrick

    Windows 8 as a desktop operating system is an epic fail.

    The very idea that you want to be spending all day switching between completely disparate UI styles is just ridiculous. The Modern UI works well on touch screens like mobiles and tablets but is useless (and damn annoying) on desktops. Almost no Windows user wants to have anything to do with Modern UI and wants to spend their time on the “desktop”. The problem is that to do something as fundamental as launching an application on the desktop you *have* to switch back over to Modern mode to launch it.

    How did Microsoft ever expect people to be happy with that? They removed the Start button on the desktop to “encourage” users to live in Modern mode but most of the software they want to use won’t actually run in this mode! Now Windows 8.1 comes along and promises to fix such issues. And how did they fix them? Well, by restoring the Start Button in desktop mode. Sounds good in principle but guess what the Start button does now? Yep, that’s right, it switches you back over to Modern mode! I think that’s even more insulting that having no Start button at all!

    And don’t get me started on “charms”…

    Microsoft came to the conclusion that users wanted the exact same UX on all devices so they gave us Modern UI in Windows 8. This is one of the worst errors in judgement I have ever seen in software design. Windows users have had a long history with using Windows on their desktop and are extremely familiar with the interface. They do not pick up their mobile phone and get confused as to how to use it just because they have been running Word or Excel on their desktop just as using the washing machine doesn’t impact their use of their favourite tablet. But to now have to abandon their usage patterns for desktop Windows and start interacting with it like it were a phone is laughable!

    Just because desktop PCs and mobile phones share similar concepts such as CPU, RAM, screen etc. does not mean that they are to be used in exactly the same way or that they should appear to the user in exactly the same way. Desktop PCs and mobile phones are vastly different devices and demand vastly different user interfaces. I can’t imagine Apple turning MacOS into a just a bigger version of iOS (although I am sure there will be ongoing convergence of features).

    Anyway, the reason Java does not run on Windows 8 Modern UI is because in this environment it is not possible to use exectuable memory which is a requirement for JIT compilers such as HotSpot. However, given that Java/JavaFX has been shown to be possible to be ported to iOS (see examples with RoboVM) and iOS has similar restrictions, I am confident that Java will run on Modern UI if and when the demand is there. At the moment, even die hard Windows users can take or leave Modern UI on the desktop and almost all Windows developers are writing software that will run on Windows 7 as well so they are not exclusive to Modern UI.

    I really don’t think that most Java developers care if their software will run well on desktop Modern UI (or Windows Phone for that matter) simply because the vast majority of their customers will simply not require it.

    Cheers,

    Felix

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>