Softwareentwicklung: Unsere Tipps + Tools

Softwareentwicklung in Cuxhaven

Ein Blick hinter die Kulissen

Du suchst noch ein network in deiner Nähe, um dich technisch und kreativ auszutauschen, interessierst dich für ein Praktikum oder möchtest einfach mal schauen wie andere Entwickler so ticken? Wir geben einen kleinen Einblick in unsere Arbeitsweise und viel mehr in die von uns verwendeten Technologien. Das ist vor allem für diejenigen interessant, die selber designen oder Software-Entwicklung betreiben.

Arbeitsplatz

Jeder richtet sich bei uns seinen Arbeitsplatz ganz nach seinen WÜnschen ein, jeder soll mit dem arbeiten mit dem er gut arbeiten kann. Es kann aber hilfreich sein, sich auf eine gemeinsame Basis zu einigen, daher möchte ich dir auch vorstellen was wir selbst verwenden.

Betriebssystem

Unsere Entwickler bevorzugen Ubuntu Linux als Betriebssystem, wir sind aber auch offen gegenüber anderen Betriebssystemen wie Microsoft Windows oder Apple macOS. Du kannst das Betriebsystem nutzen mit dem du am besten zurecht kommst, da wollen wir dir keine Steine in den Weg legen. Selbst im Einsatz haben wir bei uns alle drei Betriebssysteme.

Kreativprogramme

Unsere Designer bevorzugen die Adobe Creative Cloud zum arbeiten, aber auch Affinity Designer, Inkscape, Gimp und Synfig Studio kommen bei uns zum Einsatz. Wir würden gerne erfahren, welche Programme du bevorzugst.

Code-Editor

Unsere Entwickler bevorzugen Visual Studio Code, haben in der Vergangenheit aber auch gerne Sublime Text verwendet. Natürlich kannst du hier den Editor nutzen, in dem du am besten eingespielt bist.

Softwareentwicklung

Bei der Softwareentwicklung haben wir alle einen mehr oder weniger langen Prozess hinter uns. Dabei haben wir mit der Zeit festgestellt welche Arbeitsweisen sich bewähren und mit welchen Sprachen und Frameworks wir am produktivsten sind.

Programmiersprachen

Als Programmiersprachen nutzen wir JavaScript, TypeScript und PHP. Momentan schreiben wir viel internen JavaScript-Code in TypeScript um, um Fehler die leicht durch JavaScript entstehen besser im Voraus abfangen zu können und um im Client sowie auf der Server-Anwendung die gleiche Programmiersprache verwenden zu können.
TypeScript hat sich deshalb bei uns bewährt, da wir damit die Möglichkeit haben eine moderne Programmiersprache mit modernen Features zu nutzen und das Serseitig (Backend-Entwicklung) und Clientseitig (Frontend-Entwicklung). Da TypeScript selbst zu JavaScript kompiliert wird und JavaScript danke Node.js nicht nur im Browser sondern auch auf dem Server eingesetzt werden kann, brauchen wir nicht zwischen unterschiedlichen Sprachen hin und her wechseln.
Übrigents können mit TypeScript / JavaScript auch Desktop-Anwendungen entwickelt werden, dazu eignet sich das Framework Electron.

CMS und Shopsysteme

Für Websites kommt bei uns das OctoberCMS zum Einsatz, OctoberCMS ist in PHP7 entwickelt worden und nutzt dabei die aktuelle version des Laravel PHP Frameworks. Damit setzt OctoberCMS auf modernste Technologien. Außerdem bietet es ein stabiles Plugin-Interface, einen Marktplace für Plugins und Themes und ist in seiner Grundausstattung sehr schlank. Zusatzfunktionen werden ausschließlich durch Plugins hinzugefügt. So können wir das System ganz nach dem Bedarf unserer Kunden ausrichten.

Bei Onlineshops bevorzugen wir Shopify (Affiliate Link), Shopify ist cloudbasiert, in Stabilität einfach ungeschlagen (keine breaking changes bei Updates) und bietet zudem nahezu unendlich viele Möglichkeiten bei der Entwicklung eigener Themes. So können wir mit Shopify von einem absolut stabilen Shopsystem profitieren und uns auf die Entwicklung wunderbarer Themes konzentrieren.

Frontend-Entwicklung

Unter Frontend-Entwicklung versteht man die Clientseitige Entwicklung, also den Teil der Anwendung der im Browser ausgeführt wird und für die Darstellung und das Verhalten der Webseite oder Webanwendung zuständig ist.

Bei uns gibt es mittlerweile schon fast einen fließenden Übergang zwischen Websites und Progressive Web Apps. So laden die meisten unserer Websites bereits nur einen Teil der Inhalte neu, statt jedesmal die gesamte Seite neu laden zu müssen. Dabei kommt bei uns für Themes Barba.js, Rivets und Bootstrap 4 zum Einsatz. Bei vollwertigen Webanwendungen kommt hingegen Angular ab Version 2 zum Einsatz, gerne auch im Material Design.

Backend-Entwicklung

Mit Backend-Entwicklung ist die Entwicklung von Serverseitigen Anwendungen gemeint, womit die Daten der Clientseitigen Anwendung an den Browser weitergegeben werden oder Datenanfragen z.B. an eine Datenbank verarbeitet und zurück an die Clientanwendung gegeben werden.

Die Entwicklung von Apps erfordert die Entwicklung eigener Server-Anwendung. Diese entwickeln wir in TypeScript mit Node.js. Als Framework kommt dabei Koa zum Einsatz. Wenn die Server-Anwendung hochskalierbar sein soll, verwenden wir die Infrastruktur der Google App Engine und Cloud Firestore.

Testgetriebene Entwicklung

Um die Fehlerrate im Programmcode möglichst klein zu halten betreiben wir bei größeren Projekten sog. testgetriebene Entwicklung. Dabei verwenden wir auf Server-Anwendungen Mocha und Chai oder die mitgelieferten Frameworks von Angular.

Schlusstext

Wir versuchen stets neue Plattformen, Tools, Programme, Sprachen, Libraries und Frameworks auszuprobieren und gelegentlich steigen wir auch auf anderes um. Es ist uns wichtig, dass wir stets auf dem aktuellen Stand der Technik sind und soweit wie möglich über den Tellerrand hinaus schauen. Die obigen Informationen können also heute schon wieder anders aussehen.

Jetzt hast du einen kleinen Einblick in unsere Arbeitsweise, ganz egal ob du aus Cuxhaven kommst oder nicht, wir freuen uns auf Austausch und auf frischen Wind durch dich und gerne auch auf Infos über dein bevorzugtes Arbeitsmaterial - Trau dich ruhig uns zu kontaktieren, wir beißen nicht ;)