Microsoft is calling Windows 7 the perfect platform for developers.
In its Windows 7 Developer Guide, Microsoft said, "The Windows 7 operating system is the essential platform for developers." The company has made advances in connectivity, mobility, natural interfaces, graphics and media support, as well as enhanced performance, flexibility, security and interoperability to help developers create better applications that are optimized for the Windows 7 platform.
Moreover, Windows 7 builds on the capabilities of the already developer-friendly Windows Vista and offers developers a wide variety of choices and capabilities within the Windows developer platform, while empowering developers to deliver solutions that are mobile-aware, connected, high-fidelity, and provide a highly intuitive user experience.
In a blog post on "What Windows 7 means to developers," Justin James, director of network architecture at Levit & James Inc., said, "Overall, Windows 7 seems to have the same underpinnings as Windows Vista, but it is tweaked in all of the right places."
For instance, Microsoft has kept the user interface consistent, predictable and easy to use, while adding multi-touch support, scrolling, and other intuitive interaction features that take advantage of the latest PC and mobile device capabilities, Microsoft said it the Windows 7 Developer Guide.
Meanwhile, James added:
""I have been using Windows 7 for a few weeks, and one thing I noticed right away is that the UAC [User Account Control] is a bit less 'in your face' than it used to be, which is a pleasant change for applications that require escalated privileges.""
Wayne Citrin, chief technology officer at JNBridge, echoed this. "Developer will have a better experience with our product on Windows 7, not as many UAC boxes will pop up. For developers it will make life easier." JNBridge provides products that bridge the Java and .NET development environments.
User Account Control (UAC) is a security component in Windows 7 that allows developers to build applications that enable users to perform common tasks as non-administrators. Developers can reduce security risks by running applications under a standard user token, reducing the risks of mistakes or attacks. User accounts that are members of the local Administrators group will run most applications as a standard user, Microsoft said. By separating user and administrator functions while enabling productivity, User Account Control gives developers greater control over the level of access that users have over protected areas of an application. User Account Control requests credentials in a Secure Desktop mode, where the entire screen is protected to prevent spoofing of the user interface or the mouse, the company said.
"I like Windows 7, I've played with it for seven or eight months and it's a much nicer experience than Vista," Citrin said. The main things that stand out to me is the UAC issue, also better performance -- it's a lot zippier -- and you can boot off of a virtual hard drive. Also, we're a Java/.NET interop company and we've added some additional products such as adapters for BizTalk server and other Microsoft software as well as Java Message Service (JMS), so the ability to manage a lot of different configurations on Windows 7 is a nice thing to have."
Moreover, Citrin, who spoke with eWEEK from the Microsoft Development Tools Ecosystem Summit on Microsoft's Redmond, Wash., campus, said all the demos and presentations of new Visual Studio 2010 technology that Microsoft has showed at the summit have been on Windows 7. The summit runs October 19-23.
"We need to get up and running on Visual Studio 2010 beta 2, we're testing against the new beta right now," Citrin said,
Windows 7 enables developers to build applications today that will run on the PCs of tomorrow, Microsoft said. Service-enabled software and devices, such as mobile phones, portable media players, and digital cameras, demand constant connectivity and advanced applications, the company said.
Windows networking offers developers options for better caching and sharing of data to improve network performance. And network diagnostics in Windows 7 give developers relevant information for monitoring network issues.
Meanwhile, the Windows Driver Kit (WDK) Version 7.0.0 provides the build environment, tools, documentation, and samples that developers need to create quality drivers for Windows, Microsoft said. The WDK 7.0.0 supports static source code analysis, using PREfast to detect certain classes of C and C++ coding errors. PREfast includes a specialized driver component, known as PREfast for Drivers (PFD), which detects errors in kernel-mode driver code. In addition, the WDK has been enhanced by annotating all kernel header files for PFD support. New sample drivers have been added that demonstrate new technologies, and the documentation has been expanded.
Also, for its part, Windows PowerShell is a complete .NET managed scripting language with both an interactive command line shell and a graphical Integrated Scripting Environment (ISE). It supports branching, looping, functions, debugging, exception handling, and internationalization. PowerShell 2.0 is part of Windows 7 and delivers many enhancements and support for Windows Diagnostics, Active Directory, Internet Information Services (IIS) and more.
In addition, Windows 7 includes new and improved security features that make it easier for developers to improve, use, and manage the security of their applications. And in Windows 7, the Windows Filtering Platform has been enhanced to give developers more control over firewall functionality. The level of filtering has been increased and ISVs can now plug in custom protection and detection at lower levels. In addition, firewall developers can selectively turn parts of the Windows Firewall on or off.
For developers focusing on accessibility, Windows 7's UI Accessibility Checker is a graphical user interface tool that enables developers and testers to rapidly verify whether their UI conforms to key accessibility requirements, such as Microsoft Active Accessibility (MSAA) and UI Automation (UIA) programmatic access, event generation, layout, and keyboard navigation. UIA Verify is a test automation framework that facilitates manual and automated testing of the Microsoft UI Automation Provider implementation of a control or application. These two new tools enable developers to test accessibility implementations and functionality in applications that use either MSAA or UI Automation, Microsoft said. Both tools are available via CodePlex (http://www.codeplex.com), a Web site that Microsoft created to host open-source projects and to better serve the developer community.
On a different note, new methods of desktop integration in Windows 7 put application functionality into users' fingertips, and Windows Explorer and Libraries provide easy access to high-value information, Microsoft said. The Windows Ribbon control and Windows Animation framework make it easier for developers to build interactive and appealing user interfaces. New touch APIs enable natural interactions through multi-touch and finger-panning, and manipulation and inertia APIs enable impressive visual effects.
In particular, Windows 7's improved touch and gesture support enables developers to quickly and easily create unique application experiences that go beyond simple mouse pointing, clicking, and dragging. The new multi-touch APIs support rich gestures, such as pan, zoom, and rotate, Microsoft officials said.
And Windows 7 offers both managed-code APIs and native APIs for building and running web services. A variety of new features are built on top of a new extensibility layer that allows developers to extend all APIs, in native code or within the .NET Framework, Microsoft said. Windows 7 also lets developers take advantage of better caching and searching capabilities. With these enhancements, developers can retrieve data faster and reduce network bandwidth usage.
In addition, James addressed the issue of broken applications with Windows 7. Said James:
""The big concern for every developer is: What will Windows 7 break in my application? Fortunately, it looks like very few apps will break with the move to Windows 7. From what I can tell, with Windows Vista, Microsoft made a real break from the past in terms of security, and it was that step that broke apps.""
James also noted:
"There are some neat new features in Windows 7 that you can use and not break your application on platforms that lack the features. Those features include the following:??Ã Progress bars in title windows??Ã Interactive taskbar "thumbnails." For example, when your hover the mouse over the taskbar entry for Windows Media Player, the window preview is overlaid with basic play controls.??Ã Jumplists, which allow application functionality to be called directly from the Start menu.??Ã A new animation framework??Ã Improved handwriting/ink API including "math recognition"??Ã Improved touch support??Ã Federated Search, which allows developers to create feeds the Windows search (and SharePoint) can consume."
Meanwhile, NVIDIA has announced that Microsoft's Windows 7 enables software developers to create powerful new digital media applications by harnessing the massive parallel processing power of NVIDIA GeForce graphics processing units (GPUs). Windows 7 gives developers this capability through Microsoft's new DirectCompute application programming interface (API), which is being introduced as part of the Microsoft DirectX 11 API.
"NVIDIA has demonstrated its commitment to GPU computing with the announcement of the Fermi architecture," said Mike Ybarra, general manager of Windows product management at Microsoft, in a statement. "Windows 7 and DirectCompute will make it even easier for developers to create innovative applications that take advantage of the GPU's massively parallel processing power."
NVIDIA has worked closely with Microsoft on the development, testing and validation of Microsoft DirectCompute, NVIDIA officials said. DirectCompute will be distributed as part of the DirectX 11 API and is supported by NVIDIA's current lineup of DirectX 10 GPUs and upcoming DirectX 11 GPUs based on NVIDIA's recently announced NVIDIA Fermi architecture.