Better client-side development potential has led many companies to ASP.NET MVC .NET reporting. The explosion of end users utilizing Web applications and the rise of ad hoc reporting have created a need in which there are some important questions unanswered for client-side development. Server-side software construction has reached a relatively stable position, driven by advancements in coding and a defined knowledge of what applications need to accomplish.

Things are a bit murkier for client-side development. Tim Bray, a Google software developer and one of the main authors of the XML specification, recently weighed in on the current state of client-side development on his blog. Writing that software development has arrived at an "inflection point," he offered some interesting insights on the past, forecast and progress of client-side development.

ASP.NET MVC .NET reporting has become more prominent in the last several years, delivering a high level of abstraction and intuitive frameworks for optimal development. One of the most important contributing factors to the next stage of its development, wrote Bray, is concurrency. He wrote that the desire for concurrency has led many developers to turn their attention to functional programming, which is chiefly concerned with functionality and efficiency. Programming languages heavy in syntax and long on pizzazz may be certain programmers' favorites, but in today's fast-paced enterprise environments, reporting tool frameworks less focused on the end result may be more of a hindrance than a help.

The problem with browsers
Putting forth the "unfashionable opinion" that "browsers suck," Bray wrote a number of factors have conflated to make in-browser development unnecessarily complex and cumbersome. Because in-browser application programming interfaces don't lend themselves easily to building high-level, interoperable reporting tools, users should turn elsewhere.

"[F]or actually building applications, you're going to have to pick a higher-level framework." Bray wrote. "There are lots of them and they compete vigorously, it's easy to poke around the Web and find knockouts and cage matches."

One of the reasons ASP.NET MVC .NET reporting can fit the bill is that it works in its own framework, relying on the browser-agnostic capabilities of HTML5 rather than conforming to the specifics of one browser. This can greatly simplify the use of any .NET reporting tools and ease apps' transitions across devices and browsers.

The problem with mobile devices
Client-side development for mobile devices was not technically spared from Bray's scorn, but for a clearer picture on the current status of mobile app programming, Wired contributor Ted Verani recently wrote up some excellent points. Calling for the Web to become more "device-aware," Verani wrote that the chasm formed between the mobile-centric end user environment and the traditional app development process is hampering innovation.

"Until recently, for many companies, having a mobile website meant developing an 'm-dot' experience that was distinctly separate from the desktop version of their website," Verani wrote. "Though this dedicated site approach can offer flexibility and control over the mobile experience, it also typically means the mobile site evolves at its own pace, often resulting in an inconsistent user experience and feature set across platforms. Additionally, the requirement to fork the code base as well as manage two websites (instead of just one) sends associated development and maintenance costs through the roof."

Enterprise end users undoubtedly struggle with the disparity between Web-based apps and reporting tools and their mobile counterparts. ASP.NET MVC .NET reporting tools can be leveraged through rising mobile programming languages such as jQuery mobile to facilitate the creation of apps that work effectively on mobile.

Until the mobile problem is conquered, the state of client-side app development could stay mired in confusion. By ditching old habits no longer truly relevant to the programming tasks at hand, enterprise development will be much better positioned for success.