Millions of programmers around the world work diligently to
produce quality software that can ease the working of all the other computer
users. No wonder that different software vendors like to push their own
technology platform as the best in terms of developer productivity. The year
ahead promises to be exciting if you are a developer. There are many new
platforms available this year or waiting in the wings to be released soon that
will make software development interesting, challenging and fun.
Predictions for 2006 |
|
The Microsoft stables
After a fairly long lull in the timeframe between major releases, Microsoft
has a ton of new stuff for developers ready. The first and the foremost are the
simultaneous releases of Visual Studio 2005 and SQL Server 2005-that work on
completely new and improved .NET Framework 2.0. But this is just the tip of the
iceberg. Visual Studio Team System is a new offering from MS that enables
collaboration between large development teams even across geographies. Team
System also allows enhanced productivity by including developers, testers and
software and infrastructure architects to collaborate and work together on the
same product. What this means is that all software development can follow a
prescribed development methodology-architecting, development and testing
without resorting to un-integrated products to do the same.
Microsoft is also revamping the BizTalk Server line with
its new 2006 version. Many of the other servers such as MCMS are
expected to get complete facelifts as well.
Hit or Miss |
Visual Studio 2005 Team System The new collaborative, architecting and testing features in this will allow much more standardized software methodologies |
Programming 64-bit Allows developers to work with almost limitless memory address spaces and other performance enhancements at the cost of re-learning a few key concepts |
And how about a new OS, browser and Office suite? Microsoft
plans to release Windows Vista, Internet Explorer 7 and Office 12, all within
the next year. The number of new technology platforms in WinVista alone is
enough to keep a programmer happy. To name a few-Windows Communication
Foundation, Windows Presentation Foundation, WinFS, WinFX, XAML, etc are some of
the new technologies within the upcoming version of Windows.
AJAX
For a very long time there has been a caste system in the development world.
System programmers have looked down upon desktop programmers who in turn look
down upon Web developers, based on complexity or kind of programming one does.
However, this year Web developers have got a boost in the
arm due to the emerging popularity of
AJAX
. It's a Web development methodology for creating interactive web apps. The
core components of
AJAX
are:
-
XHTML for the actual display to the user (along with
images, CSS, etc.)
-
JavaScript for the client side interactivity with the
internet browser's Document Object Model
-
XMLHttpRequest-a technique of XML-RPC which allows
client-side apps performing a Remote Procedure Call to a server using XML
and retrieving the information back from the server in XML as well.
Milestones '05 | |||||
May | June | August | October | November | December |
Windows Mobile 2005 released | Windows Vista Beta 1 shipped | WinFS Beta 1 shipped | Sun Studio 11 released | VS2005 and SQL Server 2005 released worldwide | VS2005 and SQL Server 2005 India released |
The main core of this is the last technology which was
introduced by Microsoft and used extensively in their own platforms such as
Outlook Web Access - Microsoft Exchange's Webmail interface. However, the
technology has taken off only after Google introduced the interactive GMail
interface. Seeing the Web page interact with the server and retrieve data
back-all without even refreshing the Web page was the impetus that
XMLHttpRequest and the associated technology required. Re-packaged as
AJAX
, many Web sites have sprung up offering this level of interactivity on Web
pages that mimics desktop functionality.Currently sites like Google Maps, MSN
Virtual Earth, Windows Live, Yahoo WebIM, etc. all use this. Developers
can of course create these themselves using AJAX toolkits like Atlas for ASP.NET
2.0, Sajax and Guise to name a few.
AJAX
is the technology that will drive up the usage of live Web based services
rather than desktop applications.
Emergence of mobile platform
Today cellphone have become one of the most ubiquitous form of
communication. Apart from voice communications, cellphones concentrate on
features such as SMS, MMS and digital camera. This year has seen the cellhone
emerge as a complete platform for running applications that require Internet
connectivity.
For instance, cellphones have become an e-mail
communication client as well. Most modern mobiles have GPRS/EDGE/CDMA Internet
connectivity and mail clients that work with different e-mail servers. Push
technology is also available to push the e-mail to your device as soon as it
arrives in your mailbox.Now comes software development for cellphones.
Technologies like J2ME and Windows Mobile for PocketPC and Smartphones using
.NET Compact Framework allow developers to create applications for cellphones
that use the Internet as well. Another place that cellphones are gaining ground
is as on-the-field information gatherers/pushers. Using a mobile-compatible Web
application, users can browse for changing information on the field as well as
push the latest field-gathered data back to the central server-all using the
Web browser on their phones.
64-Bit computing
64-bit computing has finally taken off in the form of servers,
desktops and notebooks. Of course, running 32-bit application on a 64-bit
platform does no justice to the power available. 64-bit programming requires
that you relearn a few key concepts from the 32-bit world. One of the
fundamental changes is that the sizes of primitive types such as integer and
long. In the 64-bit world, one can address a much higher amount of memory and be
able to optimize performance significantly.
Finale
As you can see, there are many development platforms newly available or
going to be available in the next year. All these
platforms also make development a much easier process-taking away much of the
dreariness associated with this job. Developers can then find time to improve
their own coding as well 'evolve' from being standard coders to architects
who are higher on the food chain.