Sie sagen es, wir coden es!

Die Kunst, Website-Nutzern das zu geben, wonach sie suchen

Wenn man eine bestimmte Frage zu einem Unternehmen hat, führt der erste Weg auf dessen Website. Wenn man dort jedoch statt einer Antwort nur riesige Textblöcke findet, die unübersichtlich gestaltet sind, schreckt das den Nutzer oft ab.

Der klassische Ansatz wird modernen Ansprüchen nicht mehr gerecht

Eine Website, die dem Nutzer eine große Menge an Daten und Informationen vermitteln will, wurde seit jeher in Baumstrukturen aufgebaut. Je größer und vielfältiger die Thematik ist, desto eher neigen Unternehmen dazu, diese Struktur immer breiter und verzweigter aufzubauen. Soweit, bis sich der Nutzer in diesem Gestrüpp aus Abzweigungen komplett verliert.

So wird auf einer Webseite die Navigation zum Inhaltsverzeichnis und die Seite an sich zum Sachbuch. Das macht sie für den User unverständlich und erschwert ihm die Nutzung. Die Folge: der Besucher findet erst nach längerer Suche eine Antwort auf seine Frage, wegen welcher er die Seite aufgesucht hat. Die riesigen Texte auf unzähligen Seiten sorgen für eine unangenehme Erfahrung, die meist zeitaufwendig ist.

Sobald der Nutzer realisiert, dass die Website nicht seinen Zeit-Ansprüchen entspricht, neigt dieser schnell dazu, sie zu verlassen. Viele versuchen dies daher zu umgehen und Platz zu sparen, indem sie auf Seiten verweisen, auf denen ihre Inhalte ausführlicher und detaillierter dargestellt werden. Mit dieser Methode bleiben die Fragen des Nutzers aber meist dennoch offen.

Durch diese Fehler werden Unternehmen auf ihrer Seite nicht nur den Bedürfnissen ihrer User nicht gerecht, sie erfüllen so auch nicht ihre Business-Ziele. Man muss anfangen, Webseiten als Tools zu verwenden, die sich an die Situation und Motivation des Nutzers anpassen.

Der Progressive Content Approach

In dem Progressive Content Approach werden die Inhalte dem Nutzer entsprechend seiner Situation und seines Verhaltens angezeigt. Das bedeutet: wenn sich diese ändern, passen sich im Idealfall auch die Content-Bausteine daran an. Man sollte in der Navigation bei anfänglicher Benutzung also nur wenige Ebenen anbieten und die Seiten deutlich effizienter und textärmer gestalten, um den User nicht zu überwältigen. Dafür braucht man stark komprimierte Inhalte, die ein schnelles Verständnis ermöglichen und besser als mit der üblichen Baumstruktur aufzeigen, welche tieferen Informationen sich noch auf der Seite verbergen. So bleibt der Nutzer auf der gleichen Seite, aber erhält, auf übersichtliche Art und Weise, alle Informationen die er benötigt.

Entwickler und Designer müssen außerdem anfangen, die Rolle des Nutzers einzunehmen und von seiner Perspektive aus zu programmieren, um voll zu verstehen, wie die Seite richtig aufgebaut werden muss. Um dies zu machen gibt es zwei Methoden: User Stories und „Jobs to be done“.

Bei den User Stories erstellt man Personas, die einen fiktiven Charakter aus einer realen Zielgruppe darstellen. Für diese definiert man bestimmte Aufgaben, mit denen sie die Website nutzen. Für die Probleme, die man währenddessen bemerkt, werden dann Lösungen formuliert und umgesetzt.

Die Methode „Jobs to be done“ beschäftigt sich mit den Situationen, Motivationen und den damit verbundenen Erwartungen die der User an eine Webpage hat. Mit diesen Job-Stories kann man definieren in welchen Situationen Nutzer welche Antworten suchen. Die Methode ist im Sinne der Kundenzentrierung ein sehr empathischer Ansatz.

In der Informationsarchitektur müssen wieder alle Inhalte betrachtet werden. Diese müssen in Content-Bausteine eingefügt werden, sodass die Architektur nicht mehr als erweiterte Sitemap missbraucht wird, sondern Informationen klar strukturiert überliefert werden können.

