Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Empfohlen in Code

Weitere Kategorien

Blog Beiträge

I'm a coder - PHP

event Erstellt am Sa. 14.10.17 - 16:13 Uhr von Boehrsi
I'm a coder - PHP Image I'm a coder - PHP Image

Wie der Titel schon sagt geht es heute um PHP. Eine meiner frühen Sprachen, welche ich aktuell noch für Kundenprojekte einsetze und privat im Blog nutze. Begonnen hat alles mit besagtem Blog und Anfang 2008 weitete ich meine PHP Nutzung auf selbständige Kundenprojekte aus. In diesem Rahmen brachte ich mir die Sprache quasi komplett selbst bei. Anders als bei meinem vorherigen Beitrag zum Thema Java. Dies führt natürlich zu einer anderen Herangehensweise, was das Erlernen und das Einsetzen der Sprache angeht. Ich habe viel mit PHP geschrieben, vor allem um 2010 herum. Der Blog, Kundenprojekte, Clan-Websites und diverse andere Dinge setzte ich um und PHP macht mir durchaus Spaß. Ich setzte meistens weniger auf die objektorientierten Komponenten, da PHP für mich meistens lediglich den Datenbank <-> PHP <-> HTML Flow abdeckte und somit nur Mittel zum Zweck war. Gerade bei komplexeren Dingen war Objektorientierung aber durchaus ein Thema. Innerhalb der letzten fünf Jahre wurde es immer ruhiger was PHP angeht, lediglich der große Backend Rewrite meines Blogs und wenige große Kundenprojekte wurden noch mit PHP umgesetzt. Der Blog ist aktuell im Umbau und wird dann zum Großteil ebenfalls auf PHP verzichten. Denn durch Java und vor allem meinen Fokus auf Android, haben sich meine Prioritäten hier stark geändert. PHP ist meiner Meinung nach weiterhin sinnvoll für verschiedene Bereiche, allerdings bin ich in selbigen nicht mehr wirklich unterwegs. Somit vermute ich, dass bis auf einige Ausnahmen PHP zumindest bei mir aussterben wird. Wie sieht das bei euch aus, nutzt ihr PHP noch?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - Umstellung des Formats

event Erstellt am Mi. 04.10.17 - 23:01 Uhr von Boehrsi
I'm a coder - Umstellung des Formats Image I'm a coder - Umstellung des Formats Image

Meine I'm a coder News erfreuen sich recht großer Beliebtheit im Blog, nur komme ich leider mit den Themen nicht hinterher. Ich bin mittlerweile 10 Wochen hinter dem Zeitplan. Bis dato habe ich versucht einfach aufzufüllen, doch leider schaffe ich es nicht die geplante Anzahl an News zu schreiben. Deswegen ändere ich mein Vorgehen ab jetzt etwas. Von nun an versuche ich weiterhin möglichst oft zu schreiben, allerdings nicht mehr gebunden an irgendwelche Kalenderwochen. Dementsprechend ändert sich auch der Aufbau des Titels ein wenig, denn ich versuche ab jetzt das Thema des Beitrags dort direkt mit zu erfassen. Aber das sollte generell egal sein, denn ihr findet weiterhin alle Beiträge in der entsprechenden Newssammlung. Die Umstellung bedeutet im Umkehrschluss natürlich auch, falls Themen und Zeit vorhanden sind, dass mehrere Beiträge pro Woche möglich sind.

Teil der Sammlung
Bildquelle: boehrsi.de

IntelliJ Idea - Meine Einsatzbereiche - Spiele Entwicklung

event Erstellt am Do. 21.09.17 - 12:07 Uhr von Boehrsi
IntelliJ Idea - Meine Einsatzbereiche - Spiele Entwicklung Image IntelliJ Idea - Meine Einsatzbereiche - Spiele Entwicklung Image

Bis jetzt habe ich im Rahmen dieser Sammlung über meine Eclipse Projekte gesprochen, doch nun schwenke ich zu meinen IntelliJ Idea Einsatzbereichen. Denn selbiges gefällt mir, aufgrund meiner Nähe zu Android Studio, extrem gut. Wie bereits erwähnt, plante ich eigentlich alles auf dieser Basis aufzusetzen, doch leider bietet IntelliJ Idea nicht die Vielseitigkeit eines Eclipse. Dies ist der Grund warum ich weiterhin beide IDEs einsetze. Doch nun zum konkreten Thema, im Java Bereich entwickle ich von Zeit zu Zeit kleinere Spiele für z.B den Ludum Dare. Diese sind meist schlicht und basieren auf Java + Libraries wie z.B. LibGDX und Box2d. Gebaut werden die Projekte dann z.B. mit Gradle. Bis vor einigen Monaten nutzte ich hierfür Eclipse, doch der Wechsel zu IntelliJ Idea funktionierte gut. Vor allem die gute Gradle Integration war hilfreich und natürlich die allgemein bessere Performance. Aktuell bin ich kurz davor eine kleine Library für das besagte Setup fertigzustellen, welche es ermöglicht Maps aus dem Tiled Map Editor mit LibGDX und Box2d zu nutzen. Dieses Projekt setze ich ebenfalls in IntelliJ Idea um und teste es auch dort.

