Focus

Web

Online training

Online training

Skalierbare Web-Architekturen

iSAQB Modul WEB

Online training

Online training

Web Security

iSAQB module WEBSEC

Online training

Online training

JavaScript verstehen und anwenden

Link

Joy Heron veröffentlicht Guidelines für „Reponsible Web Applications“

Blog Post

Innovation in the web without sacrificing Accessibility

We’ve truly stretched the boundaries of what is possible on the web. However, to do this we’ve sacrificed semantic HTML and made our applications inaccessible to a huge amount of different users. Instead of breaking the foundation of the web, we should consider this as an opportunity: how can we implement applications in a way that works for any user who might come along and want to interact with it?

Article

React: Lessons Learned

Podcast

Intrinsic Design

Responsive Design weitergedacht

Article

Design- und Entwicklungs­prinzipien für ein besseres Frontend

Moderne Frontends sollen wartbar und zukunftsfreundlich sein, unabhängig vom Gerät oder Browser gut aussehen und performant sein. Es gibt eine Reihe von Design- und Entwicklungsprinzipien, die dabei helfen, diese Ziele besser zu erreichen. Im folgenden Artikel sollen einige Prinzipien vorgestellt werden, die sich in der Praxis als tragfähig erwiesen haben. Dabei treffen wir neben alten Bekannten wie Responsive Web Design und Mobile First auch auf neuere Ansätze wie Atomic Design und Pattern Libraries.

Blog Post

Cross-platform testing of TypeScript code with Jasmine and Karma

Blog Post

Don’t tell me I’m not building a web application

How do we decide what technology stack that we want to use for any given project? Is it really based on how perfectly well suited the technology is to the problem at hand or do we really just want to use the technologies that we like and are comfortable with? I’m happy in my filter bubble, rendering web applications on the server and progressively enhancing them on the client. But I also recognize my bias. Do you?

Article

Optionen der Frontend-Integration

Systemgrenzen sind aus Nutzersicht tendenziell ein Ärgernis. So ist die Modularisierung von Systemen ein rein technisch motiviertes Thema, das reibungslosen Arbeitsabläufen ohne größere Kontextverluste nicht im Wege stehen sollte.

Blog Post

Ruby on Rails ist einfach am besten

Case Study

Pain Point Becomes Product

In order to counter the growing overhead costs that are incurred at INNOQ each month for travel expense accounting, four INNOQ employees simply built an SaaS solution themselves, laying the cornerstone for the Reisekostengorilla.
Article

Wider die SPA-Fixierung

Die Vorteile einer klassischen Frontend-Architektur für Webanwendungen, bei der die Serverseite für das Erzeugen von HTML verantwortlich ist und JavaScript zwar erlaubt ist, aber nicht die komplette Kontrolle übernimmt, werden häufig unterschätzt. Dabei ist sie den im Moment viel gehypten, JavaScript-zentrischen Ansätzen in vielen Fällen überlegen.

Case Study

Ahead of the game

With an agile approach, lightweight technologies, and creativity, creating an MVP in 8 weeks – as technical partner, INNOQ helps the InsurTech start-up insurninja in creating an insurance product for e-sports.
Article

Was sind eigentlich Web Components?

Für die Erstellung von Benutzeroberflächen im Web sind HTML, CSS und JavaScript gesetzt. Doch die Wiederverwendung und Kapselung von so erstellten Komponenten lässt zu wünschen übrig. Um eine fertige Komponente zu nutzen, muss man das HTML übernehmen und passendes CSS und JavaScript separat einbinden. Web Components versprechen, hier zu helfen. In dieser Kolumne schauen wir uns gemeinsam an, was Web Components sind und wie diese funktionieren.

Podcast

Microfrontends

Unabhängige Teams im Frontend

Blog Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

Link

Podcast-Folge mit Lucas Dohmen zum Thema Ruby

Podcast

Transklusion

Frontendintegration im Web

Blog Post

dprox – Declarative Reverse Proxy

Blog Post

Taking Screenshots of DOM Elements

Now that PhantomJS is dead, we need an alternative. Turns out that Puppeteer, Google’s official remote-control API for Chrome, is just the ticket.

Blog Post

Have YOU been pwned?

With the V2 release of the “pwned passwords” database came a new feature called range search, which allows to securely check passwords with only minor efforts. Here’s how to use it.

Blog Post

Enforce strong passwords!

Blog Post

ROCA-Compliant Table Sorting

The article presents an easy way to enable table column sorting without JavaScript. In addition to the avoided complexity, the solution is also compliant to ROCA.

