Web Software Entwicklung

Wir bauen massgeschneiderte Web Software für ihre digitale Zukunft.

Deep Impact betreibt leidenschaftlich Web Development. Unsere Mission ist es, hervorragende Entwicklungs-Qualität für unsere Accelerator-Projekte zu liefern. Unser Technologie-Stack ist mit ein Grund, warum Firmen ihre digitalen Innovations-Projekte an uns auslagern. Wir entwickeln ausschliesslich in der Schweiz und rekrutieren die besten Entwickler-Talente für Front End und Back End aus der ganzen Welt. Das internationale Entwickler-Team besteht heute bereits aus mehr als 15 Nationalitäten.


Web Development und Web Software Entwicklung mit einem Team aus internationalen Entwicklern.

Web-Software Development auf hohem Niveau

Deep Impact denken intensiv über die Probleme nach und bauen anschliessend die bestmögliche und effizienteste Lösung. So entwickeln wir Web Software, die realen Bedürfnisse der Kunden und Benutzer optimal abdecken. Unser Web Development Team hat breite Erfahrung mit Front End und Back End Technologien.

Partnership-Entwicklung

In unseren Accelerator-Projekten integrieren wir auch Ihre Entwickler-Ressourcen. Gemeinsam wird der neue Technologie-Stack aufgebaut und das Know-How durch Deep Impact weitergegeben. Dadurch können Firmen später die Plattformen selber unterhalten und weiterentwickeln.

Web Technologien

Wir forschen und integrieren in unsere Produkte Artificial Intelligence. Im Back End stützen wir uns auf NoSQL und Graph Datenbanken ab und setzen Clojure als unsere bevorzugte Sprache ein. Im FrontEnd setzen wir auf React.

Frontend Technologien

Wir setzen auf moderne IT-Konzepten auch im Frontend. Mit HTML5 und den modernen JavaScript-Frameworken wie React oder Angular sind die Anforderungen an ein effizientes und performante Webapplikation gestiegen.

Backend Technologien

Im Backend setzen wir auf Clojure und hauptsächlich NoSQL Datenbanken. Unsere Applikationen laufen hauptsächlich auf Cloud-Services und sind skalierbar.

CQRS, Domain Driven Design und mehr

Wir sind und bleiben neugierig. Wir experimentieren mit neuen Technologien und setzen auf moderne Ansätze wie CQRS oder Domain Driven Design. Wir holen stets das Optimum aus der Web Technologie heraus. Unsere Web Development Skills sind auf hohem Niveau.

Stabilität

Wir verwenden erfolgreiche und erprobte Technologien, am liebsten moderne Open-Source-Programme. Wir denken die Systemarchitektur gründlich durch und gliedern die Inhalte möglichst modular (separation of concerns). Wir testen über die gesamte Projektphase und eliminieren so laufend Fehler. Wir gehen mit kleinen Änderungen häufig live. Dies hat drei Vorteile: Erstens muss weniger getestet werden, zweitens sind bei Fixes die Änderungen noch präsent in den Köpfen, und drittens sind häufige Deployments sicherer, da geübter.

Web Entwicklung für gute Performance und Stabilität, sowie Flexibilität

Performance

Wir achten auf durchdachten Code, der für gleich viel Funktionalität weniger macht. Wir kennen uns mit Architekturen aus, welche die Performance begünstigen (Bsp. CQRS). Wir setzen auch Caches welche komplexe Serverantworten zwischenspeichern. Mit Datenkompression, Bildoptimierung und Sprites reduzieren wir die Serveranfragen sowie die Datenmenge und verbessern die Performance. Inhalte werden asynchron und möglichst gezielt geladen. So übertragen wir nur die wirklich notwendigen Daten.

Sicherheit

Wir legen höchsten Wert auf die Sicherheit Ihrer Daten und verwenden dazu viele Strategien, Technologien und Massnahmen gleichzeitig: Wir verschlüsseln mit HTTPS und beachten bekannte Sicherheitsempfehlungen wie die OWASP Top 10. Für den Ernstfall setzen wir ein Tooling ein, das Angriffe auf das System genau protokolliert und meldet, ohne dass es die Performance stark beeinträchtigt (Logging und Monitoring).

Flexibilität

Damit Software langlebig ist, muss man sie laufend warten und stetig weiterentwickeln. Wir wollen nur Software entwickeln, die sich möglichst flexibel anpassen lässt. Der wichtigste Grundsatz ist hier die Software einfach zu halten. Wir achten aber auch darauf, die verschiedenen Bereiche einer Applikation sinnig aufzutrennen, so dass die Bereiche möglichst unabhängig voneinander weiterentwickelt und gewartet werden können.