Teil der Sammlung
Related Links
Bildquelle: boehrsi.de

I'm a coder - KW 29

event Erstellt am So. 10.09.17 - 23:07 Uhr von Boehrsi
I'm a coder - KW 29 Image I'm a coder - KW 29 Image

Das Rad neu erfinden, ist heute Thema meiner I'm a Coder News. Denn auch wenn man selbiges eigentlich nicht tun sollte und auch nicht will, so passiert es trotzdem häufiger als man denkt. Manchmal einfach aus dem Entwickler-Flow heraus und manchmal da man bestimmte Dinge auch einfach nicht kennt. Denn für vieles gibt es gute und mächtige Libraries, doch man kann niemals alle von ihnen kennen. Aus diesem Grund sollte man vor Grundsatzentscheidungen bei Implementierungen, sich erst einmal schlau machen ob nicht vielleicht stabile und gute Bibliotheken vorhanden sind. Auf der anderen Seite bin ich der Meinung, dass wenn man selber guten Code schreiben kann, ist auch dies nicht verwerflich. Eine Ausnahme ist hier meistens Code der auf Sicherheitsfunktionen bezogen ist, denn hier sollte man sich immer an die Standards halten. Tut man dies nicht, kann dies zu großen Problemen führen. Auch wenn selbiges ebenfalls bei etablierten Implementation passieren kann, ist dort zumindest das Risiko meistens geringer. Ich selber erwische mich von Zeit zu Zeit dabei die genannten Tipps selbst nicht zu beachten, versuche aber mich zu bessern. Vor allem wenn man seinen eigenen alten Code verwendet, ohne ihn noch einmal einem Review zu unterziehen, kann man sich gut selbst in die Falle manövrieren. Also immer über den Tellerrand schauen, seine eigenen Code-Snippets nicht als fehlerfrei ansehen und den guten alten gesunden Menschenverstand auch beim Programmieren nutzen, dann ist man auf einem guten Weg.

Teil der Sammlung
Bildquelle: boehrsi.de

Droidcon 2017

event Erstellt am Fr. 01.09.17 - 10:00 Uhr von Boehrsi
Droidcon 2017 Image Droidcon 2017 Image

Die Droidcon steht vor der Tür (03.-05. September) und ich bin leider nicht dabei. Aus persönlichen Gründen bin ich zeitlich sehr eingespannt und habe leider keinen Platz für einen Droidcon Besuch. Lust hätte ich allemal, vor allem weil die Talks durchaus interessant klingen. Einiges zu Kotlin ist natürlich dabei, doch auch Themen wie Android Instant Apps, Android Things und aktuelle Tools und Libraries werden abgedeckt. Themen wie Sicherheit und optimierte UI sind ebenfalls mit jeweils mehreren Talks vertreten. Für mich persönlich sehr interessant wäre die WebView Session, da ich mit dieser durchaus spezielle Erfahrungen machen durfte. Man könnte es eine Hass-Liebe nennen. Viele relativ bekannte Gesichter der Android Szene sind auf der Droidcon zu finden, doch auch viele neue sind vor Ort. Sehr gut finde ich, dass dieses Mal die Talks mit einem Skill-Level gekennzeichnet sind, selbiges hatte ich letztes Jahr nicht entdecken können. Denn je nach eigenem Erfahrungslevel in Bezug auf Android, können Talks natürlich mehr oder weniger Früchte tragen. Die Keynote Themen lauten dieses Jahr "Designing for Trust: User Experience + Privacy" (Ame Elliott) und "How to be an Android Expert" (Chiu-Ki Chan). Falls ihr, ebenso wie meine Wenigkeit, ebenfalls keine Zeit für die Droidcon habt, keine Sorge die meisten Talks werden vermutlich wieder online verfügbar sein. Interessiert euch die Droidcon oder seid ihr sogar vor Ort?

Related Links
Bildquelle: droidcon.de

Kotlin für Android - Nutzen oder nicht

event Erstellt am Sa. 26.08.17 - 10:54 Uhr von Boehrsi
Kotlin für Android - Nutzen oder nicht Image Kotlin für Android - Nutzen oder nicht Image

