Boehrsi.de - IT und Gaming Blog

Google I/O - Interessantes für Android Entwickler

Erstellt am event Uhr von account_circle Boehrsi in label Development
Google I/O - Interessantes für Android Entwickler Bild

Die Google I/O ist bereits ein paar Tage vorbei und nun kam ich endlich auch dazu die eine oder andere Session anzuschauen. Im Bezug auf Android möchte ich euch ein paar relevante Videos ans Herz legen. Sofern ihr in den Android Welt unterwegs seid und die Chance habt auf aktuelle Dinge setzen zu können, dürfte die eine oder andere neue Funktionalität sicherlich spannend für euch sein.

Related Links

MIME Types - Welche sind relevant und welche gibt es?

Erstellt am event Uhr von account_circle Boehrsi in label Development
MIME Types - Welche sind relevant und welche gibt es? Bild

MIME Types (Multipurpose Internet Mail Extensions) können Freund und Feind zur selben Zeit sein. Auf der einen Seite sind sie hilfreich beim ermitteln des Typs des Dateiinhaltes, auf der andere Seite sind sie aber auch gerne unzuverlässig oder uneindeutig.
In verschiedenen Situationen kann und sollte man sich mit ihnen auseinanderzusetzen, doch welche MIME Types gibt es überhaupt und welche sind verbreitet genug, dass man sie beachten sollte? Natürlich gibt es auf diese beiden Fragen keinen immer gültigen Antworten, aber zumindest ein paar hilfreiche Tipps möchte ich mit euch teilen.
Wenn es darum geht welche MIME Types relevant und vor allem im Web-Kontext sehr verbreitet sind, stellt Mozilla eine kurze und übersichtliche Liste open_in_new zur Verfügung. Selbige beinhaltet bekannte Audio- / Bild- / Video- und Dokumentenformate, welche man auf dem Schirm haben sollte. Die Liste besteht aus Dateiendungen, der Bezeichnung des Dateityps und dem eigentlichen MIME Type.
Will man sich wesentlich umfangreicher mit diesem Thema beschäftigen, kann man direkt zur IANA gehen. Hier gibt es eine aktuelle und sehr lange Liste von allen standardisierten MIME Types open_in_new. Um das Ganze etwas einfacher zu machen kann man nach Kategorien filtern. Auf diese Weise kann man z.B. relativ schnell alle MIME Types von Bild- und Videoformaten erhalten. Die Liste der IANA gibt es z.B. als CSV Datei zum Download, sodass man sie auch verarbeiten kann.
Auch wenn MIME Types praktisch sind, man sollte bei der Arbeit mit ihnen immer auch auf Fallbacks setzen. Denn manchmal erhält man keine validen Typen und dann möchte man natürlich nicht direkt in einen Fehler laufen.

Related Links

Boehrsi.de Services - Modulare Code-Struktur mit Git

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Modulare Code-Struktur mit Git Bild

Um sowohl ein hohes Maß an Wiederverwendbarkeit, wie auch ein niedriges Level an Komplexität zu erreichen, habe ich mir für meine Boehrsi.de Services eine Kleinigkeit überlegt. Meinen Ansatz zur flexiblen Entwicklung ohne unnötigen Overhead möchte ich im Folgenden mit euch teilen. Dabei geht es um die Datei- und Git-Struktur, denn auf den Code Aufbau werde ich in einem gesonderten Beitrag eingehen.
Wie bereits erwähnt gibt es viele Wege und das Spektrum ist sehr breit, wenn es darum geht ein Setup für Projekte mit mehreren Modulen, bzw. einem gewissen Level an Flexibilität zu erreichen. Um einordnen zu können wo mein Konzept hilfreich sein könnte und wo es an seine Grenzen stößt, gibt es im folgenden meine Anforderungen und die Beschreibung meines eigentlichen Ziels.

Google I/O startet heute

Erstellt am event Uhr von account_circle Boehrsi in label Development
Google I/O startet heute Bild

In nicht einmal einer Stunde ist es soweit und die diesjährige Google I/O öffnet digital ihre Pforten. Es wird wie gewohnt neues zu Google Software, wie z.B. Android und Flutter, geben, aber vermutlich auch Informationen zu neuer Hardware, z.B. in Form von neuen Pixel Geräten.
Ich bin gespannt welche Änderungen es im Android und Flutter Bereich gibt, denn sowohl als Nutzer, wie auch als Entwickler habe ich mit beiden Bereichen täglich zu tun. Als Nutzer bin ich außerdem auf Informationen zu neuen Pixel Geräten gespannt, denn ich überlege aktuell mein etwas betagtes Handy zu erneuern und Pixel Geräte zu realistischen Preisen wären da auf jeden Fall eine Option.
Im Rahmen der I/O gibt es diverse Aktionen und Aktivitäten, welche ihr auf der offiziellen Webseite findet. Den Link findet ihr in den Related Links. Den Live Stream der Keynote habe ich im unteren Teil der News für euch eingebunden.

Related Links

Boehrsi.de Services - Ideen und die Basis-Architektur

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Ideen und die Basis-Architektur Bild