Die Aufmerksamkeitsspanne der Nutzer wird immer kleiner und deine Website muss sich dieser anpassen. We {code} it, das junge IT-Unternehmen aus Frankfurt, hilft dir gerne dabei. Mit Hilfe unserer studentischen Coder-Community setzen wir deine digitalem Projekte in-house um. Wir bieten individuelle Software, Webseiten und Webapplikationen, Mobile- und Desktop-Apps, Datenbanksysteme sowie Microsoft-Office Makros und Addins an.

10 Überlebenstipps für Entwickler

Das Leben eines Programmierers ist nicht immer leicht – besonders wenn man gerade erst in die Berufstätigkeit einsteigt. Jede Aufgabe ist anders und benötigt seine eigene Herangehensweise. Oft hängt man stundenlang an kleinen Stellen und findet keine Lösung. Doch es gibt einige Dinge, die, wenn man sie beachtet, dem Programmierer das Leben erleichtern können: unsere 10 Überlebenstipps für Entwickler.

1: Es ist immer zu früh um aufzugeben

Man muss Ausdauer beweisen, wenn man eine neue Programmiersprache oder ein neues Tool erlernen muss und wenn man ein Problem mal nicht lösen kann. Da kann es auch sinnvoll sein, schnell mal 100 Zeilen zu löschen. Das kann es dir erleichtern, einen neuen und meist auch besseren Lösungsansatz zu finden.

2: Google ist dein Freund

Bei Problemen, Fragen oder sogar für ganze Code-Abschnitte kannst du dich jederzeit über Google schlau machen. Dort findest du endlose Hilfeforen und auf Webseiten wie beispielsweise Stackoverflow gibt es eine riesige Community, die dir bei all deinen Fragen helfen kann.

3: Wähle deine Tools mit Bedacht

Nicht jedes Problem erfordert die gleichen Tools, Frameworks oder Programmiersprachen. Also wähle je nach Aufgabenstellung deine Mittel individuell aus und spare dir so einige Nerven und Zeit.

4: Kein Weg ist zu zweit zu weit

Bei Methoden wie dem Pair Programming kannst du unter anderem mit erfahrenen Entwicklern zusammenarbeiten. So arbeitet man effizient und hat die Möglichkeit, von einander zu lernen.

5: Der Teufel steckt im Detail

Auch nur kleine Fehler, die im Namen einer Variable, bei der Nutzung eines Arrays oder beim Aufrufen einer Funktion auftreten, können dafür sorgen, dass nichts mehr funktioniert. Also solltest du immer auf Details achten und selbst bei den kleinsten Entscheidungen nicht fahrlässig sein.

6: Aus Fehlern lernt man

Sie sind nicht unbedingt etwas Negatives. Außerdem: wenn du sie einmal gemacht hast, dann passieren sie dir nicht wieder. So wirst du schnell besser, denn beim Fehler machen lernt man am effektivsten.

7: Vereinfachen!

In einem vereinfachten Programm, dass dasselbe wie ein komplexes Programm tut, findet man Fehler leichter. Daher versuche stets deinen Code zu vereinfachen und vermeide dadurch, Bugs zu übersehen. Auch wenn das in der Entwicklung mehr Arbeit ist, spart man sich am Ende Zeit.

8: Plane voraus

Wenn du einfach direkt anfängst, ohne dir vorher einen Lösungsansatz zu überlegen, dann wirst du einige, eigentlich vermeidbare Fehler machen. Daher mache dir erst einmal Gedanken zum Problem, bevor du mit dem Programmieren loslegst.

9: Die Ursache für 90 % der Fehlermeldungen befindet sich 60 cm vor dem Bildschirm.

Fehlermeldungen wollen dich nicht nur nerven. Sie wollen dir sagen, wo das Problem liegt. Wenn du also lernst, sie zu verstehen, dann findest du schneller heraus, wo der Bug liegt. Dabei helfen dir auch Debugging- Tools und -Ausgaben. Sie sollten dich aber nicht dazu verleiten, faul zu sein und sich nur auf diese zu verlassen!

10: Code testen, bevor du ihn veröffentlichst