Podcast

Entwicklung im Feierabendmodus

Wie man neben dem Beruf ein Produkt entwickelt

Article

Tooling für JavaScript-Frontends

Hämmer und Schraubenzieher

Blog Post

Marrying Rails, Turbolinks and JavaScript Custom Elements

Rails 5.1 just arrived and brought with it a curated setup for webpack. Think what you want about webpack, but it’s the new default for JavaScript module loading and bundling in Rails and therefore here to stay. So here’s a quick post on how to get the new JavaScript goodness up and running with your existing Turbolinks setup.

Blog Post

Rendering Self-Contained Custom Elements

This is a response to Paul Kinlan’s post on creating custom elements, explaining how JSX can be used for declarative templating.

Link

heise SoftwareArchitekTOUR Podcast, Episode 55: Pro und Contra von Web Components

Blog Post

The Power of the HTML Form

The HTML form is a powerful tool for telling a server what you want to do. But does everybody know how it works? With the multifarious JavaScript frameworks currently available today, software developers in the industry today often do not know how to create a web application without JavaScript. Is there an alternative? The web has been around for ages. What did people do before JavaScript?

Link

UI Engineering Podcast, S01E06, Interview mit Falk Hoppe

Blog Post

Progressive Web Components

Blog Post

The perils of shared code

In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

Blog Post

Content Security Policy

Cross-Site-Scripting ist seit Jahren eines der Security Probleme im Web. Neben anderen sicherheitsrelevanten HTTP-Headern gibt es seit geraumer Zeit auch die Möglichkeit, dem Browser eine „Content Security Policy“ mitzuteilen. Dieser Blogpost erklärt deren Zweck und Einsatz.

Article

Web Components mit Polymer

Teil 2: Technische Anwendung

Article

Nachhaltige Webarchitekturen

Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise auch Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, also Wartbarkeit und Erweiterbarkeit.

Blog Post

ROCA vs. SPA

Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

Article

Web Components mit Polymer

Teil 1: Von 0.5 zu 1.x

Blog Post

Solving the wrong problems

Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

Link

The Web Ahead, Episode 116: Preserving the Architecture of the Web with Stefan Tilkov

Link

Video-Interview mit Stefan Tilkov

Blog Post

Transclusion in self-contained systems

Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems' content in the DOM of a web page.

Blog Post

Transklusion in Self-Contained Systems

Frontend-Integration im Web ist ein riesiges Themengebiet. Dieser Post befasst sich mit dem Teilaspekt der Transklusion „fremder“ Inhalte in den DOM einer anderen Seite.

Blog Post

Why RESTful communication between microservices can be perfectly fine

Blog Post

Kriterien zur Bewertung von ROCA Komponenten

Mal angenommen, jemand wollte ROCA machen. Wie müssten dann JavaScript-Komponenten aussehen, die zu diesem Zweck benutzbar wären?

Link

JAX TV: Das Minimum, das ein Webentwickler über Security wissen sollte

Link

JAX TV: Technologie-Trends jenseits von Java

Blog Post

Play 2.4 with Guice and MyBatis

The Play Framework is getting more popular and Version 2.4 finally includes Dependency Injection as the default mechanism to access central resources instead of singletons. This blog post explores what is necessary to combine MyBatis with Play using its default DI Framework: Guice. Batteries (code sample) included!

Blog Post

Praktikumsbericht „Web Discoverable Hypermedia“

Nachfolgend ein Erfahrungsbericht von Valentin Pratz (15), der mit Bravour ein zweiwöchiges Schülerpraktikum bei innoQ absolviert hat.

News

ECSA 2015 - Neue Notation für REST-konforme APIs vorgestellt

Link

Vier Fragen, die Sie sich bei jedem Webprojekt stellen sollten

Podcast

REST und HTTP

Die dritte Auflage ist endlich da!

Link

Microservices: Smaller Is Better?

News

Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

Blog Post

Reliable Web Clients

Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

Article

Bessere Web-Apps mit HTML5-APIs

Pimp my Browser

Blog Post

Declarative HTTP API Testing with gabbi

While HTTP APIs are ubiquitous these days, testing and documenting such APIs remains somewhat awkward: Tests usually consist of procedural code that is specific to the respective language or even framework - which is neither very expressive nor easy to maintain.

Article

Artenvielfalt

