Tuesday, November 29, 2016

SDKs for iOS, macOS and tvOS Updated

We recently released version 2.1.0 of our SDKs for iOS, macOS and tvOS. This version introduces some important changes:
  • You now have again control on the maximum number of concurrent sessions on the same Server. This feature was part of SDKs version 1.x, but couldn't be included in version 2.0.x.
  • You now have again a connection event specific for authentication challenges. This feature too was part of SDKs version 1.x, but couldn't be included in version 2.0.x.
  • Minimum OS requirements have been raised to 10.9 for macOS and 8.0 for iOS. Thanks to this, we could remove the use of NSURLConnection and all HTTP networking is now done through NSURLSession, reducing the use of threads.
  • The SDKs are now packaged as frameworks, no more as static libraries. Thanks to this, the download size has been reduced and they cohabit better with other libraries when imported via CocoaPods (in particular for projects developed with Swift).
See below for more details.

Note: if you need download and example pointers, jump directly to the end of the post ("Get the SDKs").

Tuesday, August 23, 2016

Benchmarking Lightstreamer JMS Extender vs. Web Services in a Defense Scenario


While Lightstreamer is already well known as a mature solution for Real-Time Data Distribution in a wide range of contexts and industries, it has been also widely used as an academic research tool behind the scenes.

A recent one caught our attention. The research is on interoperability of real-time and non-real-time systems, a well-known topic that has been widely investigated in a large number of domains and industries. In mission-critical fields, performance and reliability of the bridges used to interconnect two different message exchange solutions is crucial. Defense is surely one of the most demanding, thus a perfect and realistic research scenario.

Wednesday, July 20, 2016

Vue.js and Lightstreamer

Vue.js is an open-source JavaScript library for building interactive web interfaces which is rapidly growing in popularity (as evidenced by its GitHub’s stars).
It's basically a view layer for any application, which enables reactive data binding and composable view components (without polyfills, even in browsers that don’t support those features natively) through an extremely simple API.

Vue differs from the alternatives, such as React or Angular, mainly for the great developer experience it provides, which makes them super productive without the need to spend tons of time learning new stuff.

Friday, July 15, 2016

Angular 2 Demo

Last week, we built our first demo in Angular 2. The application implements our evergreen "Basic Stock-List Demo", which shows ten stocks whose market-data are dynamically updated by a random simulator and sent in real time to the web client by the Lightstreamer Server.

Previously, we had done the same exercise using AngularJS (you can see the outcome in this live demo and this GitHub project).

The overall task of integrating Angular 2 and Lightstreamer Web Client API was not difficult at all, notwithstanding the lack of extensive documentation (at the time of writing, Angular 2 is still in beta).

Angular 2 aims to be a complete framework to build sophisticated web interfaces. In the demo we just scratched the surface.

Thursday, May 12, 2016

What's New With Lightstreamer 6.0.2

We are very excited to announce the general availability of Lightstreamer Server 6.0.2, which includes several new and updated components.

Client-side SDKs

More client libraries have been updated to reflect the Lightstreamer Unified Client API model. We recommend upgrading the client code to make use of the new libraries, even if this requires some rework when migrating from non-unified APIs. The big advantage in using the Unified API is that the same consistent interface and behavior are guaranteed across different client platforms. In other words, the same abstractions and internal mechanisms are provided for very different platforms, while respecting the conventions, styles, and best practice of each platform. This will dramatically reduce costs and complexity when maintaining client applications for different platforms.

Tuesday, April 26, 2016

New SDK for Python Adapters

Our family of Adapter Development Kits has been further enriched with the Lightstreamer SDK For Python Adapters, which lets developers write Remote Adapter Sets exploiting the power and flexibility of Python, one of the most widely used general purpose high-level languages.

The new SDK has been developed keeping in mind the same principles and concepts which drove the design and implementation of the SDK for .NET Adapters, the "progenitor" of the successive SDKs for Java Remote Adapters and for Node.js Adapters, all already provided as part of the Lightstreamer distribution. Nevertheless, the Python Adapter SDK must not be considered as a "simple" port to the Python language; on the contrary, it is a brand new implementation, based on the best practices and widespread conventions promoted by the community around the language.