Eine Plattform entwickelt sich über die Jahre weiter, ebenso ist es auch mit Android. Doch die Entwicklung eine komplett neue Programmiersprache zu unterstützen, ist nicht gerade alltäglich. Selbiges ist nun aber der Fall mit Kotlin. Kotlin wird von JetBrains entwickelt, also den Jungs und Mädels die auch hinter IntelliJ und Android Studio stehen. Kotlin hat eine andere Syntax-Struktur und soll dadurch die Anzahl an benötigten Codezeilen reduzieren. Zusätzlich werden einem quasi alle Null-Checks abgenommen und es soll eine volle Kompatibilität zu bestehende Java Bibliotheken geben. Obendrauf unterstützen bereits diverse Tools, wie natürlich IntelliJ und Android Studio, aber auch Eclipse mit einem Plugin die neue Sprache. Neben den ganzen Vorteilen hat man natürlich eine neue Sprache die gelernt werden muss. Auch wenn große Ähnlichkeiten zu Java bestehen, so ist die Syntax anders, Konzepte wurde modernisiert und auch sonst muss man öfters umdenken. Aktuell stehe ich sowohl privat, wie auch im beruflichen Alltag, vor der Frage ob ich mir Kotlin näher anschauen soll. Lust hätte ich auf jeden Fall, denn neue Dinge interessieren mich immer. Ein gewisses Maß an Erfahrung und dementsprechend auch Professionalität zu verlieren, da man nicht mehr in seinem gewohnten Umfeld entwickelt, hält mich aktuell aber noch davon ab. Zusätzlich hat man gerade im beruflichen Umfeld das Problem, dass wenn ein Projekt mit Kotlin gestartet wird, alle im Team diese Sprache zumindest verstehen müssen. Mir ist bewusst das man Java und Kotlin mischen kann und auch das es Konvertierungsmöglichkeiten gibt. Ersteres sorgt meiner Meinung nach aber für ordentlich unübersichtlichen Code und letzteres hat einfach noch nie gut funktioniert. Automatische Code-Konvertierung von Menschen-lesbaren-Code zurück zu eben solchem, in einer anderen Sprache, finde ich gruselig und aktuell vertraue ich diesen Funktionen noch nicht. Zusätzlich habe ich bei hochkomplexen Bibliotheken, wie z.B. RxJava oder Dagger bedenken, ob wirklich alles mit Kotlin funktioniert wie gehofft. Da ich all dies nur erfahren werde wenn ich es selber teste, werde ich dies tun, aber ich denke ich warte noch ein wenig ab bis ich wirklich aktiv werde. Vielleicht habe ich ja bald ein kleines neues Android Projekt, welches ich entsprechend von Grund auf hochziehen kann. Wie sieht es bei euch aus, habt ihr schon einmal Kotlin genutzt oder habt ihr es vor?

Related Links
Bildquelle: kotlinlang.org

I'm a coder - KW 28

event Erstellt am Mo. 21.08.17 - 10:00 Uhr von Boehrsi
I'm a coder - KW 28 Image I'm a coder - KW 28 Image

Heute gibt es mal wieder eine I'm a Coder News. Das Thema ist simpel, nämlich der Wechsel zwischen verschiedenen Programmiersprachen nach längerer Zeit. Zum einen ist dies interessant und bringt Abwechslung in den Entwickleralltag. Auf der anderen Seite ist es manchmal dermaßen verwirrend, dass man ausflippen könnte. Mein aktuelles Beispiel ist Java und PHP. Ich schreibe viel Code in Java und bin dementsprechend sehr an die Eigenheiten gewöhnt. Seit einiger Zeit habe ich aber mal wieder mehr Berührungen mit PHP und dies war am Anfang wirklich wieder eine große Umstellung. Stichwort ist hier die Syntax, so versuchte ich in PHP Klassen Methoden mit "Objekt.Methode" aufzurufen und habe sage und schreibe 10 Minuten gebraucht, um zu verstehen das "Objekt->Methode" vielleicht sinnvoller wäre. Dinge die mir seit Jahren geläufig sind, haben sich in meinem Kopf teilweise vermischt und vor allem auch Dinge wie "public, private und protected" und die entsprechenden Unterschiede in Java und PHP, haben mir zu schaffen gemacht. Man kommt schnell wieder rein, es ist etwas wir Fahrrad fahren, aber ein paar Mal legt man sich schon hin. Alles in allem läuft es bei mir wieder rund mit beiden Sprachen, aber mir zeigt dies etwas. Entweder man sollte kontinuierlich Sprachen immer mal wieder nutzen oder sie komplett und endgültig verwerfen. Wirklich lange Pausen sind nicht zielführend und eher verwirrend. Was sagt ihr zum Thema und hattet ihr bereits ähnliches Problematiken?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 27

event Erstellt am Mo. 14.08.17 - 10:00 Uhr von Boehrsi
I'm a coder - KW 27 Image I'm a coder - KW 27 Image