Egal ob du ihn an das Qualitätsmanagement weitergibst oder ihn auf Git pushst, du solltest deinen Code immer erst einmal überprüfen und in manchen Fällen auch testen. So sparst du dir einige Bug-Reports, minimierst die Anzahl an unnötigen Pushes und sorgst dafür, dass niemand deine unüberlegten Fehler sieht, die dir bei einer Kontrolle wahrscheinlich direkt aufgefallen wären.

Wir sind stets auf der Suche nach talentierten und motivierten Softwareentwicklern, die unsere Community bereichern. Ihr könnt Teil davon werden, Ideen von Startups und KMU zu verwirklichen und bestehende Prozesse effizienter zu gestalten. Dabei profitiert Ihr von fachlichem Austausch und der Möglichkeit eines flexiblen Nebenverdiensts mit breitem Erfahrungsspektrum.

Neue Programmiersprachen – welche lohnt es sich zu lernen?

In der sich ständig ändernden Welt der IT werden auch immer wieder neue Programmiersprachen veröffentlicht – die Auswahl ist riesig. Dir fällt es schwer, herauszufinden bei welchen es Sinn macht, sie zu lernen? Deswegen stellen wir dir die am stärksten wachsenden einmal vor.

Was haben die beliebtesten Programmiersprachen Deutschlands gemeinsam?

Je mehr man die neuen Sprachen unter die Lupe nimmt, desto stärker fällt auf: es sind Trends zu beobachten. Entwickler haben keine Lust mehr auf Null-Pointer-Exceptions. Programmiersprachen wie Kotlin, Swift und TypeScript sind alle statisch typisiert und legen ihren Fokus auf Typsicherheit. Im Gegensatz zu der dynamischen Typisierung wird bei der statischen der Datentyp bereits bei der Kompilierung festgelegt. So werden Fehler wie Null-Pointer-Exceptions früher erkannt. Obwohl jedes Projekt ausgiebig getestet werden muss, spart man sich damit einige Zeit.

Die alten Sprachen werden zwar noch regelmäßig aktualisiert, aber die Computerwelt hat sich zu sehr gewandelt, als dass sie noch zeitgemäß sein könnten. Es gibt neue Technologien, Möglichkeiten und Anforderungen, an die sich die Sprachen anpassen müssen. Das bedeutet jedoch nicht, dass die ‘Oldies’ wie C++ und Java heute wertlos sind. Sie werden nämlich weiterhin am meisten verwendet. Selbst angehende Entwickler benutzen noch die selben Technologien wie diejenigen, die seit Jahren berufstätig sind.

Neue Programmiersprachen wollen nicht die alten ersetzen, sie arbeiten vielmehr mit ihnen zusammen und versuchen, sie leichter anwendbar zu machen. Ohne eine Interoperabilität mit den Klassikern des 20. Jahrhunderts zu haben, könnte kaum eine neue Sprache Fuß fassen. Beispielsweise TypeScript würde sich einen großen Nachteil verschaffen, wenn man mit ihr nicht auf die ganzen JavaScript-Frameworks und -Libraries zurückgreifen könnte.

Rust

Bis jetzt waren Sprachen wie C und C++ in der Entwicklung von Betriebssystemen und leistungskritischen Anwendungen die Führer. Als neuer Konkurrent kommt jetzt Rust ins Spiel und hat, dadurch, dass es die beliebteste Programmiersprache 2018 ist, auch gute Chancen, um bald vorne mit dabei zu sein. In 2009 begann ein Angestellter von Mozilla sie zu entwickeln. Er wurde später von dem Unternehmen unterstützt und veröffentlichte sie vor circa vier Jahren.

Rust wird zum Maschinencode kompiliert und ermöglicht dadurch den direkten Zugriff auf die Hardware. Gleichzeitig wird aber auch darauf geachtet, dass, wie in Java und C#, Speicherzugriffe nicht zu Sicherheitslücken führen. So füllt sie den Zwischenraum zwischen niederen und höheren Programmiersprachen. Rust eignet sich gut, um parallele und nebenläufige Anwendungen zu entwickeln, da hier ebenfalls keine der oben erwähnten Null-Pointer-Exceptions aufkommen können. Die Ausführungsgeschwindigkeit entspricht der von Softwares, die mit C und C++ programmiert wurden.

Kotlin