In this post we are going to show a general overview about the development of custom Python Remote Adapter Sets, which should sound quite familiar for those who have already experimented with the others Lightstreamer Adapter SDKs.

Wednesday, April 13, 2016

Dockerizing Lightstreamer


Containerization is one of the most important IT trends over the last two years. Docker heads this technology up, providing an open platform which lets you package up applications with all their dependencies. Applications can be shipped as software containers to enable process isolation, resources optimization, portability, and ease of maintainability and deployment.

As passionate about each new exciting and promising technology, we at Lightstreamer could not miss the opportunity to enter this world, so we tested how well our Server could be "dockerized" and ... Yes, we did it! We published the Docker official image for Lightsteamer Server on Docker Hub.

The aim of this blog post is to show how to use our Docker image as a starting point to build new Lightstreamer Server deployments.

Monday, April 11, 2016

React Native Demo Available

EDIT 2021: the Lightstreamer Web Client, now supporting ES6 module system, has replaced the Node.js Client in React Native applications, so the trick regarding Babel is no longer necessary.

In the past few years, we have seen the diffusion of frameworks like PhoneGap and Titanium, which offer developers the opportunity of building mobile applications using web technologies. The outcome is called a hybrid app.

Web developers can use their skills for mobile development and in addition they can use the same codebase with little changes for multiple platforms - what became known as “Write once, run everywhere”. On the downside, some of these frameworks wrap your JavaScript code in a web view: this results in UI elements that don’t have a native look and feel and fall short when it comes to performance (you are still writing a web app).

Friday, March 11, 2016

Electron Demo Available

Nowadays, since browsers and mobile devices got powerful, there has been a constant decline of desktop applications, which are getting replaced by mobile and web apps.

There are a lot of advantages to writing desktop applications and in some context it's still preferable.

GitHub’s Electron framework (formerly known as Atom Shell) wants to give developers new exciting reasons to continue coding them, letting us write cross-platform desktop apps using web technologies (HTML, CSS and JavaScript).

Thursday, March 10, 2016

New tvOS Client SDK Now Available

With the release of Apple TV 4th generation, Apple added a new platform for the development and distribution of apps. We are happy to announce that Lightstreamer now supports this new platform as well, with the same APIs provided for iOS and OS X.

The new tvOS Client SDK is directly derived from the iOS SDK version 2.0.0. As such, the API model is pretty identical

We provide also a sample application, our ubiquitous Stock-List Demo, in tvOS flavor on GitHub. Check it out for an example of use of this new SDK.

Monday, February 8, 2016

Meet Our Customers: eToro

*UPDATE January 2023: Celebrating 16 years of eToro




"Choosing Lightstreamer was a no-brainer" - a short interview with Israel Kalush, VP Engineering at eToro, a pioneer and world leader in Social Trading. eToro opted for Lightstreamer to deliver server-to-client high-frequency messages, including price ticks.

Let’s talk about your organization. What is your core business?

"eToro is the world's largest social investment network. eToro allows traders to invest in the global markets, follow the financial trading activities of other users as well as CopyTrade them. Clients allow their trading activity to be published on eToro's network along with their trading history and performance metrics. Users leverage this wealth of financial information and choose to copy other traders. In such case, the eToro platform will automatically duplicate each trade made in the copier's account using the same execution rates."

 Could you let us know any further information?
" Through eToro's award winning platform, over 5 million traders are empowered to learn from each other, share live trading information and even capitalize on their collective trading power, thanks to the CopyTrader feature. Traders can also use eToro’s social trading services on the go, with eToro’s Mobile Trader for Android and iPhone.

 eToro has local offices in London, Cyprus, Moscow, Shanghai, Israel and Sydney."

Thursday, January 7, 2016

Introducing Lightstreamer JMS Extender

The Lightstreamer JMS Extender is a new product aimed at porting the JMS interface to the Web and Node.js environments.

For those who don't know the JMS acronym, it stands for Java Message Service and it is a well-known set of APIs used in Java-based environments to provide publish/subscribe and message queuing paradigms. Not only does the JMS Extender provide that same set of APIs as a JavaScript client library (and other languages in the future), but it also extends the reachability and scalability of a JMS broker (typically a local-area-network component) to the entire Web.