Ich programmiere gerne und dabei möchte ich halbwegs vielseitig sein. Allerdings ist es natürlich nicht ganz so einfach, einen Mittelweg zwischen großer Vielseitigkeit und dem wirklichen Beherrschen einer Programmiersprache zu finden. Deswegen werde ich in den nächsten I'm a Coder Beiträgen etwas auf die Sprachen eingehen, die ich mir zumindest teilweise angeeignet habe und erklären warum ich dies tat. Dabei werden einige Erklärung sinnvoll und andere eher trivial sein, denn gerade meine ersten Sprachen waren eher zufällig gewählt. Heute fange ich direkt mit Java an, allerdings mit dem initialen Einstieg und z.B. nicht mit meiner Android-Entwicklung, denn dies lernte ich gezwungenermaßen in der Schule.

Weiterlesen…

Teil der Sammlung
Bildquelle: boehrsi.de

Android App Entwicklung - Der Fluch und Segen der System-Anpassbarkeit

event Erstellt am Sa. 12.08.17 - 11:47 Uhr von Boehrsi
Android App Entwicklung - Der Fluch und Segen der System-Anpassbarkeit Image Android App Entwicklung - Der Fluch und Segen der System-Anpassbarkeit Image

Ich mag Android und seine Offenheit sehr, doch bekanntlich gibt es durch Fragmentierung und andere Dinge auch Probleme im Ökosystem. So kommen Updates nicht immer beim Endnutzer an und versiertere Nutzer freuen sich deswegen über das Vorhandensein der einen oder anderen Custom Rom. Dies finde ich gut und nutze es für ältere Geräte auch selber, nur leider gibt es auch Probleme in diesem Bereich. So hat man hier manchmal nicht die Qualität eines puren Androids, wobei dies natürlich hochgradig von den Entwicklern abhängig ist und sehr viele Custom Rom extrem gut sind. Das Hauptproblem bei Custom Roms sehe ich in getroffen Entscheidungen bezüglich der Abweichung bei der Unterstützung von System-Funktionen, der selbständigen Entfernung von veralteten Methoden die im Stock Android noch vorhanden sind und generell in Abweichung vom eigentlichen Stock Android, die Entwickler zu spezifischen Anpassungen zwingen.

Weiterlesen…

I'm a coder - KW 26

event Erstellt am Do. 03.08.17 - 22:48 Uhr von Boehrsi
I'm a coder - KW 26 Image I'm a coder - KW 26 Image

Es ist mal wieder Zeit für eine kleine I’m a Coder News. Heute möchte ich ein wenig über die Möglichkeiten sprechen wie man seine Objekte verwaltet, wenn diese mehrere Repräsentationen haben können. Damit meine ich z.B. eine Datenbank-Version, ein POJO und eine JSON Repräsentation. Solche Dinge geschehen wenn man Server Interaktionen und innerhalb z.B. einer Android App eine Persistenz implementiert. Denn man erhält Daten vom Server, wandelt diese in Java Objekte um, arbeitet mit diesen und später speichert man sie für die persistente Nutzung. Dabei nutzt man meistens Libraries, um den Overhead zu reduzieren. Nun stellt sich die Frage ob man ein Java Objekt für all diese Zustände (z.B. Incoming Server Object, Model, Database Object) hat, dieses entsprechend mehr oder weniger befüllt und die Daten zentralisiert konvertiert. Alternativ kann man für jeden Zustand ein Java-Objekt bauen und diese unabhängig voneinander befüllen lassen. Im letzteren Fall wird dann meistens via Factories oder ähnlichem die Konvertierung in die anderen Objekttypen durchgeführt. Während die erste Lösung den Vorteil hat weniger Objekte zu haben und zentrale Stellen für die Verwaltung bereitstellt, bietet die zweite Lösung immer eine adäquate Darstellung, man weiß auf welcher Ebene man arbeitet und man spart unter Umständen Speicher. Ich finde beides ist durchaus vertretbar und hängt stark von der Situation ab. So würde ich bei kleineren Projekten, die vielleicht auch nicht mit sehr großen Datenmengen auf einmal arbeiten müssen, zur ersten Lösung tendieren. Sobald man aber wirklich unterschiedliche Daten erhält und z.B. Integers vom Server und Booleans in der Datenbank auf ein Level bringen muss, würde ich eher Richtung Lösung zwei gehen. Sobald man dann noch sehr große Mengen von Objekten hat, würde ich die zweite Lösung noch stärker bevorzugen. Da man immer nur die Art von Objekt, mit den minimal nötigen Inhalten, zur Verfügung stellt und unnötigen Overhead vermeidet. Doch das ist nur meine persönliche Meinung und ist wie gesagt sehr stark von der Situation abhängig. Hatte ihr schon einmal derartige Entscheidungen zu treffen und wenn ja, wie fielen diese aus?

Teil der Sammlung
Bildquelle: boehrsi.de