Schwerpunktthema

web

Online-Schulung

Online-Schulung

Web-Security

iSAQB-Modul WEBSEC

Online-Schulung

Online-Schulung

Skalierbare Web-Architekturen

iSAQB-Modul WEB

Online-Schulung

Online-Schulung

Advanced Full-Stack JavaScript

Vortrag
Vortrag

Unverzichtbare Sicherheitsmaßnahmen für Webanwendungen

Heise Acadamy: Mastering Websesurity / 11:15 - 12:00

Blog-Post

Persistente fachliche Validierungen mit Rails

Es war einmal ein RoR-Projekt. Dieses fristete lange Zeit ein Schattendasein und drohte, Opfer einer Sunk-Cost-Fallacy zu werden. Am Ende wurde es eingestampft. Einige darin umgesetzte Ideen waren jedoch gut gewesen und sollten weiterleben. In diesem zweiteiligen Post möchte ich die Idee der persistenten Warnmeldungen festhalten, damit sie in künftigen Projekten wieder aufgegriffen werden kann.

Podcast

Digital Sovereignty

Für mehr Kreativität und Diversität im Web

Podcast

Responsible Web Apps

Responsive + Accessible

Blog-Post

Progressive Enhancement mit Hotwire

Ein REST basiertes Backend und oben drauf einen Javascript-Monolithen, ist heute der de-facto Standard für Webapplikationen. Mit Hilfe von hotwire lassen sich aber auch viel leichtgewichtiger Webapplikationen bauen, die die Vorteile von SPAs mitnehmen aber deren Nachteile vermeiden. Wir wollen zeigen, was Hotwire alles bietet.

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?

Artikel

React: Lessons Learned

This article describes React from a backend programmers' perspective. It is not meant to be a tutorial, and it also does not present any new, fancy patterns or features. Rather, it is an interpretation of React with focus on shedding light on its functional aspects. Many experienced React developers appreciate the framework for being pragmatic, simple and easy to get work done with. This article unveils some of the theory behind this simplicity and shows how the core ideas behind the framework can be carried over to the lower levels of a Javascript application.

Podcast

Intrinsic Design

Responsive Design weitergedacht

Artikel

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

I like TypeScript. Writing code that already underwent basic checks (i.e. typechecking) before it can even touch an execution engine is a big win in my book. In particular, TypeScript is nice because it integrates well into the broader JavaScript ecosystem and comes with batteries (i.e. types) included. Unfortunately, most test runners require extra setup to work with tests written in TypeScript. Some even require staggering amounts of configuration.

Blog-Post

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

Artikel

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

Ein Loblied auf Ruby on Rails.

Artikel

Wider die SPA-Fixierung

Ein Plädoyer für eine klassische Frontend-Architektur

Case Study

Ahead of the Game

Technische Realisierung eines InsurTech-Start-Ups für E-Sportler
Artikel

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

If you want to test your website, app or API endpoint by simulating how it will perform when hundreds or more users visit it, you are probably writing a load test. This blogpost covers a step-by-step instruction on how to build a load test for a Ruby on Rails app with a login and post session and dynamic variables with Tsung, a distributed load testing tool.

Case Study

Aus Painpoint wird Produkt

Entwicklung einer SaaS-Lösung zur Reisekostenabrechnung
Link

Podcast-Folge mit Lucas Dohmen zum Thema Ruby

Podcast

Transklusion

Frontendintegration im Web

Blog-Post

dprox – Declarative Reverse Proxy

Reverse proxies don’t have to be a pain when it comes to local development.

Blog-Post

Taking Screenshots of DOM Elements

Blog-Post

Enforce strong passwords!

Frequent leaks of large user databases highlight how important it is to enforce strong passwords. Let’s discuss what makes a strong password and why it is a good idea to additionally check it against a dictionary.

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

ROCA-Compliant Table Sorting

Podcast

Entwicklung im Feierabendmodus

Wie man neben dem Beruf ein Produkt entwickelt

Artikel

Tooling für JavaScript-Frontends

Nahezu jede Webanwendung besitzt einen Anteil an JavaScript im Frontend. Im Vergleich zu früher haben sich jedoch viele Dinge geändert. So sind heute zahlreiche Tools üblich, die den Entwickler unterstützen. Dieser Artikel gibt einen Überblick über aktuell genutzte Entwicklungswerkzeuge für die Entwicklung von JavaScript-Frontends.

Blog-Post

