Blog posts in 'How-To' category

LoopBack As A Service Using OpenWhisk
May 24, 2017
In our previous blog we saw how we can host LoopBack as a multi-tenant micro-service on the cloud. As a quick recap, this would require us to: Expose REST APIs for CRUD on /models and /datasources resources. Use the LoopBack NodeJS APIs to c... More
Announcing Open Source LoopBack JSONSchemas VS Code Extension
May 2, 2017
LoopBack is a powerful framework. As we know, “with great framework power comes great framework documentation.” When you know what you’re looking for in the docs, it’s easy to find. But  discovering what’s available can be a challenge for a tool a... More
Creating a Multi-Tenant Connector Microservice Using LoopBack
Apr 25, 2017
Note: This article was co-written by Subramanian Krishnan and Nagarjuna Surabathina. Background LoopBack is a highly-extensible, open-source Node.js framework that enables you to quickly create dynamic end-to-end REST APIs with little or no cod... More
Systematic Data Design in JavaScript – Featuring Three Data Types
Apr 18, 2017
In the previous article, we discussed systematic function design: a test, example, and documentation-driven approach to designing functions using the HtDP methodology. In this post, we are exploring systematic data design in JavaScript. In this t... More
An Example of Using Environment Configuration in LoopBack
Apr 11, 2017
One of the more interesting features of LoopBack I’ve been meaning to take a look at is its support for “environment configuration”. This is a fancy way of saying “configuration based on environment.” I’m still a Node newbie, but this is something... More
Securing Your API with OAuth
Mar 28, 2017
APIs can be powerful tools for software developers. You can expose parts of your product to users and partners without having to directly build new functionality. If a third party wants to make an application that scans your database and returns s... More
More StrongLoop & IBM Sessions at IBM InterConnect 2017
Mar 16, 2017
IBM InterConnect is in one week! Last week, we shared a rundown of what our StrongLoop evangelist team would be talking about at the event. Now, we’re excited to share more StrongLoop and IBM Sessions at IBM InterConnect 2017. This is by no means ... More
Listen and Learn: StrongLoop Evangelist Team Talking at IBM InterConnect 2017
Mar 9, 2017
Last week, we announced that we would be at IBM InterConnect. We told you then that we were looking forward to helping people discover and learn about options for the Cloud, the Internet of Things, Watson, and more. Today we’re happy to share what... More
Let’s Code It: Static Site Generator with Rx.js
Jan 19, 2017
Last post, we went over building a Static Site Generator (SSG) in Node.js. We used Promises for flow control, and that worked for reading each Markdown input file, transforming it into HTML, and writing that to disk, once per file. What if instead... More
Let’s Code It: Static Site Generator
Jan 5, 2017
Traditionally, if you wanted to create a blog or website that you can update easily without having to directly edit HTML, you’d use a tool like WordPress. The basic flow for serving a website from a CMS like WordPress is as follows: Store cont... More
Working with LoopBack Authentication and Authorization
Dec 15, 2016
One of LoopBack’s core features is the ability to lock down access to your APIs and define exactly who can do what with your data. LoopBack provides multiple tools to make this easy, but it’s helpful to see a real (although simple) application dem... More
Working with File Storage and LoopBack
Nov 22, 2016
Update for March, 2017: One of the things I mention at the very end of this article is how file uploads will overwrite each other if they use the same name. I fixed this with a pull request that was accepted a few days ago. By using a new confi... More
Interactive Debugging with Node.js
Nov 9, 2016
A “step-through debugger” (also called an “interactive debugger” or just “debugger”) is a powerful tool that can be very handy when your application isn’t behaving the way you expect. You can use it to pause your application’s code execution to: ... More
The Node.js Debug Module: Advanced Usage
Oct 12, 2016
In a previous post, I explained the debug module and how to use it for basic debugging.  I recently used it to help me understand complex interactions between events in Leaflet and Leaflet.Editable. Before going over that, however, I’m going to la... More
Using LoopBack to Build APIs For APIs
Oct 5, 2016
“Building APIs for APIs” sounds a bit like infinite recursion, but actually I’m talking about one of the cooler aspects of LoopBack: the ability to define a server API that maps to another server. Essentially your API acts as a proxy for another A... More
Generating Swagger (OpenAPI specification) from your LoopBack Application
Sep 20, 2016
I’ve been asked about Swagger and LoopBack at a few conferences, and my answer has been: “I know LoopBack supports creating Swagger docs, but I’m not sure of the exact syntax.” Now that I’ve gotten a bit of a break from the conference scene, I tho... More
Let’s Code It: The `debug` Module
Sep 15, 2016
I did some fun stuff with the debug module recently for a web map project. I needed to understand the interactions between events in Leaflet.js to figure out what events to attach to… but that’s the next post. Before I get to that, I want to go ov... More
Promises in Node.js – An Alternative to Callbacks
Aug 24, 2016
Promises are a compelling alternative to callbacks when dealing with asynchronous code. Unfortunately, promises can be confusing and perhaps you’ve written them off. However, significant work has been done to bring out the essential beauty of prom... More
Building JavaScript Charts Powered by LoopBack
Jul 29, 2016
When we discuss APIs and LoopBack, often we’re talking about external consumers, but you can use LoopBack APIs on your own site as well. For example, one cool way to use a LoopBack REST-based API is to power client-side charting for your web site.... More
Auto-fixing & Formatting Your JavaScript with ESLint
Jul 27, 2016
Linting is the process of running a program that will analyze your code for potential errors. A lint program does this by using a set of rules applied to your code to determine if any violations have occurred. More
LoopBack Connector Development and Creating Your Own Connector
Jul 14, 2016
I started hearing terms like “LoopBack connector” and “StrongLoop’s connector development framework” when our business was undergoing a transition to leverage community-driven connector development. This is an essential shift  today to integrate w... More
Type Hinting in JavaScript
Jun 28, 2016
Most developers understand that JavaScript does not have a notion of datatypes: it’s often referred to as “dynamically typed”,  “weakly typed,” or even “untyped.”  The distinction is mostly academic, and the bottom line is when you declare a varia... More
Creating REST APIs from Data Models in API Connect
Jun 23, 2016
When it comes to building APIs, you’ve got a lot of options. Seriously, A LOT of options. Just in the Node.js world alone, your choices include: More
User-based Authentication with Loopback
May 17, 2016
Many who are familiar with LoopBack first discovered it as a way to build RESTful APIs, but LoopBack offers more than just the tools API developers need to build the API itself. LoopBack also also provides optional features that are focused on enr... More
Working with Pagination and LoopBack
May 6, 2016
I knew LoopBack supported pagination, but not exactly how it did. So, I wanted to build a quick demo for my own learning and I thought it might be useful to share it with others. This will be a relatively simple blog post to demonstrate what I lea... More
Managing LoopBack Configurations the Twelve-Factor Way
May 3, 2016
Managing Loopback configuration files for multiple environments can be a hassle. In this blog we demonstrate how we do it using some well-known practices for scalable and maintainable codebases from the The Twelve-Factor App methodology. The key i... More
Applying Custom Logic in Phases: Using Remote Hooks in LoopBack
Apr 19, 2016
Recently, we looked at how to use remote methods to expose custom logic as REST API endpoints in Loopback. That was pretty cool, but it just isn’t enough if we want to build a full-blown, production API. Even in a relatively simple case like expos... More
Working with LoopBack’s Object-Relational Mapping (ORM) System
Apr 13, 2016
When we talk about LoopBack, we’re usually talking about rapid API generation. But behind the REST APIs is a full object-relational mapping (ORM) system that enables you to do all the standard create, read, update, and delete (CRUD) operations in ... More
Remote Methods in Loopback: Creating Custom Endpoints
Apr 8, 2016
One of the nicest features of Loopback is the ability to quickly expose existing datasources (MySQL, MongoDB, Cloudant, etc.) as REST APIs with standard CRUD (create, retrieve, update and delete) support. But let’s be honest, that’s not really goi... More
Introduction to LoopBack Presentation
Mar 31, 2016
On March 31, I gave a presentation on LoopBack and StrongLoop. I’ve embedded the recording here: More
Examples of Validations for LoopBack Models
Mar 29, 2016
When working with LoopBack models, you can validate data before it gets persisted into your datastore multiple different ways. The documentation describes the various methods, but I wanted to play with it a bit and demonstrate a few examples. To ... More
Write Your Own Co Using ES2015 Generators
Feb 1, 2016
ES2015 is now officially the new JavaScript language standard, and it is packed with sweet new features. One feature that I’m particularly excited about is ​generators​. At a high level, generators are functions that can pause and then pick up whe... More
3 Neat Tricks with npm run
Jan 13, 2016
Most Node.js developers use npm as a package manager. However, npm is also a powerful task runner that can serve as a replacement for gulp. The `npm run` command lets you define custom scripts in your package.json, so you can reduce complex node-r... More
Higher order functions in ES6; Easy as a => b => c;
Jan 11, 2016
ES6 is nigh! As more and more libraries & Thought Leaders start incorporating ES6 into their code, what used to be nice-to-know ES6 features are becoming required knowledge. And it’s not just new syntax – in many cases, new language features c... More
Tips for Optimizing Slow Code in Node.js
Jan 6, 2016
Node.js programs can be slow due to CPU or IO bound operations. On the CPU side, typically there is a “hot path” (a code that is visited often) that is not optimized. On the IO side, limits imposed by either the underlying OS or Node itself may be... More
Best Practices for Express in Production, Part Two: Performance and Reliability
Nov 19, 2015
This is a two-part blog series about some best practices for running Express applications in production. The first part was about security, and this second part focuses on performance and reliability.  It assumes you are already familiar with the ... More
Best Practices for Express in Production – Part One: Security
Nov 12, 2015
This is a two-part blog series about some best practices for running Express applications in production. This first part focuses on security, and the second on performance and reliability.  It assumes you are already familiar with the basics of No... More
Part 4: Ionic & LoopBack Frameworks – Testing with Travis
Nov 10, 2015
In the first three articles in this series, you built a simple mobile app and server using the Ionic Framework and StrongLoop LoopBack. In this article, you’ll learn about one key advantage of building mobile apps with Ionic: access to the JavaScr... More
Part 3: Ionic & LoopBack Frameworks – Building the Ionic App
Oct 6, 2015
In the first two articles in this series, you built a REST API using StrongLoop LoopBack and several AngularJS directives that use your API via the LoopBack AngularJS SDK. With these two components, you’ve done most of the work of building a hybri... More
An Introduction To JavaScript ES6 Classes
Aug 12, 2015
ECMAScript 2015, formerly known as ECMAScript 6 (ES6) makes classes a first class citizen by introducing a few new keywords. At this time, however there are no new features when compared to the the good old JavaScript prototypes. The new keywords ... More
Part 1: Ionic & LoopBack Frameworks – Building a REST API
Aug 10, 2015
I have a confession: I hate native mobile development. Most of the reason why I started working with NodeJS was my struggles with managing mobile app development for a small startup in 2012. Back then, native mobile development struggled with pain... More
Introducing the Xamarin SDK for LoopBack
Aug 5, 2015
When we started the open source LoopBack project two years ago, we knew that its use would be fueled by the needs of mobile solutions. We were a very small team and only able to develop for iOS, Android, and AngularJS. Although we were keenly inte... More
How To: Build Xamarin Apps with Node.js REST APIs and SQL Server
Aug 5, 2015
Ever wonder what the backend for your Xamarin App should be? As a .Net developer who was asked to build mobile apps, I have gravitated to Xamarin and found it to be excellent platform to build, monitor and test my cross platform mobile app. But, I... More
Making the most of JavaScript’s “future” today with Babel
Jul 30, 2015
From CoffeeScript to ClojureScript to PureScript to CobolScript to DogeScript (woof woof!), JavaScript is the write-once-run-anywhere target for many forms and styles of programming. Yet, its biggest compile-to-language today actually isn’t any... More
An Introduction to JavaScript ES6 Iterators
Jul 16, 2015
EcmaScript 2015 (formerly known as ES6) introduces a brand new concept of iterators which allows us to define sequences (limited and otherwise) at the language level. Let us break it down a bit. We are all very well familiar with the basic for lo... More
Getting Started with JavaScript ES6 Destructuring
Jun 17, 2015
Lets take a closer look at the new syntax that ES6 brings to help with more explicit variable and argument declaration and assignment. The current state of affairs is pretty straight forward: on the left hand side you have a variable name, on th... More
Use LoopBack’s Geolocation Feature to Build a Simple Node.js User Registration App
Jun 3, 2015
If you’ve been looking for a framework to help you get your REST APIs up and running quickly, with a robust set of functionality and flexibility, then the LoopBack Framework is what you want. This framework helps developers create APIs that integr... More
How-to Test Client-Side JavaScript with Karma
May 6, 2015
I have often quipped that if I were stuck on a desert island with only one npm module, I’d choose karma. The one place where you can’t avoid using JavaScript is in the browser. Even Dart needs to be transpiled to JavaScript to work on browsers oth... More
Getting Started with the RethinkDB Connector for the LoopBack Node.js Framework
Apr 30, 2015
This tutorial is the second in a series of posts that will help you get started with some of the many user contributed NoSQL connectors for Node.js LoopBack framework. In this series we will cover usage of the connectors for: Couchbase Rethi... More
Introducing StrongLoop’s Unopinionated Node.js Pub/Sub
Apr 28, 2015
Unopinionated, Node.js powered Publish – Subscribe for mobile, IoT and the browser. There are many ways to push data from a Node app to another app (written in Node, the browser, or other platforms and languages). Several frameworks have arisen a... More
Getting Started with Node.js LoopBack Connector for Couchbase
Apr 23, 2015
Introduction LoopBack is the leading open source, enterprise-ready Node.js framework for helping developers to create APIs integrated with legacy and next gen backends that at the same time enables mobile and micro services architectures. LoopBa... More
Asynchronous Error Handling in Express with Promises, Generators and ES7
Apr 21, 2015
tldr; Callbacks have a lousy error-handling story. Promises are better. Marry the built-in error handling in Express with promises and significantly lower the chances of an uncaught exception. Promises are native ES6, can be used with generator... More
Using Dependency Injection in Your JavaScript Unit Tests with Rewire
Mar 18, 2015
Editor: Check out this guest blog post by Igor Ribeiro Lima on how to perform JavaScript unit testing using dependency injection. You probably already know that to do JavaScript testing well, you need to make sure you are testing the following: ... More
JavaScript ES6 Variable Declarations with let and const
Mar 17, 2015
Everyone in the JavaScript world is talking about ECMAScript 6 (ES6, a.k.a. ES 2015) and the big changes coming to objects (`class`, `super()`, etc), functions (default params, etc), and modules (import/export), but less attention is being given t... More
Getting Started with the Saucie CLI to Make Cross Browser Testing Easier
Mar 12, 2015
Editor: Check out this guest blog post by Igor Ribeiro Lima on how use the commandline to perform cross browser testing. We all know that testing your JavaScript code is a good thing, but one of the hurdles to overcome is how to test the code on ... More
Testing and Documenting Node.js APIs with Mocha and Acquit
Mar 11, 2015
When people build REST APIs with Express, testing and documentation are often an afterthought. The situation with testing your documentation is often even worse. When’s the last time you built an automated testing system for your documentation’s e... More
StrongLoop npm Module Spotlight – Node.js Build, Deploy & Process Management
Mar 10, 2015
I want to take a moment and talk a little bit about deploying your Node.js application. This subject in general is pretty well defined but there aren’t that many tools out there written for Node. I’ve seen Node.js applications deployed by Capistra... More
Two-Factor Authentication with LoopBack
Mar 3, 2015
Before I get into the code and walk you through it, I wanted to talk about my motivation for this post. I recently spoke at the Confoo developer conference in Montreal. If you haven’t been, it’s a whirlwind of new technologies, complex data theori... More
Roll your own Node.js CI Server with Jenkins – Part 1
Jan 12, 2015
Travis is cool. Coveralls is hip. But Jenkins has had this stuff for a while, and more. In addition to running your test suite and generating coverage reports, you can generate checkstyle reports (linting), deploy to staging and production, and ut... More
Roll your own Node.js CI Server with Jenkins – Part 2
Jan 12, 2015
In the first article, we focused on setting up Jenkins and configuring it to support Node projects. Please complete those steps if you haven’t already. In this part, we will add an actual Node project to Jenkins with the following hotness: Co... More
Bypassing Express View Rendering for Speed and Modularity
Nov 4, 2014
One of the widely used features of the Express web framework for Node.js is its view rendering engine. The Express view rendering engine allows page controllers to provide a view name and a view model object to Express that then results in some by... More
Writing Modular Node.js Projects for Express and Beyond
Oct 21, 2014
I have worked with Express for over four years now and I cannot count how many different ways I have reorganized my code! Express bills itself as an un-opinionated framework. This is true. If you search for “express boilerplate” you will find a lo... More
Getting Started with the LoopBack API Gateway Sample Application
Oct 9, 2014
Note: Since the publication of this blog, the StrongLoop API Gateway was relaunched on August 5, 2015. Read this announcement blog to learn more about the latest version. In case you missed it, today we announced the availability of the open sour... More
Node.js Editor Comparison: Sublime vs Atom vs Cloud 9
Sep 22, 2014
TL;DR Sublime is awesome, Atom has potential and Cloud 9 is downright impressive. History Picking the right editor has always been kind of a big deal for me. I’ve had a pleasure of watching editors evolve and grow over the past few years and h... More
Best Practices for Deploying Node.js in Production
Sep 4, 2014
One of the struggles developers face when moving to Node.js is the lack of best practices for automated deployment of Node applications. The challenges are many-fold – packaging and dependency management, single step deploy, and start/re-start wit... More
How to Deploy a Node.js REST API Server on Red Hat’s OpenShift
Sep 3, 2014
The world is moving toward the cloud—both public and private clouds—and infrastructure demands are giving rise to a new generation of integration platform-as-a-service (iPaaS) API servers which specifically handle this use case with the added dime... More
Getting Started with Node.js for the PHP Developer
Aug 27, 2014
You’re a PHP developer.  I get it.  So am I.  My journey to PHP didn’t take the normal road that most PHP developers travel in their quest for the perfect programming language.  I initially started as Java Developer and spent roughly 10 years livi... More
Node.js API Tip: Offline Sync and Replication
Aug 26, 2014
Mobile technologies have radically changed our personal lives and are now doing the same in the workplace—perhaps not as rapidly as many of us would like! Not every office looks like this, although at times we might feel this way. Many of us no... More
Part One: Getting Started with Node.js for the .NET Developer
Aug 20, 2014
If you are a .NET developer and want to start using or just explore Node.js, in this post I will provide you with initial guidance. I will make a practical comparison of .NET and Node.js, focusing on similarities and differences to provide you wit... More
Part Two: Getting Started with Node.js for the .NET Developer
Aug 20, 2014
Part 1 of this blog post provided an introduction to Node.js for .NET developers. In this second part I am going to discuss common Node.js frameworks, tools, hosting technologies, and coding practices. Frameworks The primary scenario for Node.js... More
Getting Started with Node.js for the Java Developer
Aug 14, 2014
Editor’s Note: This post was originally published in August, 2014. We have refreshed this popular blog post with updated IDEs and LoopBack instructions. Let me start with a confession: I was a Java developer for nearly 10 years and fully embraced... More
Getting Started with Node.js for the Rails Developer
Aug 7, 2014
Introduction In this article we are going to do a quick introduction to Node.js and LoopBack for Ruby on Rails minded developers. What’s LoopBack? It’s an open source framework for easily developing APIs in Node and getting them connected to data... More
Node.js API Tip: Model Driven Development
Jul 14, 2014
Today’s tip focuses on APIs – which just so happen to be the primary use case for Node.js!  APIs are driving the new frontedge – inclusive of mobile, tablets, wearables, web browsers, sensors, et al by providing rich backend d... More
Automatic Node.js Clustering with Log Aggregation
Jul 2, 2014
As if slc run --cluster cpu wasn’t awesome enough for automagically scaling your app in a multi-process cluster, it now aggregates your worker logs for you when clustering! In this post I’ll talk about the new logging features in strong-superviso... More
Node.js Performance Tip of the Week: Managing Garbage Collection
Jun 25, 2014
Please note that as of Aug 3, 2015, StrongOps has been EOL’d. In our last weekly performance tip, we discussed in detail how the Node.js event-loop works as the orchestrator of requests, events and callbacks. We also troubleshot a b... More
Comparing Winston and Bunyan Node.js Logging
Jun 24, 2014
Lets talk about logging, shall we? Arnold over here carrying a giant log feels like an appropriate intro to this article in which we are going to talk about popular Node.js logging frameworks. If you are writing any kind of long living applicat... More
Open Source Replication and Offline Sync for Node.js and Devices
May 22, 2014
Today, StrongLoop is excited to announce support for replication and offline synchronization in our LoopBack API framework. What makes this unique is that it is completely open source and powered by Node.js. Loopback is an open source API framewor... More
Node.js How-to: Publishing to Multiple npm Registries
May 21, 2014
As we mentioned in the previous post, “Easy Switching Between Public and Private npm Registries”, the topic of running a private registry server is quite broad. Once you’re running  your private registry server and know how to switch between diffe... More
New in the LoopBack Android SDK 1.3 – User Auth and Storage Service
May 20, 2014
StrongLoop is excited to announce a new version of the LoopBack Android SDK 1.3. The release adds two new features: user authentication and storage service client. What’s LoopBack? It’s an open-source API server for Node.js applications. It enabl... More
Node.js Performance Tip of the Week: Scaling with Proxies and Clusters
May 16, 2014
Please note that as of Aug 3, 2015, StrongOps has been EOL’d. In last week’s performance tip, we discussed in detail how to diagnose application performance bottlenecks using CPU profiling on Node.js applications. In this go around we look at sca... More
Part 1: Enable Push Notifications With a Private mBaaS Hosted on Amazon – Intro to LoopBack
May 15, 2014
This is part one of a four-part tutorial on setting up a mobile backend as a service on Amazon and iOS and Android client applications to enable push notification. To send push notifications, you’ll need to create a LoopBack server application, th... More
Part 2: Enable Push Notifications With a Private mBaaS Hosted on Amazon – Android Client
May 15, 2014
This is the second of a four-part tutorial on setting up a mobile backend as a service on Amazon and setting up iOS and Android client applications to enable push notification. If you want to setup Push Notifications for an iOS app refer to Part 3... More
Part 3: Enable Push Notifications With a Private mBaaS Hosted on Amazon – iOS Client
May 15, 2014
This is the third of a four-part tutorial on setting up a mobile backend as a service on Amazon and setting up iOS and Android client applications to enable push notification. If you want to setup Push Notifications for an iOS app refer to Part Th... More
Part 4: Enable Push Notifications With a Private mBaaS Hosted on Amazon – Putting It All Together
May 15, 2014
This is the last section of a four-part tutorial on setting up a mobile backend as a service on Amazon and setting up iOS and Android client applications to enable push notifications. In this section we’ll explain how to run the backend LoopBack a... More
Getting Started with the PostgreSQL Connector for LoopBack
May 7, 2014
StrongLoop is pleased to announce the 1.0.0 release of the LoopBack PostgreSQL Connector, that enables LoopBack powered applications to access PostgreSQL databases. The PostgreSQL connector is a new member of the LoopBack connector family. It supp... More
Generators in Node.js: Common Misconceptions and Three Good Use Cases
May 6, 2014
Generators have been all the rage lately. Many Node developers (including myself!) are excited and intrigued about writing their asynchronous code like this: var a = yield doAsyncFn() var b = yield doAyncFnThatDependsOnA(a) console.log(b) Howe... More
Easy Switching Between Public and Private npm Registries
Apr 30, 2014
As Node.js is becoming a mainstream technology in the enterprise, more companies are asking for a private npm registry solution for their proprietary closed-source modules. While there are several solutions emerging that offer a private npm regis... More
Comparing Express, Restify, hapi and LoopBack for building RESTful APIs
Apr 29, 2014
Editor’s Note: This post was originally published in April, 2014. We have refreshed this popular blog post. If you are writing a Node.js application, chances are you going to have some kind of API endpoints to be consumed by your front end or exp... More
Turn SOAP into REST APIs with LoopBack
Apr 24, 2014
Nowadays, “web services” often means REST (Representational state transfer) APIs using JSON as the data exchange format.  However, the first generation of web services was built using SOAP (Simple Object Access Protocol), a standard protocol based... More
Using Streaming Chunked HTML to Get Node.js to Deliver More Data
Apr 23, 2014
One of the main draws to Node.js is its ability to respond efficiently to a large number of requests, but users of your app don’t care how much you’re squeezing out of a single core. They want stuff to show up. Now. BigPipe A few years ago, Face... More
Full Stack JavaScript in Action with LoopBack’s Browser Support
Apr 21, 2014
Browser Support LoopBack version 1.8.0 introduces browser support with two key features: The loopback.Remote connector and the browserify distribution. These enable running a LoopBack client application in the browser that shares code with a ... More
Comparing Node.js Promises, Try/Catch, Angular Zone.js and yes, Zone
Apr 15, 2014
Handling errors in asynchronous flow In a previous article we talked about managing async flow and escaping the callback hell. The problem Handling errors in synchronous flow is pretty straightforward and easy. Handling errors in... More
Beyond Node.js Express: An Intro to Koa.js and a Preview of Zones
Apr 11, 2014
In late 2013, the team behind Express.js announced a new framework called Koa. It uses some features that require an unstable dev version of Node, but in this post I’ll show you how easy it is give it a try both locally and on Heroku. Before We... More
Managing Objects in LoopBack with the Storage Provider of Your Choice
Apr 7, 2014
Introduction Applications often need to store and use files such as images, videos, and PDFs. Nowadays, there are a lot of choices for cloud storage providers, each of which provides a different API. Meanwhile, web and mobile platforms provide di... More
How-to Build CRUD Enabled iOS Apps with the LoopBack API Server – Part 1
Mar 25, 2014
In this two-part tutorial we’ll be creating an iOS app that connects to a LoopBack API server to perform create, read, update, and delete (CRUD) operations. In Part One we’ll show you how to fetch data stored in an in-memory data source. Part Two ... More
How-to Build CRUD Enabled iOS Apps with the LoopBack API Server – Part 2
Mar 24, 2014
Welcome to the second installment of a two-part tutorial on how to create an iOS app that connects to a LoopBack API server application to perform create, read, update, and delete (CRUD) operations. In Part One we looked at how to fetch data. In t... More
Defining and Mapping Data Relations with LoopBack Connected Models
Mar 24, 2014
In LoopBack, working with data is usually the core of business logic. We typically start by defining models to represent business data. Then we attach models to configured data sources to receive behaviors provided by various connectors. For examp... More
Debugging CoffeeScript with the Node Inspector Debugger
Mar 6, 2014
For what it’s worth, since we announced the availability of Node Inspector v0.7 last week, we got a few questions about whether or not you could use Node Inspector to debug CoffeeScript. The good news is, yes! Getting started is straight-f... More
Managing Node.js Callback Hell with Promises, Generators and Other Approaches
Feb 3, 2014
We know it most endearingly as “callback hell” or the “pyramid of doom”: doAsync1(function () { doAsync2(function () { doAsync3(function () { doAsync4(function () { }) }) }) Callback hell is subjective, as heavily nested code... More
How to Migrate an mBaaS: Deployd to LoopBack
Jan 15, 2014
Background LoopBack and Deployd are both flavors of the “noBackend” and “mBaaS” trends. Frameworks and tooling specifically designed to simplify backend development, allowing you to focus on building great web and mobile user experiences.... More
Getting Started with Android Push Notifications in LoopBack
Jan 14, 2014
In the previous blog post Push notifications with LoopBack, we have described how to setup your LoopBack application for sending push notifications to iOS devices such as iPhone. In this installment, we will look at pushing notifications to And... More
Getting Started with iOS Push Notifications in LoopBack
Jan 14, 2014
We are pleased to announce that you can now send push notifications to mobile devices (iOS and Android) using LoopBack with the release of the loopback-push-notifications module. What’s LoopBack? It’s an open source mobile backend, powered by Node... More
Building Robust Node Applications: Error Handling
Jan 7, 2014
Update 9-29-15: Domains are now deprecated in Node 4.x. I’ve crashed more Node processes in production than I’d like to admit. Thankfully, I’ve then learned how to build robustness into my Node applications. So, what can you build into your a... More
Comparison: Tools to Automate Restarting Node.js Server After Code Changes
Dec 11, 2013
As a newbie Node.js developer coming from a Java and PHP background, I found the process of having to search for the correct node terminal and hitting [Ctrl-C] [Up-Arrow] [Enter] after every code change to be very archaic. Luckily there are many... More
Template Systems in Node.js
Dec 10, 2013
Regardless of your background in web development, you’ve likely used a web template system (engine). The goal of a template system is to process templates (usually in combination with a set of input data) to form finalized web pages. template(... More
Node.js support in Visual Studio? You bet your IDE
Nov 27, 2013
Editor’s Note: If you experience problems installing or configuring StrongLoop components, please make sure to check the documentation _and the Getting Started _page for the most current instructions.__ It should come as no surprise to you that N... More
Using Node.js for Static Sites: Jade
Nov 27, 2013
Node.js made its big splash in the web world with the promise of high scalability via asynchrony and the dream of using one scripting language for your web app from front to back. In the past year it found another avenue into the mainstream of the... More
Creating Desktop Applications With node-webkit
Nov 26, 2013
Editor’s Note: As some of you may know, the node-webkit project was rebranded “nw.js” because they are now using io.js and Chromium. This article was written long before that change. We’re working on a new article with updates examples for you,... More
Deploying LoopBack mBaaS on Amazon EC2
Nov 21, 2013
MBaaS experience without the lock-in or cost StrongLoop distro has been supported on the Amazon Marketplace since the July 1.1 release; so it’s no surprise that the new StrongLoop Suite (StrongNode, StrongOps and LoopBack) is ready to be used out... More
Connecting LoopBack to Data sources on Rackspace, Part 1 of 3: Connecting to MongoDB with ObjectRocket
Nov 21, 2013
  MongoDB and LoopBack Node on Rackspace Data brings mobile applications to life and MongoDB is often a preferred choice for mobile first data. MongoDB’s powerful document-oriented database combined with Rackspace’s MongoDB as a service pl... More
Real-time Engines in Node.js
Nov 14, 2013
Node arrived on the scene around the time the WebSocket protocol was drafted. Node’s fast, evented approach to server-side programming was a perfect pairing for WebSocket. Out of that marriage emerged the popular framework: an instant ... More
Recipes for LoopBack Models, part 5 of 5: Model Synchronization with Relational Databases
Oct 31, 2013
Last time, we looked at using LoopBack while defining models from scratch. In the last part of this 5-part series, we demonstrate how to synchronize your data. Now I have defined a LoopBack model, can LoopBack create or update the database ... More
Using a Digital Ocean Droplet for On Demand Node.js Mobile Backend
Oct 30, 2013
The tagline “Digital Ocean provides blazing fast SSD cloud servers at only $5/month” does not do Cloud provider Digital Ocean justice. In addition to the performance of the server instance (a droplet in Digital Ocean lingo), Digital Ocean has b... More
Recipes for LoopBack Models, part 4 of 5: Models by Instance Introspection
Oct 24, 2013
Last time, we looked at using LoopBack with relational databases, allowing you to consume existing data. This time around, we are looking at your options when the data does not have a schema. I have JSON documents from REST services and NoS... More
Node.js Performance Monitoring for your Ghost Blog
Oct 23, 2013
Recently the kickstarter funded Node.js blogging platform Ghost launched to the public. I immediately picked a provider and stood up this Node.js powered Ghost blog. Then I started to wonder how Ghost and Node.js would perform under load. How doe... More
Recipes for LoopBack Models, part 3 of 5: Model Discovery with Relational Databases
Oct 17, 2013
In the prior part of this 5-part series, we looked at schema definitions and defined a model using an in-memory source to mock up the data access. This time around, we are looking at model discovery with existing  relational databases or JSON d... More
Recipes for LoopBack Models, part 2 of 5: Models with Schema Definitions
Oct 9, 2013
Last time, we looked at how you can mobilize data through LoopBack with open models, which works well for free-form style data.  This time around, we are looking at models with schema definitions. I want to build a mobile application th... More
Build a Slideshow with jQuery from Scratch
Oct 9, 2013
It’s impossible to deny the effect that jQuery has had on the web since its inception in 2006. Today, developers can use one convenient API and actually concentrate on getting things done when it comes to their complex web applications. While cros... More
Recipes for LoopBack Models, Part 1 of 5: Open Models
Oct 3, 2013
Rich mobile applications are driven by data. Data can be produced and consumed by mobile devices, browsers, cloud services, legacy applications, databases, and other backend systems. LoopBack mobilizes data through models that represent bu... More
How-to: Heap Snapshots and Handling Node.js Memory Leaks
Oct 2, 2013
_In the beginning, there were memory leaks in JavaScript … and we could not have cared less._ _Then there was Ajax … and we started to care._ _Then there were these long-running Node processes on our production servers … and we really cared a... More
Using Express.js for APIs
Sep 4, 2013
A few tips and libraries for creating and documenting RESTful APIs with Express.js. See a simple example app that incorporates some of these ideas. Two things really got me sucked into Express when I first started using it: Jade and Stylus. I can... More
How to Compose Node.js Promises with Q
Aug 14, 2013
In the last article on promises, we focused on the Promises/A+ specification and Q implementation of promises. We learned the benefits of using promises over raw callbacks. Now, we’re going to take it up a notch and focus on promise composition, w... More
How-to Improve Node.js HTTPS Server Performance
Aug 7, 2013
In this installment of StrongLoop’s technical series, we will take a deep dive into the TLS protocol and look at Node.js configuration options that affect its performance. SSL, TLS, HTTPS Let’s start with a quick recapitulation of pro... More
Deploy a Private npm Registry Without CouchDB or Redis
Jul 23, 2013
npm is one of the most important and powerful features of Node.js. It allows you to share features and code as modules with other developers in the Node community. However, often teams want to pull Node modules from a local or private npm registry... More
Monitoring and Stress Testing Node.js Apps
Jul 10, 2013
Editor’s Note: The NodeFly app is tested below. Note that StrongLoop has integrated and expanded this monitoring application as StrongAgent. Read all about it in our _Getting Started _page for the most current instructions.__ In our previous post... More
Promises in Node.js with Q – An Alternative to Callbacks
Jul 2, 2013
Note: The author has provided an updated version of this article, which you can read here. Promises provide a compelling alternative to raw callbacks when dealing with asynchronous code. Unfortunately, promises can be confusing and perhaps you’ve... More
Use Grunt.js and the Power of JavaScript to Automating Repetitive Tasks
Jun 12, 2013
_Editor’s Note: If you experience problems installing or configuring StrongLoop components, please make sure to check the documentation for the most current instructions.__ As a programmer, one of the first things you learn is the DRY principle: ... More
Catching and sending website errors: An expedition with JavaScript, Node.js and SendGrid
Jun 10, 2013
Catching client-side javascript errors on your website and sending them back to yourself is one of the best ways to ensure your website functions properly for all your visitors. On top of that it’s kind of fun; when you have an entire network of e... More
Practical Examples of the New Node.js Streams API
May 29, 2013
Node brought a simplicity and beauty to streaming.  Streams are now a powerful way to build modules and applications.  Yet the original streams API had some problems.  So in Node v0.10, we saw the streams API change in order to fix the prior probl... More
How to Test an API with Node.js
May 1, 2013
Editor’s note: This blog post from May 2013 has been updated with current information. Testing an API with Node.js is dead simple. You can quickly write tests for any API, regardless of its language. [Note: You can get all the code examples used... More
Information for Blog Authors
May 4, 2001
This site now supports blogs authored in markdown format! This is a sample blog post that explains and demonstrates formatting and best practices for blog authors. Blog post submissions should follow this github collaborative flow, which is essen... More