Category: JavaScript

Node.js / Express app generator: with ES.next, API validation, documentation, logging, and more

[Take me to the app generator] I’m at work on a new project. My team and I are building a highly scalable service platform and have elected to build it using the microservices architecture pattern. The platform consists of many microservices, each of which is typically owned by a collaborating team. Teams are empowered to make decisions and choose technologies that best fit the need. This means that services may...

Create a custom React Native module that exports Constants (with Swift)

In this post, we will create a simple React Native module using Swift. The module will return information about the current device and expose it to JavaScript. First, we create our Swift class, RNDevice.swift. This class will is responsible for returning information that describes the current device. This information is obtain using the UIDevice class. [code language=”Java”] import UIKit @objc(RNDevice) class RNDevice: NSObject { @objc func constantsToExport() -> NSObject {...

Create a React Native custom module (with Swift)

Here is a quick and dirty example of how one can expose a custom module to React Native using Swift. Product-Bridging-Header.h – Bridge header file [code language=”C”] #import "RCTBridgeModule.h" [/code] MySwiftThingy.m – Register Swift code with the React Native Bridge [code language=”C”] #import "RCTBridgeModule.h" @interface RCT_EXTERN_MODULE(MySwiftThingy, NSObject) RCT_EXTERN_METHOD(callbackMethod:(RCTResponseSenderBlock)callback) RCT_EXTERN_METHOD(simpleMethod:(NSString *)message) @end [/code] MySwiftThingy.swift – Custom Swift component [code language=”Scala”] import Foundation @objc(MySwiftThingy) class MySwiftThingy: NSObject { @objc func callbackMethod(callback: RCTResponseSenderBlock)...

Adapt jQuery.getJSON to an Rx.Observable with RxJs

Rx provides an incredible and fluent API to help untangle your asynchronous JavaScript code. Here we’ll see how to adapt jQuery’s getJSON method to an Rx Observable with only a small bit of code. [code language=”JavaScript”] function getJSON(url, data) { return Rx.Observable.create(observer => { var canceled = false; if (!canceled) { jQuery.getJSON(url, data). done(data => { observer.onNext(data); observer.onCompleted(); }). fail(err => observer.onError(err)); } return () => canceled = true; });...

Asynchronous programming with Async / Await and the Scala Play Framework

Asynchronous programming has a number of advantages, most notably is its well touted ability to improve responsiveness. Asynchronous events occur independently of the main program flow and asynchronous actions are executed in a non-blocking, lock-free manner. This, ultimately, allows the main program flow to continue unimpeded, without blocking. On the flips side, asynchronous programming can be difficult to reason about. Many actions are often run simultaneously which can lead to complex semantics and...