Nachdem ich bereits ein paar Worte darüber verloren habe, warum ich meine Services selbstgeschrieben habe, geht es heute mit den Anforderungen und der generellen Architektur weiter. Als ich vor zwei Jahren meine Java Services schrieb, war das Thema Microservices natürlich auch in meinem Kopf sehr aktiv. Das Resultat damals waren zwei komplett unabhängige Services, für die Suche und die Kommentare. Alles unabhängig, was natürlich seine Vorteile hat, aber eben auch Nachteile.
Die Nachteile wollte ich mit meinen neuen Diensten eliminieren, denn wenn man schon erneut auf der grünen Wiese startet, soll das Ganze natürlich auch ordentliche Verbesserungen bringen. Insgesamt überlegte ich mir die folgenden Anforderungen, welche auf meinen Erfahrungen mit meinen bis dato aktiven Services beruhen.

Boehrsi.de Services - Warum selber entwickeln?

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Warum selber entwickeln? Bild

Ich habe schon oft über die Services, welche die Such- und Kommentarfunktion hier im Blog zur Verfügung stellen, gesprochen. Das ich selbige selbst entwickelt habe wurde auch schon oft breitgetreten, aber auf die Interna bin ich bis dato noch nicht eingegangen.
Dieser Beitrag macht nun den Anfang und ist der Start für eine neue News-Sammlung. Heutiges Thema soll die Frage sein, warum ich die genannten Services selber entwickelt habe und nicht einfach vorhandene Lösungen genutzt habe. Im allgemeinen lässt sich die Frage recht einfach beantworten, denn ich bin ein Softwareentwickler. Entsprechend baue ich meine Software falls selbiges sinnvoll ist, gerne selbst. Doch warum hatte ich in diesem Fall das Gefühl es wäre sinnvoll?

OnUpgrade - Mein erstes Dart / Flutter Package

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
OnUpgrade - Mein erstes Dart / Flutter Package Bild

Während es für fast alles ein Plugin / Package gibt im Dart / Flutter Kontext, existieren natürlich trotzdem die kleinen Ausnahmen die einem fehlen. Für diese Dinge schreibt man dann selber Code, verwendet ihn in der nächsten App wieder und entscheidet sich dann vielleicht eine Library daraus zu machen.
Selbiges tat ich vor kurzem und in diesem Zuge habe ich mein erstes Dart / Flutter Package veröffentlicht. OnUpgrade open_in_new soll dem Entwickler helfen eventuell nötige Migrationen bei App-Upgrades durchzuführen oder den Nutzer über neue Funktionen zu informieren. Das Package stellt dabei die Logik zum Speichern, Vergleichen und Auswerten der zuletzt installierten und aktuell genutzten App-Version zur Verfügung. Was im Falle eines Updates ausgeführt wird, wie ein eventueller Dialog aussieht oder wie der generelle weitere Ablauf ist, entscheidet der Entwickler.

Related Links

Boehrsi.de Version 8.5 - Viele kleine Verbesserungen und Optimierungen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Boehrsi.de Version 8.5 - Viele kleine Verbesserungen und Optimierungen Bild

Über die letzten Wochen hinweg gab es diverse kleine Optimierungen an der Art und Weise wie Inhalte hier im Blog dargestellt und geladen werden. Die Änderungen sind eher minimal bezogen auf das Aussehen, aber die Performance sollte an einigen Stellen besser geworden sein. Vor allem der Cumulative Layout Shift (CLS) open_in_new, also das sich verschieben des Contents, nachdem der eigentliche Inhalt initial geladen wurde, sollte weniger geworden sein. Informationen zu Problemen mit diesen technischen Interna des Blogs erhalte ich übrigens über das PageSpeed Insights Online Tool open_in_new, für welches ich vor einiger Zeit auch ein kleines Bookmarklet erstellt habe.

I'm a coder - Die Workaround-Hölle

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Die Workaround-Hölle Bild

Eigentlich möchte man defensiv programmieren und entsprechend dem Nutzer möglichst viele Fehler vom Leib halten, das macht auch Sinn. Doch Workarounds und Fallbacks über und über einzusetzen, sodass man irgendwann eher Probleme einbaut als sie zu verhindern, ist meiner Meinung nach schlimmer als ein ordentlich kommunizierter Fehler. Als Beispiel würde ich hier ein Auto nehmen. Es hat Benzin im Tank und falls selbiger bald leer ist fährt man zur Tankstelle. Sollte diese geschlossen sein, macht es Sinn zur Sicherheit einen Kanister mit Benzin auf Reserve zu haben. Was aber eher wenig Sinn macht, ist alle zufällig herumstehenden Kanister des Nachbarn in den Tank zu schütten und zu hoffen es war Benzin dabei. Mit diesem Vorgehen hat man vielleicht in wenigen Fällen Glück, meist ist es aber eher eine wenig zielführende Idee.

Dart - Cross-Platform Scripting-Helfer

Erstellt am event Uhr von account_circle Boehrsi in label Development
Dart - Cross-Platform Scripting-Helfer Bild

Ich mag kleine Scripting Lösungen die mir Arbeit abnehmen und das nicht nur auf meinem Linux Server. Auch unter Windows möchte ich bei der Entwicklung, beim News erstellen und an anderen Stellen, kleine und einfach auszuführende Helfer haben.
Unter Windows gibt es mit der CMD und Powershell gleich zwei Lösungen, welche ich beide ungern nutzen möchte. Nicht weil sie schlecht sind oder dergleichen, sondern einfach weil ich nicht noch eine Sprache / ein Framework zum jetzigen Zeitpunkt lernen möchte. Unter Linux kann ich mit meinem aktuellen Shell Wissen erreichen was ich möchte, doch unter Windows war dies bis vor kurzem wesentlich anstrengender.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next