Skip links

Vi har en ambition om at være på forkant med den teknologiske udvikling, og det gør vi blandt andet ved at investere i og teste de nyeste teknologier og frameworks. Samtidig går vi aldrig på kompromis med de pålidelige og etablerede udviklingsteknologier og metoder som sikrer succesfulde, robuste og skallerbare løsninger.

Vores tech stack

Android

Android udviklere hos Nodes stræber efter at udvikle awesome enterprise apps gennem brug af Material Design Guidelines og design tools udviklet af Google.

Java 1.0 was released in 1995 and is still being used widely today – in part because of Android. Being an old language the toolchain is mature, and features like annotation processing, instant-run and an excellent Java SDK provide a nice toolset for development.

Android Studio is the natural choice for the platform with all the bells and whistles it brings. Android Studio plugins
android-butterknife-zelezny – Generate view bindings from the XML file directly
Markdown support – Preview the markdown layout directly in AS

Android has an excellent selection of available libraries for everything. These are some of the tools we use on a day-to-day basis. We always use the latest official design and appcompat libraries from Google as well.

  • OkHttp – An HTTP+HTTP/2 client for Android and Java applications.
  • Retrofit – Used together with OkHttp as a “frontend” for API interfaces
  • OkHttp Logging interceptor – Great logging for quick HTTP debugging
  • Picasso – Image loading library by the infamous Jake Wharton
  • Glide – Memory efficient and fast image loading – our default choice at the moment
  • Realm – Persistence layer with ORM like features
  • ButterKnife – View binding made easy
  • LeakCanary – Leak detection library for getting rid of those leaks with excellent logging and UI
  • UrbanAirshipSDK – integrates with Urban Airship to register for and handle push notifications
  • HockeySDK – integrates with HockeyApp to collect crash reports and show application updates during testing
  • GoogleAnalytics – analytics and tracking library from Google
  • Mixpanel – advanced analytics and user tracking library with features like A/B testing and push notifications

iOS

Vores iOS team bygger brugercentrede apps til iPhone og iPad, extensions til Apple Watch, Apple TV og MacOS apps. Vi udvikler apps på et grundlag af den mest skallerbare og gennemtestede app arkitektur og Apple’s Human Interface Guidelines.

Swift

We’ve started with Swift as soon as version 1.0 was released and since then we have migrated all our projects through Swift 2 up to Swift 3 and we make sure all our frameworks and dependencies support all versions of the language.

Objective-C

Objective-C is a thing of the past for us, but occasionally we do maintain projects or update applications still written in Objective-C

Nodes utilises the full power of Apple’s own IDE; XCode. We are always testing the newest frameworks and OS features in Apple’s beta versions of XCode so we can beat potential bugs before Apple roles it out.

iOS has an excellent selection of available libraries for everything. These are some of the tools we use on a day-to-day basis. We always use stable branches and MIT licensed frameworks that doesn’t go against Apple’s Guidelines.

  • AlamoFire – is an HTTP networking library written in Swift
  • Kingfisher – is for downloading and caching images from the web
  • Serpent – easily serialized and deserialized from/to JSON
  • Cashier – makes it easy to work with persistent data
  • Blobfish – handle errors and present them to the user in a nice way
  • KeyboardHelper – handling UIKeyboard appearing and disappearing in your view controllers
  • DZNEmptyDataSet – handle empty states in all scrollview based UI elements
  • UrbanAirshipSDK – integrates with Urban Airship to register for and handle push notifications
  • HockeySDK – integrates with HockeyApp to collect crash reports and show application updates during testing
  • GoogleAnalytics – analytics and tracking library from Google
  • Mixpanel – advanced analytics and user tracking library with features like A/B testing and push notifications

APIs, admin paneler og middleware

Vores server-side udviklere er eksperter i at bygge stand-alone backend applikationer så vel som dybde integrationer oven på vores kunders infrastruktur. Det gør de i samspil med de højest ratede sikkerheds certificeringer, de mest skallerbare teknologier samt best practice.

Vapor –  Server Side Swift

Vapor is the most used web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website or API.

Nodes have a full system setup for supporting and maintaining Vapor Server Applications, and have already produced Vapor Server Applications for large corporations in industries such as pharma, aviation, transportation and financial.

Laravel – PHP

Laravel is a web framework that are build in PHP. Nodes have been developing application with Laravel since late 2013 and have since then been our top choice of runtime compiled server development framework.

Nodes have developed large scale server applications that have supported 1.000.000+ users from different industries, countries and with an array of different services added to it.

Vapor

Nodes utilises the full power of Apple’s own IDE; XCode. We are always testing the newest Swift versions and features in Apple’s beta versions of XCode so we can beat potential bugs before Apple roles it out.

Laravel

Nodes utilises the power of PhpStorm for developing Laravel projects. PhpStorm performs many routine tasks right from the IDE and enables Nodes Server Side developers to faster and more typesafe develop Laravel projects.

General about Stack

