Einfache Zeiterfassung
Zuverlässige Zeiterfassung mit Durchblick für iOS und im Browser.
TimeManager
Apps in der Kategorie Produktivität gibt es zahllose. Sicher auch Anwendungen, mit denen man die eigene Arbeitszeit erfassen kann. Jedoch hat man als Anwender manchmal das Gefühl, dass diese oder jene App doch noch nicht so gut an den eigenen Workflow angepasst ist, wie es vielleicht sein könnte. Aus diesem Grund habe ich meine eigene Zeiterfassungsapp erstellt.
Implementation der Projektliste unter iOS
Was als Fingerübung einer einfachen App für Windows 8 begann, entwickelte sich im Laufe der Zeit zum zuverlässigen Begleiter in Sachen Erfassung der Arbeitszeit. Eine zentrale Synchronisation wurde hinzugefügt, damit aus der App eine Webapp werden konnte. 2016 entstand schließlich eine native mobile App – wieder als Lernprojekt. Die App läuft derzeit auf iPads und könnte demnächst auch den Appstore erreichen.
Projektdetails
Persönliches Fazit
Bei der Erstellung der App für iOS fiel mir die Einarbeitung in XCode und vor allem Swift vergleichsweise leicht. Die Syntax kam mir äußert bekannt vor, sie ist JavaScript sehr ähnlich, insbesondere ES6: For-in-Schleifen, veränderliche und unveränderliche Variablen und das Weglassen von Semikolons – hervorragend. Beim Anblick von Objective-C Beispielen wurde mir dann häufig richtig unwohl.
Ein schöner Punkt war das Entwickeln des eigenen Card Deck View Controllers. Nachdem alle Versuche mit bekannten Controllern und ein erster Versuch, den Controller selbst zu schreiben, gescheitert waren, war das Aufgeben nahe. Nach etwas Pause und der Optimierung weniger Zeilen hatte sich das Problem jedoch erledigt und das Interface verhielt sich tatsächlich so, wie ich es mir vorgestellt hatte.
Das Projekt hat mir auch ins Gedächtnis gerufen, dass es bei jeder neuen Sprache und Umgebung sinnvoll sein kann, zuerst die Dokumentationen zu lesen und dann anzufangen auszuprobieren, damit man nicht frustriert aufgeben muss. Das vergisst man doch zu häufig, wenn StackOverflow und Google so nahe sind.