Marrying Rails, Turbolinks and JavaScript Custom Elements

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

Link

UI Engineering Podcast, S01E06, Interview mit Falk Hoppe

Blog-Post

Progressive Web Components

This is a write-up of the “Progressive Web Components” presentation at GOTO Berlin.

Blog-Post

The perils of shared code

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.

Artikel

Web Components mit Polymer

Wie im ersten Teil dieses Artikels bereits angekündigt wurde, beschäftigt sich dieser zweite Teil mit der technischen Anwendung von Polymer 1.0. Wo der erste Teil die Spezifikation und den Einsatz der Technologie aus einer Vogel-Perspektive zeigt, werden wir hier die konkreten APIs vorstellen.

Artikel

Nachhaltige Webarchitekturen

Warum REST und SPAs nicht immer die Lösung sind

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?

Artikel

Web Components mit Polymer

Die vom W3C standardisierten Web Components erleichtern die komponentenbasierte Entwicklung von Benutzungsoberflächen für Webanwendungen. 2013 hat Google die Open-Source-Bibliothek Polymer initiiert, die Entwicklern beim Einsatz von Web Components Unterstützung an die Hand gibt. Mit der Vorstellung von Version 1.0 dieses Frameworks stellt sich die Frage, ob Polymer nun produktionsreif ist und in realen Projekte eingesetzt werden kann. Im ersten Teil der Serie stellen wir die Version 1.x vor und prüfen die Möglichkeit der Nutzung für Geschäftsanwendungen.

Blog-Post

Solving the wrong problems

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

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

Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

Blog-Post

Kriterien zur Bewertung von ROCA Komponenten

Link

JAX TV: Technologie-Trends jenseits von Java

Link

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

Blog-Post

Play 2.4 with Guice and MyBatis

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!

News

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

Link

Microservices: Smaller Is Better?

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.

Artikel

Bessere Web-Apps mit HTML5-APIs

Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

Blog-Post

Declarative HTTP API Testing with gabbi

Artikel

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.

Artikel

Apache Cassandra

Bei Cassandra handelt es sich um eine spaltenorientierte Datenbank, die auf die Verteilung von Daten in großen Umgebungen zugeschnitten ist. Die Konzepte von Cassandra ähneln zwar relationalen Konzepten, unterscheiden sich aber dennoch. Tabelle 1 stellt die Cassandra-Konzepte ihren relationalen Pendants gegenüber:

Artikel

Rails gegen Grails

Webframeworks für JVM-Sprachen

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

Paket Management hat sich in so ziemlich jedem populären Ökosystem der Softwareentwicklung in irgendeiner Form breit gemacht. Und das nicht zu Unrecht: In den seltensten Fällen wird in einem Software-Projekt bei null angefangen. Ob Frameworks oder kleinere Bibliotheken, ein Software-Projekt besteht in der Regel aus vielen einzelnen Bausteinen, die zu einem größeren Ganzen zusammen gesetzt werden. Die Abhängigkeiten von Bausteinen zu Anderen lassen sich bis zu einem bestimmten Grad zwar manuell verwalten, mit zunehmender Größe eines Projekts ist dies auf lange Sicht aber weder praktikabel noch wartbar. Genau an dieser Stelle helfen Dependency-Management Tools dabei Bausteine neu hinzuzufügen, bestehende zu aktualisieren oder deren Abhängigkeiten aufzulösen.

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

Artikel

ROCA: Keine Angst vor HTML und JavaScript

ROCA ist ein Architekturstil zur Entwicklung anständiger und zukunftsfähiger Web-Frontends. Er umfasst eine Reihe von Empfehlungen sowohl für die Client- als auch für die Serverseite. Der ROCA-Stil erfordert von vielen Java-Entwicklern ein gewisses Umdenken. Grund genug, sich den Stil genauer anzuschauen.

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

Artikel

Im Web zu Hause

ROCA – Modell für die native Webentwicklung

Artikel

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.

Artikel

Webanwendungen mit dem Play!-Framework

Das Play!-Framework ist ein recht junges, vollständiges MVC-Framework, das den Charme von Ruby on Rails hat. Aber anstatt unreflektiert jede Entwurfsentscheidung von Rails ins Play!-Framework zu übernehmen - wie das manch andere Rails-Klone gemacht haben -, haben die Entwickler darauf geachtet, es so zu konstruieren, dass es sich gut in das Ökosystem eines typischen Java-Entwicklers einfügt.

Artikel

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

Sie haben die Wahl!

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