All of Nodes server stack components are based on free-ware without any licensing. Nodes have picked some of the most commonly used stack components for the reasons of

  • Support & Community – Easy for Nodes to find talent to work within the scope of the technology and large knowledge base for help and support for maintenance
  • Flexibility – Server components useable with most commonly used web technologies so Nodes doesn’t lock themselves on one type of web / server development
  • Stability – Tried and tested on millions of projects and implemented by millions of developers. Active teams working on updates

Stack / Tools

  • Linux – is the most common OS for web servers in the world. Nodes have been using it since 2008
  • Docker –  is a new generation of virtualisation (from 2013) that makes building complex software stacks much easier and more isolated than previously
  • Nginx / Apache is the two most common web servers for Linux
  • MySQL – is an open source Relational Database started in 1995 and today owned by Oracle. We also have experience with forked versions like MariaDB or Aurora
  • Redis is an open source in-memory data structure store. We mainly use it for caching and as session driver
  • S3 file storage – is used to upload and manage data
  • Cloudfront CDN with Image resizing – is Amazon’s CDN which job is to cache public files on local high load servers
  • Beanstalkdis needed to offload the work to a queue system. Beanstalkd is our technology for this
  • ElasticSearchNoSQL Database, often used for very advanced search queries.
  • MongoDBNoSQL database, often used for aggregating big data sets

Cross-platform udvikling

Der er både fordele og ulemper når snakken falder på cross-platform udvikling af apps. Vi brugder disse frameworks, når kunderne ønsker denne type løsning. Det betyder også at vi løbende tester og bench marker de forskellige frameworks op i mod hinanden.

Build native apps for multiple platforms on a shared C# codebase. Use the same IDE, language, and APIs everywhere.

Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments.

Xamarin is owned and maintained by Microsoft.

Building native mobile apps using JavaScript and React.

React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI from declarative components.

React Native is open source framework owned and maintained by Facebook.

Native and web optimized, Ionic emulates native app UI guidelines and uses native SDKs, bringing the UI standards and device features of native apps together with the full power and flexibility of the open web. Ionic uses Cordova or Phonegap to deploy natively, or runs in the browser as a Progressive Web App.

Build progressive web and native mobile apps for every major app store, with one codebase in JS, TypeScript & HTML.

Ionic Framework is a 100% free and open source project, licensed under MIT.

Vi bidrager med open source repositories

Vores udviklingsteams er drevet af at levere de bedste og mest innovative produkter på markedet. For at kunne leve op til det løfte har vi igennem tiden bygget flere open source frameworks for at skabe en mere strømlinet og hurtigere udvikling. Alle vores repositories er tilgængelig på Github.

All of our open sourced iOS repositories can be found on the Nodes-iOS GitHub organization. Some examples:

  • Serpent – fastest and most feature complete serialization library
  • Blobfish – unified and abstracted visual handling of errors
  • KeyboardHelper – easy to use interface for handling keyboard events
  • NStackSDK – integration with NStack for translations, version updates and more
  • Cashier – a simple, but effective 2-layer caching library suitable for most projects
  • Noted – a more Swift-ier implementation of the observer pattern
  • Codemine – a collection of tweaks, utilities and nice-haves we use regularly

All of our open sourced Android repositories can be found on the Nodes-Android GitHub organization. Some examples:

  • nstack – Inhouse mobile platform for in-app data and translations
  • gutenberg – Font library for applying custom fonts easily
  • nstack-gradle – Compile time gradle plugin generation of Translation classes
  • nutils – Utility framework with minor helpers
  • nfusion – REST HTTP API Endpoint Abstraction Library with pluggable auth

All of our open sourced Frontend repositories can be found on the Nodes-Frontend GitHub organization. Some examples:

  • generator-nodes – Our opinionated Yeoman CLI, and the boilerplate for all of our Angular projects.
  • nodes-component-starter – Not every project ends up being an actual product, we often build isolated UI components and small libraries to use in our projects. This is our starting point for Open Source projects and comes with Angular, Typescript, semantic-release and slew of other awesome features.
  • nImage – We use images, a lot. This module enhances images with (lazy-)loading, fallbacks, aspect-ratios and cropping/resizing.
  • nExceptionHandler – This module helps us send errors to external sources so we can keep track of the state of our Angular apps.
  • nMessages – Just like images, we often need to provide feedback messages for our end users when asyncronous tasks takes place. This UI component lets us easliy create toasts or any other kind of messages by providing a manageable LIFO que and the UI to go along.
  • The setup behind this blog – Built with Hexo, this repository should be interesting for anyone looking for an advanced Hexo setup with lots of great front-end features such as ES6 support, Offline Sync through service-workers, and a lot of preconfigured Hexo speciffic settings.

Vapor

All of our open sourced Swift/Vapor repositories can be found on the Nodes-Vapor GitHub organization. Some examples:

  • Paginator – Query pagination for Vapor and Fluent
  • Admin Panel – Build easy customizable admin features for your app
  • Storage – A package to ease the use of multiple storage and CDN services

PHP

All of our open sourced PHP repositories can be found on the Nodes-PHP GitHub organization.

  • Assets – An easy integration for handling files with Laravel
  • Push – A push manager to send push messages to mobile devices from your project
  • API – A “mobile friendly” API package made on-top of the popular Dingo API package