Durch Node.js hält das vielerorts als nur unzulängliche Programmiersprache belächelte JavaScript heute Einzug in die professionelle Serverprogrammierung. Doch welche Möglichkeiten die Plattform bietet und welche Entscheidungen bei ihrem Einsatz zu treffen sind, ist nicht immer einfach zu ermitteln.

Article

Apache Cassandra

Für Daten ohne Grenzen

Article

Rails gegen Grails

Möchten mit der Java Virtual Machine vertraute Programmierer bei der Webentwicklung in bekannten Territorien bleiben, landen sie bei der Framework-Suche schnell bei Rails mit JRuby und Grails mit Groovy. Dieser Artikel durchleuchtet hauptsächlich funktionale Aspekte der populären Kandidaten und blickt auf ihre Historie zurück. Außerdem wird betrachtet, was positiv heraussticht oder weniger gut gelungen ist, da nicht Features allein den Ausschlag bei der Wahl geben können. So gesehen, ist eine Gegenüberstellung von Webframeworks gar nicht so weit von den Vergleichstests entfernt, die in Autozeitungen zu finden sind.

Blog Post

Frontend Dependency-Management in Rails

Im letzten Blogpost über Bower sind viele Gründe für die Verwendung eines Dependency-Management Tools für Frontend-Komponenten genannt worden. Dieser Artikel soll dort anknüpfen, wo der letzte aufgehört hat, und eine Reihe von Möglichkeiten aufzeigen, mit denen Bower in ein fremdes Ökosystem integriert werden kann. Denn in der Regel trifft ein Webframework wie Ruby on Rails oder Play! eigene Vorgaben darüber wie Frontend-Artefakte von einer Webanwendung verwaltet und ausgeliefert werden. Im Folgenden wird Rails als populärer Vertreter eines Webframeworks für einige dieser Integrations-Strategien herhalten.

Blog Post

Frontend Dependency-Management mit Bower

Link

Self-Contained Systems

Podcast

Ruby on Rails

Das Full-Stack-Web-Framework

Podcast

Eine Website — viele Geräte

Mit Responsive Web-Design Ordnung schaffen

Podcast

Sicherheit von IT-Systemen

Allgemeine Aspekte der IT-Sicherheit und der Web-Sicherheit im Speziellen

Link

Developing Modular JavaScript Components

Article

ROCA: Keine Angst vor HTML und JavaScript

Web-Apps zum Wohlfühlen

Podcast

CSS-Präprozessoren

Effektives und wartbares CSS programmieren

Podcast

CSS-Architektur

Architekturaspekte von Cascading Style Sheets

Podcast

Frontend-Optimierung von Webanwendungen

Techniken für schnelle Frontends

Article

Im Web zu Hause

Die Resource-oriented Client Architecture stellt einen Gegenpol zum Trend dar, Logik auf den Client zu verlagern. Zum Einsatz kommen dabei vertraute Webtechniken, welche die Entwicklung zeitgemäßer, ergonomischer, robuster, skalierbarer und wartbarer Webanwendungen unterstützen.

Article

ROCA

Eingezwängt zwischen statusbehafteten, serverseitigen Komponenten-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

Article

Webanwendungen mit dem Play!-Framework

Wie man in Java Webanwendungen bauen sollte

Article

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

Der Begriff NoSQL ist irreführend, da „No“ nicht einfach mit „kein“ gleichzusetzen ist. Für die meisten steht es nämlich für „Not only SQL“ – also nicht für ein Ende der Ab-fragesprache SQL. Kurz gesagt beinhaltet dieser Trend alle Arten von Datenspeichern, die eben nicht den relationalen Datenbanken (RDBMS) zuzuordnen sind. Häufig sind sie explizit für ein verteiltes Arbeiten mit großen bis sehr großen Datenmengen ausgelegt, bieten diesem Einsatzzweck entsprechende Datenstrukturen und verzichten bewusst auf Transaktionen. Aber in Bezug auf das Datenmodell, die Unterstützung dynamischer Abfragen, die Verteilung und den Persistenzmechanismus unterscheiden sie sich erheblich voneinander: „NoSQL“ ist eine sehr breite und unscharfe Rubrik, die alle Varianten von Textdateien bis hin zu objektorientierten Datenbanken beinhaltet.

Link

No REST for the Wicket

Link

Fantastische Formulare - Formulare endlich einfach

Link

WS-Testing: Über das Testen von Web Services

Link

Eine gute Wahl treffen – Ein Überblick über die Web-Services-Technologien und ihre wichtigsten Standards und Spezifikationen

Link

Lose Kopplung mit Web Services

Link

Das Webframework Tapestry