Kotlin, die 2016 veröffentlichte Sprache, die die zweitbeliebteste des letzten Jahres war, ist zwar noch recht jung, hat aber viele moderne und vielversprechende Features zu bieten. Ursprünglich wurde sie für die Java Virtual Machine (JVM) entwickelt. Dadurch können die Programme, die in Kotlin geschrieben sind, in Bytecode übersetzt werden, der dann von der JVM gelesen werden kann. Die Sprache kann also ohne Probleme Java-Klassen aufrufen und umgekehrt, sodass man, bereits in Java geschriebene Programme, nach und nach in Kotlin umschreiben kann.

Mittlerweile gilt sie auch als offizielle Android-Sprache. Aktuell ist noch dazu die Ergänzung Kotlin/Native in der Entwicklung, mit der sie dann auch für MacOS, iOS und Windows verwendet werden kann. Die neue Programmiersprache hat eine schlaue Syntax für Lambda Ausdrücke – so wird ein deutlich kürzerer Code als bei Java ermöglicht.

Swift

Der Nachfolger von Objective-C kam 2015 raus und nennt sich Swift. Die Sprache wird hauptsächlich für Apples Betriebssysteme iOS und OS X verwendet und überzeugt durch eine sehr übersichtliche Syntax. Dadurch ist sie auch attraktiv für Anfänger und sogar technisch interessierte Kinder. Apple bemüht sich sehr darum, dass jedem ermöglicht wird, mit der iPad-App ‘Swift Playgrounds’ selbst programmieren zu lernen. Die Entwicklungssprache ist Open Source, was es interessant für viele Developer macht, sich am Fortschritt und den Veränderungen zu beteiligen. Eine Portierung auf den Raspberry Pi hat so schon funktioniert. Die Performance von Swift ist erwiesenermaßen besser als die von Objective-C.

Was Swift noch nicht liefern kann, ist eine Binärschnittstellen-Stabilität mit früheren Versionen der Computersprache. Will man nämlich eine, mit einer älteren Version erstellte App, mit der neusten Version der Sprache weiter programmieren, muss man das Ganze nochmal von vorne anfangen. Das soll sich mit dem Release von Swift 5 ändern.

Fazit

Obwohl die Oldies noch immer die am häufigsten verwendeten Programmiersprachen sind, machen die Neuen ihnen langsam Druck. Die Sprachen wachsen mit hoher Geschwindigkeit, beispielsweise Kotlin hat im vergangenen Jahr seine Nutzerzahl fast verdreifachen können. Die Klassiker des 20. Jahrhunderts sind von der IT-Welt noch nicht wegzudenken und dürfen nicht außer Acht gelassen werden. Wer aber experimentierfreudig ist oder sich eine anwenderfreundlichere Programmierung wünscht, sollte definitiv mal die oben vorgestellten Sprachen genauer unter die Lupe nehmen.

Side-Note: Es kann aber auch sinnvoll sein, ganz veraltete Programmiersprachen zu lernen: einige Firmen verwenden noch so alte Programme, dass es nur wenige Entwickler gibt, die dessen Sprachen überhaupt noch beherrschen. Die NASA sucht beispielsweise aktuell Developer, die Sprachen wie Fortran und Assembler aus den 1970er Jahren beherrschen. Dies ist zwar eine mühsame Tätigkeit, aber so ist man für den Arbeitgeber natürlich unentbehrlich.

Du bist auch interessiert daran, dich in der </CODING>-Welt auszutoben und dein theoretisches Wissen in der Praxis anzuwenden? Wir sind stets auf der Suche nach talentierten und motivierten Softwareentwicklern, die unsere Community bereichern. Ihr könnt Teil davon werden, Ideen von Startups und KMU zu verwirklichen und bestehende Prozesse effizienter zu gestalten. Dabei profitiert Ihr von fachlichem Austausch und der Möglichkeit eines flexiblen Nebenverdiensts mit breitem Erfahrungsspektrum.

Die Angst um das Ende von React bringt alte Bekannte zurück: Angular vs. Vue.js vs. Ember

