.NET is a powerful, versatile, compiled memory-managed software platform, that supports a large number of languages, including C++, Visual Basic .NET, and C#. There are also .NET implementations for many other popular languages, such as Python, Ruby and Scala. .NET’s uses are many: Windows applications, web applications, smart phone applications, and more.
Microsoft created .NET from the ashes of COM in response to Sun’s Java platform. A predominant goal in .NET is interoperability. Each .NET language produces interoperable byte code, so utilities written in C# can be used from Visual Basic .NET, for example. Programs may also expose COM interfaces to facilitate communication between components.
Windows is the most common platform on which to execute .NET programs, and .NET has access to deeply powerful multithreading and concurrent job processing utilities there. .NET applications can however be ported to run in Unix environments, using the Mono framework. Visual Studio is the most popular, powerful, and efficient tool for developing .NET applications and supports a wide variety of end products.
While .NET has always had web development offerings, the more recent ASP.NET MVC framework allows web development closer to the true spirit of the web. The previous generation ASP.NET WebForms presented a drag-and-drop metaphor, often ignorant of prevailing web standards.
There are many strong opinions for and against web development with a complete Microsoft stack vs. a selection of open source components. There can be a higher up-front cost with the Microsoft approach, for example, and less flexibility around the technology choices. Pearlsoft Technology we hold a more neutral position. We’ve done extensive and successful development on both desktop and web applications, with .NET and without, and are happy to evaluate and discuss the relative merits, on a project-by-project basis.
In its infancy, pages on the world wide web were just that – static pages, with fixed content that had to be updated by hand. Browsers were responsible for rendering the HyperText Markup Language which comprised the page into the appropriate graphical output – and nothing more. The original HTML specification contained only 18 elements.
The HTML specification has continued to evolve under the auspices of the World Wide Web Consortium (W3C). Each iteration has refined the standard – removing unused or disruptive elements (such as the infamous blink) and adding new ones, separating content and presentation (with the invention of Cascading Style Sheets), and adding additional functionality to the browser.
Pearlsoft has been working with HTML5 throughout its transition from an early draft, to its current state of wide adoption. We have leveraged the new functionality offered by new elements and APIs in numerous modern applications – including the canvas, a 2D & 3D target for scriptable graphics, the media API which allows for native playback and compositing of audio and video, drag-and-drop functionality, Offline Application Caching, and many others. HTML5 is at the heart of the most interactive, powerful and, by extension, popular web applications.
Powerful is often the opposite of simple, however – there are numerous issues with employing HTML5, especially in a cross-browser compatible way. Browser-specific prefixes, small or large differences in API implementation, lack of broad support for certain media codecs, and many other small but critical details can easily derail your application’s development. Pearlsoft experience with HTML5 ensures that all the details, big or small, will be in place, to ensure powerful functionality across the increasingly wide range of internet-capable devices.
We’ve built a large CRM product using AngularJS and Google App Engine. Angular has made it extremely convenient to deal with the data. Data binding, RESTful data access, form validation, templating based on data received from server – these are the things Angular makes easy. Modules, namespaces and scopes are other areas where Angular offers powerful tools for structuring an application.
The modern web is a complicated place, with the simple, static pages of the past replaced with fully interactive applications, capable of replicating and replacing the functionality that used to be available only from large installed programs. Indeed, the modern web excels at tasks that desktop-bound applications struggle or fail to achieve – multi-user cooperative content contribution and editing, live streaming of information and updates, and cross-platform availability. In order to achieve the high degree of interactivity expected from a modern application, Pearlsoft developers employ a variety of libraries for tasks such as DOM manipulation, event handling, animation, and asynchronous communication, analogous to libraries employed in desktop application development for similar purposes. One of these is the extremely popular jQuery.
Software developers were suddenly confronted with a big problem. How do you develop a web application that works well on a desktop computer and also is usable on a smart phone? And what could be done to address the many different screen sizes coming from the many hardware vendors? And what about the “in-between” screens that suddenly became popular when the iPad became such a large success?
The software industry responded by developing tools to allow web designers to produce pages that appear differently when users move between types of machines. This is the principle of Responsive Design, the crafting of websites that alter appearance and UI controls depending on what type of device a user happens to have.
Responsive web designers don’t lay pages out on fixed grids. They don’t think in terms of pixels or point size. Instead their work is organized more flexibly. Grids are fluid, images flexible, and style rules are defined that take maximum advantage of whatever screen real estate is available.
The bottom line is that user experience is enhanced without requiring web designers to know each and every screen type that might appear on the market.