Every ten or so years, a programming language emerges that changes the face of software development. From C++ in the 80’s, to Java in the 90’s, to C# .Net in the 2000’s, each iteration transforms how people work and develop software systems. Node.js is that platform of the 2010’s, combining highly asynchronous development with a wide breadth of plugins to create 50%+ reductions in development time. Its single-threaded execution, high-level of configurability, and large plugin ecosystem make it the ideal platform for high-performance web application development.
Continue reading
Tag Archives: Software Sagacity
Node.js Video Chat Tutorial
The video chat revolution is bringing application interactivity to new frontiers. Whether used to provide real-time communication, improve customer service, or give technical training, the prevalence of high-quality video cameras on smart phones and high-speed Internet access makes video chat applications easy to both build and deploy.
Continue reading
Cross-domain Node.js Function Calls
Node.js and AJAX provide a full spectrum of development capabilities that rival the desktop environment. From image editing software to 3D interactive games, many desktop apps have successfully moved from the local machine to the browser. When programming these applications, however, developers often need to work around browser security restrictions, the most frequently encountered limitation being cross-domain function call prevention.
Continue reading
Implementing Object-level Inheritance in Node.js
Prototype-based classes in JavaScript and Node.js bring a high level of flexibility to the software architecture. Since objects and classes are fully editable at any point in program operation, the functionality can be extended to implement object-level inheritance at runtime.
Continue reading
C# Design Patterns: #3 – The Prototype
What do CAD design tools, workflow automation, and digital audio synthesizers have in common? They can all benefit from the Prototype pattern in their software architecture.
Although the Prototype pattern achieves true glory in languages such as JavaScript, which base their entire class structures on Prototypes instead of traditional classes, the pattern still brings powerful functionality to C#. Its primary use is in a very specific niche: when the users of the application will perform design work, and then group those designs into reusable subcomponents.
Continue reading
jVectorMap – Creating Custom JavaScript Maps
Based on the jQuery framework, jVectorMap provides a convenient top-level map plugin for websites. Although the plugin doesn’t have the full flexibility of Google Maps, it does provide a way to link countries or states to user interface actions. With a wide suite of available maps, the ready-built package can suffice for most purposes. On more advanced websites, however, it is sometimes necessary to create custom maps for additional geographic regions.
Continue reading
Elements of an Enterprise-Grade Web Framework – Part 3: Data-Bound Drop-downs
Drop-down list-of-values populated by database tables are another important component of enterprise-grade web frameworks. Although most frameworks do support them through one technique or other, the ease of implementation is key in this often-used feature.
Continue reading
Highlight Table Rows using Javascript
When developing web applications with wide tables, it’s often difficult to scroll horizontally and see which row corresponds to which data. This is why most apps limit the width of any table to the width of the page. Still, at times it is necessary to show a large amount of data in a tabular format. This JavaScript scriplet will help add highlight functionality to any HTML table.
Continue reading
JavaScript Anonymous Functions – Blessing or a Curse?
The growing popularity of AJAX and jQuery has significantly increased the use of anonymous functions in client-side JavaScript code. Although anonymous functions provide a very convenient way to decrease the amount of code necessary in an app, their prevalence and necessity may portend to structural deficiencies in either the language or development tools.
Continue reading