Python, JavaScript, PHP, Java, C# – die Wahl der richten Programmiersprache und der passenden Frameworks stellt für Entwickler in manchen Augenblicken die Qual der Wahl dar. So gibt es für unterschiedliche Anforderungen und Schwerpunkte bestimmte Sprachen und Programme, die dafür am besten geeignet sind. Nichtsdestotrotz existieren einige Top-Acts, die die Liste anführen. So hat IT-Gigant IBM JavaScript zur besten Erlern-Programmiersprache 2017 gekürt.
Doch auch da ist die Auswahl für Frameworks riesig. Nachdem nun React für manche mehr oder weniger abgehakt werden kann – siehe dazu unseren letzten Blogbeitrag – wollen wir euch nun drei Alternativen dazu vorstellen. Diese lauten Angular, Vue.js und Ember.

Wer sind sie?

Alle drei Frameworks sind clientseitig, basieren auf dem MVVM (Model View ViewModel) Model, werden für das Erstellen von SPAs (Single Page Applications) verwendet und sind (mehr oder weniger) in JavaScript geschrieben. Angular wurde von Google entwickelt und gehört mit seiner Vorgängerversion AngularJS zu den am meisten verwendete JS Framework für SPAs. Angular 2 ist in Typescript geschrieben, das auf JavaScript, Java und C# basiert. Seit Ende März ist Version 4 auf dem Markt. Vue.js ist ein relativ junger Newcomer, der vorgibt, das Beste aus Angular und React herauszuholen. Ember wurde 2015 als das beste JavaScript Framework angepriesen und findet zum Beispiel bei Netflix, Yahoo und LinkedIn Verwendung.

Was können sie?

Bei allen drei Frameworks fällt durch das MVVM die Controller Einheit weg und es wird stattdessen eine Verbindung der Darstellungs- und Logikebene hergestellt. Interaktionen können so schneller und einfacher umgesetzt werden. Angular wird vor allem aufgrund der Einfachheit der Nutzung von den Entwicklern präferiert. Es kann somit mit WordPress’ Konzept verglichen werden – sehr einfach zu verwenden, aber in der technischen Umsetzung nicht so extravagant. Bei Vue.js lag der Fokus darauf ein schnelles und schlankes Frontend Framework zu entwickeln. Ähnlich wie bei React wird hier eine virtuelle DOM Implementierung genutzt, die die Rendering Geschwindigkeit und den Speicherverbrauch laut Entwicklern um bis zu das Vierfache verbessert haben soll. Vue.js lässt ebenso dem Programmierer die Wahl zwischen Templates und JSX/Hyperscript. In Version 2 gibt es zusätzlich eine Redone-Rendering Schicht, die für eine bessere Performance sorgen soll. Ebenso ist das Framework mit der neuen Version auch (besser) auf die Entwicklung von mobilen Apps ausgerichtet. Ember folgt dem DRY Prinzip und ist nach dem Grundsatz data down, actions up aufgebaut. Das Framework nutzt Web Compoments, und will langfristig die Controller und Templates durch diese ersetzen.

Wie gut sind sie?

Angular stellt die beste Option für Unternehmensbasierte Apps und Programmierlandschaften mit hohen Lesbarkeits-Standards dar. Die bessere Wahl für die schnelle Entwicklung von betriebssystemübergreifenden Lösungsansätzen ist jedoch Vue.js. Das Framework punktet zudem durch eine einfache Handhabung. Ember wird demgegenüber vornehmlich für komplexe Webapplikationen und Websites mit vielen Features verwendet. So sind dynamische Apps und Websites bei Ember gut aufgehoben. Es ist das Framework, das einen, wenn man es verstanden hat, dazu befähigen kann, sehr produktiv zu sein. Jedoch heißt dies, dass die Lernkurve auch sehr hoch ist und es somit gleich zu Beginn viel zu lernen gibt.

Fazit

Alle drei Frameworks können zwar als Konkurrenten angesehen werden, jedoch besitzt keines davon einen signifikanten Vorteil gegenüber den anderen. Alle besitzen die gleiche Grundlage – sie sind ein JavaScript Framework. Das bedeutet im Endeffekt mehr Effizienz, Sicherheit und weniger Kosten als ohne Framework. Egal ob durch Angular, Vue.js oder Ember – Programmierarbeiten können zeitsparender und strukturierter umgesetzt werden und haben gleichzeitig bessere Sicherheitsbestimmungen. Zudem sind alle Frameworks Teil einer Open Source Software – und anders als React von Facebook – auch wirklich frei zugänglich.