Tag Archives: Server-Side

Server-side React Layout & Side Effects

via Server-side React Layout & Side Effects.

We’ve been hard at work last week analyzing how to build a universal app using React. First we looked at the bare minimum needed to run Babel through Browserify for ES6 and JSX support, as well as how to render a basic app seamlessly in the server and the browser. On friday we added react-router so that view routing is handled for us on both the server-side as well as the client-side – universally. Today we’ll be making some tweaks to what we have so far.

Particularly, we’ll be moving the server-side layout rendering out of express-hbs and into another React component, the<Layout /> component, which will only be rendered on the server. The reason for that change is one of consistency – instead of having to understand (and deal with) two different templating languages in Handlebars and JSX, we’ll only be dealing with JSX.

After making that change we’ll be looking at a couple of react-side-effect-powered libraries. One of these will enable us to set the document.title declaratively in our views from anywhere in our JSX templates. The other allows us to define <meta> tags anywhere in the document as well.

Let’s get on with it!

Understanding BackboneJS from the lens of a Java programmer

via Ankur Kumar’s Blog – Pragmatic Best Practices for Digital Architecture: Understanding Backbone.js from the lens of a Java programmer.

Let me start this blog in favor of backend or server-side programmers by making the following statement:

“A server-side programmer (Java or similar) can understand nuances of javascript client or server-side frameworks or libraries much more quickly than an html developer”. 

A New Way to Use Appium/Selenium with Real Devices on Cloud

via Parallel Test Runs with Server-Side Appium on Real Devices | Testdroid.

Appium has been the number one smoking hot framework during the past quarters and there are no signs of this trend cooling down anytime soon. We’ve been providing Appium/Selenium support for Testdroid Cloud now for more than a year and significant portion of Testdroid Cloud test runs are Appium/Selenium runs nowadays. To make things even more convenient for our users, we’re about to introduce an awesome new feature that will make executing those test runs much easier and less error-prone – as you don’t have to play those desired caps all the time.

We recently released a new version of Testdroid Cloud and with this version, we’ve brought out a new feature that enables completely new way to execute Appium/Selenium tests on our devices. Basically, with this implementation users with Appium/Selenium scripts are not required to configure desired capabilities as they would do with current client-side execution. We call this implementation “Appium Server Side” execution that basically means that test scripts can run locally on our environment – you just upload your .APK or .IPA and test package to Testdroid Cloud and our our system takes care of proper configuration and manages all details for desired capabilities.

Video: Hybrid server/client Haskell web apps

Haskell is well known for its strong, static type system. Javascript, by contrast, is a dynamic, weakly typed language. While they share some functional features, the two languages are quite different. But when we write a web app with a Haskell backend, these worlds inevitably collide. How do we bridge these two worlds?

In this talk, we’ll cover some of the common techniques, including Haskell to JS compilers and well defined cross-language APIs. We’ll also describe ways in which we can keep the benefits of strong typing, even when interacting with code that ignores types entirely.

Node.js is JavaScript

via Design – Developer Center – Joyent.

Node.js is JavaScript, so everything you already know about JavaScript applies to your Node application as well. The patterns you use to write your front-end client code can be used when writing your server-side application logic. Node does not use any JavaScript language extensions or modifications to accomplish its goal of server side JavaScript.

There are, however, patterns used throughout Node and Joyent that are helpful to know and can be useful while designing your application.

Serverside React Rendering: Isomorphic JavaScript with ReactJS + Node

via Serverside React Rendering: Isomorphic JavaScript with ReactJS + Node.

JavaScript driven MVCs (angular, ember, backbone, etc.) render on DOM load, this can be really slowwwww & can make for a bad user experience.

Another major problem is that they aren’t indexable by search engines (without paying $$ for a third party service like https://prerender.io/). If your app is serving any kind of data that people might be searching for, this is a bad thing.

When you render JavaScript on the server side you can solve these problems and be super cool while doing so!

Isomorphic Javascript Benefits:

Better overall user experience
Search engine indexable
Easier code maintenance
Free progressive enhancements

Browser to browser communication with Vert.x, websockets and HTML5

Browser to browser communication with Vert.x, websockets and HTML5

how to set up browser to browser communication using the Vert.x eventbus by using the javascript client side API. In short I’m going to show you the following things:

  • Use Vert.x as a simple web server
  • Configure vert.x on the serverside to act as bridge for the browser eventbus implementation
  • Create a simple example that shows how to use the eventbus from javascript