Die Macoun ist die größte iOS- und OS X-Entwicklerkonferenz im deutschsprachigen Raum. Hier veröffentlichen wir Videos der Vorträge, die bei der Veranstaltung aufgezeichnet wurden. Die Veranstaltung richtet sich insbesondere an Entwickler, Programmierer und Programmautoren, die für Mac, iPhone, iPa…
In dieser praxisnahen Session schauen wir uns die verschiedenen "Undo"-Features an, die Git zur Verfügung stellt. Das Ziel ist es, Software-Entwicklern mehr Sicherheit in ihrer alltäglichen Arbeit mit Code zu geben: "Fehler können behoben werden" ist eine enorm blutdrucksenkende Erkenntnis! Die Session behandelt nicht nur die Theorie, sondern vor allem die praktischen Kommandos und Tools. Wir werden sowohl Git auf der Kommandozeile als auch in der beliebten Desktop-GUI "Tower" verwenden, um allerhand Fehler in realen Szenarios zu beheben. Session 1, Sonntag, Terrassensaal, Macoun 2019
Marco Feltmann zeigt eine Möglichkeit zur Erstellung geteilter Businesslogik für Menschen, die Templates in C++ einfach nie verstanden haben. Wichtig ist ihm hierbei der Fokus auf die plattformunabhängige Entwicklung. Session 2, Sonntag, Großer Saal, Macoun 2019
Die Frage der Cross-Platform Entwicklung für iOS und Android kommt immer wieder auf, und die meisten Lösungen sind schlecht. Seit neuestem gibt es die Möglichkeit, auch die Sprache Kotlin auf iOS zu verwenden. Funktioniert das? Taugt das etwas? Und wie mache ich das? Das und mehr soll dieser Vortrag beleuchten. Session 1, Sonntag, Großer Saal, Macoun 2019
Wir bauen eine kleine Swift-Versionskontroll-App, die in groben Grundzügen die Funktionalität von Git nachbaut, und einem so ein besseres Verständnis der Eigenheiten von Git liefert. Session 2, Sonntag, Terrassensaal, Macoun 2019
Bist du eine SpieleentwicklerIn? Hast du dich jemals gefragt, ob dein Spiel von allen gespielt werden kann, auch von Menschen, die Bedienungshilfen nutzen? Das habe ich, als ich angefangen habe, meine Backgammon-App zu entwickeln. Obwohl ich wusste, dass ich wollte, dass mein Spiel barrierefrei ist, war ich mir nicht sicher, wie ich diesen Benutzern das beste Erlebnis bieten konnte. In meinem Vortrag möchte ich mitteilen, was ich über Forschung zu Barrierefreiheit, Design und Engineering für Spiele gelernt habe. Session 1, Samstag, Terrassensaal, Macoun 2019
Zündende Idee gehabt, tolle App gebaut – und keiner hat's gemerkt? Es kann doch nicht so schwer sein, das Produkt an die Frau oder an den Mann zu bringen… oder?! Die schlechte Nachricht ist: Es gibt keine Abkürzung zum Weltruhm. Die gute: Du kannst (und solltest!) dennoch einiges dafür tun, dass deine App von JournalistInnnen und potenziellen KundInnen wahrgenommen wird. Du musst dafür nicht viel Geld in die Hand, aber dein Gegenüber ernst und dir Zeit nehmen. Session 2, Samstag, Terrassensaal, Macoun 2019
Handoff, das Universal Clipboard und der Austausch von WiFi Passwörtern an Bekannte. All das sind beinahe magische Funktionen des Apple Ökosystems und wir benutzen sie täglich. Doch wie funktioniert die Magie hinter dem Ganzen und was können wir von Apple lernen, wenn wir uns anschauen, was hier eigentlich passiert? Dieser Vortrag beschäftigt sich mit dem Aufbau und dem Nachbau der Funktionen und ist für alle Interessierten geeignet. Session 3, Samstag, Großer Saal, Macoun 2019
Muss das alles denn wirklich so kompliziert sein? Anhand von praktischen Beispielen möchte ich Objective-Smalltalk vorstellen. Wenn man von Objective-C lernt anstatt diese Erfahrung über Bord zu schmeissen, kann man aus wenigen orthogonalen Konzepten, einem Fokus auf Architektur und einem soliden Metasystem eine einfache, sehr ausdrucksmächtige und nicht zuletzt ungemein praktische Sprache konstruieren. Session 4, Freitag, Terrassensaal, Macoun 2019
SwiftUI ist Apples neues Framework für User Interfaces. In diesem Talk werden grundlegende Fragen geklärt: Wie funktioniert die neue, deklarative Syntax? Welche Interface-Elemente gibt es, und wie kann man sie mit Daten befüllen? Sollte man jetzt schon SwiftUI lernen und in die eigenen Apps einbauen? Anhand einer einfachen Beispiel-App werden diese Fragen geklärt und ein Überblick über die Fähigkeiten des neuen Frameworks gegeben. Session 3, Freitag, Großer Saal, Macoun 2019
Jeder weiß, dass man viele Tests schreiben soll, um die Qualität eines Programms sicher zu stellen. Aber was, wenn diese auf einmal mehr als eine Stunde laufen? Florian zeigt, wie man ein CI-System bauen kann, dass trotzdem schnell Ergebnisse für viele langsame Tests liefert. Session 4, Freitag, Großer Saal, Macoun 2019
Dieser Vortrag führt in Apple's Benutzungsoberfläche für Autos ein. Nach einer Kurzgeschichte und dem aktuellen Stand der Dinge werden die zwei CarPlay-App-Kategorien Audio und Navigation samt verfügbarer APIs vorgestellt. Demos für jede Kategorie werden auf echter CarPlay-fähiger Hardware vorgeführt. Session 3, Sonntag, Großer Saal, Macoun 2019
Bei der Umsetzung eines Continuous Delivery Prozess für iOS Apps ist man mit gewissen Herausforderungen konfrontiert. Im Vortrag wird gezeigt, wie man macOS mit Ansible provisionieren kann und wie man sein Xcode-Projekt aufbaut um mit fastlane das Zertifikatsmanagement zu übernehmen und unabhängig von konkreten macOS Buildservern und -services zu sein. Dazu wird gezeigt wie Build-Pipelines mit automatisierten Quality Checks während der Entwicklung und der Distribution der App in der Praxis aussehen können. Session 2, Freitag, Terrassensaal, Macoun 2019
Christopher Beloch zeigt euch wie ihr euch mit Codables nicht der API ergeben müsst. Lasst euch eure Model-Struktur nicht von einem Server vorgeben der im schlimmsten Fall nichtmal in eurer Hand liegt. Lernt wie ihr mit relativ einfachen Schritten die (De-)Serialisierung für eure Zwecke anpasst. Session 2, Samstag, Großer Saal, Macoun 2019
ARKit ist heiß, ARKit2 ist heißer! Ob animierte Tageszeitung aus dem Land der Zauberer oder nervenaufreibende Action beim Multi-User-Bowling - wir bringen es euch live auf die Bühne. In diesem Talk erfahrt ihr, was es wirklich Neues gibt in der Welt der Augmented Reality und wie man die neuen Themen wie Image Detection und Tracking, Save / Load WorldMaps als auch Multipeer-Connectivity effektiv in der eigenen App nutzen kann. Dabei arbeiten wir uns jeweils vom Code zum lebenden Beispiel vor, um euch sowohl einen Überblick als auch einen tiefen technischen Einblick in die Welt von ARKit bescheren zu können. Session 1, Samstag, Großer Saal, Macoun 2018
Barrieren können Menschen im Alltag ausschließen. Lerne was dies für Apps bedeutet und wie man mit Accessibility und Dynamic Type Anwendungen für jeden zugänglich machen kann. Wir erkunden wie Barrieren mit dem Accessibility Inspector gefunden werden und leicht behoben werden. Darüber hinaus erforschen wir, wie wir eine Erlebnis für eingeschränkte Personen schaffen, von diesem gleichzeitig alle Nutzer profitieren. Session 3, Samstag, Terrassensaal, Macoun 2018
Lerne Sourcery zur Generierung von komplexem Swift Code kennen: warum ist das so beliebt, und wie kann man nicht-triviale Aufgaben damit lösen? Am Beispiel der iOS Bibliothek ObjectBox, einer objekt-orientierten Datenbank, gehen wir API-Entscheidungen und die Generierung von Code durch, und wie dies Entwicklern Arbeit abnehmen kann. Sourcery kann weit mehr als nur langweiligen Boilerplate-Code für dich schreiben. Session 1, Sonntag, Neuer Saal, Macoun 2018
CloudKit ist Apples Lösung für alle mac- und iOS-Entwickler, die keine eigene Backend-Infrastruktur betreiben können oder wollen. Egal ob für Push Notifications, Synchronisierung, Sharing, private oder öffentliche Datenbanken und sogar Web-Anwendungen: CloudKit ist oft eine praktische, sichere und meist sogar kostenlose Alternative. In diesem Vortrag gibt es einen Überblick über die Einsatzmöglichkeiten und Architektur von CloudKit und die alltäglichen Stolpersteine im Umgang damit. Session 2, Sonntag, Großer Saal, Macoun 2018
Version für Version wächst Swift und erhält neue Funktionen. Darunter sind auch Sprach-Features, die Swift dynamischer machen. Kann Swift Objective-C hier mittlerweile Konkurrenz machen? Session 3, Sonntag, Terrassensaal, Macoun 2018
Die DSGVO geisterte durch die Presse, als wäre sie Teufelswerk. Ich zeige, dass alles nicht so schlimm ist und Entwickler sich entspannen können, wenn sie ein paar Kleinigkeiten beachten. Wir werden uns über Datenschutzmanagement unterhalten und wie man das am Besten angeht. Dazu gehört dann auch die richtige Ausgestaltung einer Datenschutzerklärung, das Führen eines Verarbeitungsverzeichnisses uvm. Session 4, Sonntag, Großer Saal, Macoun 2018
Aufzeigen der Eigenheiten des Macs aus iOS-Sicht anhand einer Mac-App in Swift. Außerdem Tipps für die Portierung von iOS-Code auf den Mac und (evtl.) noch eine kleine Tour durch Marzipan, wie es im Moment existiert. Session 1, Sonntag, Terrassensaal, Macoun 2018
Eine kürzlich erhobene Umfrage unter allen 12 Teilnehmern des Leipziger CocoaHeads hat ergeben, dass fast keiner regelmäßig Hopper verwendet. Ein fataler Misstand. Schlimmer noch, das lässt die Schlussfolgerung zu, dass das auch wenige der Teilnehmer der Macoun tun. Dieser Vortrag schafft nicht nur Abhilfe, sondern verändert auch Leben. (Zum Guten natürlich) Session 3, Sonntag, Großer Saal, Macoun 2018
Dieser Vortrag erläutert, wie man Apps verbessern kann, indem man die elementaren Regeln der Typographie berücksichtigt. Gute Typographie in Apps fördert nicht nur die Lesbarkeit von Text, sondern erleichtert auch die semantische Erfassung von (textbasierten) Elementen. Dadurch wird die Benutzungsoberfläche insgesamt leichter und schneller bedienbarer und somit die App angenehmer und letztlich besser. Session 3, Sonntag, Neuer Saal, Macoun 2018
Siri Shortcuts bieten eine neue Möglichkeit eigene Sprach Kommandos für Siri zu erstellen und bequem zu verwenden. Shortcuts können dabei sowohl aus der Siri Sprachsteuerung, als auch über die neue Shortcuts App in Kombination mit Shortcuts aus anderen Apps. Es wird gezeigt, wie Siri Shortcuts verwendet werden können, wie man sie testet und welchen Mehrwert sie für die eigene App bieten. Session 2, Sonntag, Terassensaal, Macoun 2018
WebRTC und CallKit befähigen jeden Entwickler seine eigene Video-Telefonie App zu kreieren. In diesem Vortrag wird die Funktionsweise von WebRTC dargelegt und das Zusammenspiel mit CallKit thematisiert. Session 3, Samstag, Neuer Saal, Macoun 2018
Der Vortrag fängt da an, wo die diesjährige WWDC-Präsentation Designing Fluid Interfaces aufhört: Wie werden Fluid Interfaces praktisch implementiert. Anhand von Beispielen zeige ich die praktische Umsetzung von (interaktiven) Animationen mit den APIs von UIKit, Core Graphics/Animation und SpriteKit. Session 4, Samstag, Großer Saal, Macoun 2018
Optische Zeichenerkennung (engl. abgekürzt OCR) ist der Teil der Bildverarbeitung, der selbst durch der Einführung von CoreML und Vision nicht einfacher wurde. Das Werkzeug der Wahl stellt hierfür immer noch das über 20 Jahre alte Tesseract dar. Der Vortrag bietet eine praxisorientierte Einführung in der Anwendung von Tesseract auf dem iPhone. Session 4, Samstag, Terrassensaal, Macoun 2018
Dieser Vortrag richtet sich an jeden iOS/tvOS Entwickler, der schon einmal dachte: "Oh nein, dieses Projekt wollte ich doch nie wieder anfassen" bzw. "Wo war das denn nochmal". Ich möchte: - Schnelle Navigation im Code - Gute Testbarkeit - Wiederverwertbarkeit von Code. Wir bei der fluidmobile entwickeln Apps mit > 100 ViewControllern, 50 Modellen und mehreren Platformen (Phone/Pad, TV). Dabei soll die Entwicklungsperformance hier nicht an der Komplexität oder der Laufzeit eines Projekts leiden. In meinem Vortrag werde ich unser Architektur-Model vorstellen opensourcen. Ich hab für euch Doku, komplexes Sample, Architektur-Poster und Templates bereitgestellt. Session 2, Sonntag, Neuer Saal, Macoun 2018
Wie kriege ich meine Daten schnell und elegant auf die SSD und wieder herunter? Ob Swift Serialization, CoreData oder Property Lists, hier werden die unterschiedlichen Apple Methoden genauer untersucht und Alternativen aufgezeigt. Session 2, Samstag, Großer Saal, Macoun 2018
Seit Apple Abonnements in seinen App-Stores stark fördert, wechseln immer mehr Apps zu diesem Modell. Mit Mac- und iOS-Anwendungen ist man damit jedoch nicht unbedingt an Apple gebunden. In diesem Vortrag zeige ich mit welchen Techniken wir unsere Hauptanwendung auch für Teams abofähig gemacht haben und gebe Einblick in die Entwicklung unseres eigenen Aboservers in Objective-C. Da der Cashflow beim Umstieg auf ein Abomodell üblicherweise einbricht, zeige ich noch, wie man diesen Effekt simulieren kann, um auch betriebswirtschaftlich darauf vorbereitet zu sein. Session 2, Samstag, Terrassensaal, Macoun 2018
Wir wollen unsere Apps in testbare und wenn's geht auch ersetzbare Komponenten zerlegen. Hat man das geschafft, muss man diese Komponenten irgendwie wieder zusammensetzen. Dependency Injection ist ein Entwurfsmuster, um dies zu tun. Wir wollen zeigen, wie das in Swift gehen kann. Session 4, Samstag, Neuer Saal, Macoun 2018
In diesem Vortrag lernst du, wie man mithilfe von CoreML und CreateML oft einfachere und bessere Lösung für Probleme finden kannst, als man es über Algorithmen erreichen könnte. Dabei geht es nicht nur um die Anwendung und Einbindung von Modellen, sondern vor allem auch um das Konvertieren und Erstellen von eigenen Modellen mithilfe von CreateML und Co. Und natürlich, wie man damit Bilder nach Nacktheit scannen kann :) Session 1, Sonntag, Großer Saal, Macoun 2018
Womit implementierst Du Data Model? Ich wette mit CoreData. Was wäre wenn ich Dir sage, dass es ein Overkill ist. Dass man Daten einfacher repräsentieren kann. Dass es mit einer kleinen Lib geht, die in ObjC und Swift implementiert ist und nur aus 5 einfachen Klassen besteht. Würde Dich das interessieren? Session 1, Sonntag, Neuer Saal, Macoun 2017
Statt uns iOS 11 APIs anzuschauen, die wir doch wieder ein Jahr lang nicht benutzen können schauen wir zurück auf iOS 9 und 10. Dort finden wir was wir schon heute nutzen können, nachdem wir iOS 8/9 endlich nicht mehr unterstützen, was wir schon längst hätten umsetzen sollen und an wie vielen Stellen Apple uns Hinweise auf die Zukunft gab. Session 1, Samstag, Neuer Saal, Macoun 2017
Swift steht niemals still. Hier gibt es die wichtigsten Neuerungen des Jahres zusammengefasst. Aber auch einige alte Bekannte werden eines zweiten Blickes gewürdigt. Session 2, Samstag, Terrassensaal, Macoun 2017
Reaktive Programmierung und unidirectional flow sind der letzte Hype. Was passiert in 18 Monaten App-Entwicklung, wenn man diesen Kram anwendet? Was gibt es zu lernen, dass die Anfängertutorials nicht beinhalten? Session 4, Sonntag, Großer Saal, Macoun 2017
Um erfolgreiche Apps zu entwicklen kommt es unter anderem auch auf die Qualität der UI an, da diese das Erlebnis der Nutzer erheblich mit beeinflusst. Und hier kann der Teufel schon mal im Detail stecken. Wir schauen uns an auf was bei der Zusammenarbeit mit Graphikern zu achten ist, wie man Asset-Sammlungen auf ihre Qualität hin prüft, selbst Fehlerquellen vermeiden kann und ob man vielleicht nicht sogar ganz ohne traditionelle Bilddateien auskommen kann. Session 4, Samstag, Neuer Saal, Macoun 2017
Dieser Vortrag stellt Techniken zum (automatischen) Auffinden und Erkennung von Geräten in (lokalen) Netzen vor. Hierzu gibt es zur Motivation neben den theoretischen Grundlagen auch praktische Beispiele mit iOS, BTLE-Tags und IP-Kameras. Session 2, Sonntag, Terrassensaal, Macoun 2017
Ich zeige, was man mit ARKit unter iOS 11 alles anstellen kann. Die Grundlagen von ARKit wie die Ebenen-Erkennung, die verschiedenen Ausrichtungs-Modi (World Alignment) und die automatische Szenenausleuchtung werden erklärt. Für die meisten AR-Projekte bietet sich eine Kombination mit SceneKit an, um dreidimensionale Inhalte darzustellen. Wir erweitern eine Standard SceneKit-App um AR-Fähigkeit. Schließlich werfen wir noch einen Blick darauf, wie sich ARKit mit Physics-Simulationen verbinden lässt. Session 1, Sonntag, Neuer Saal, Macoun 2017
Jeder Mac-User kennt das "Schloss" und die Aufforderung "Click the lock to make changes", um Einstellungen zu ändern oder an besonders geschützte Bereiche des Systems zu gelangen. Der Vortrag beschreibt wie man die Authorization Services von macOS auch in eigenen Programmen sinnvoll nutzen kann und was man dabei beachten sollte. Session 3, Samstag, Neuer Saal, Macoun 2017
Viele Entwickler träumen davon sich mit ihrer eigenen App selbständig zu machen. Wirklich davon leben zu können ist jedoch nicht einfach. Der Vortrag zeigt am Beispiel der 2017 veröffentlichten Mac-App Timing, was es bei Launch-Vorbereitung und Marketing von eigenen Apps zu beachten gibt. Session 4, Sonntag, Terassensaal, Macoun 2017
Die Network Extension API von iOS ist ein mächtiges Werkzeug für Netzwerkoperationen. Dieser Vortrag zeigt, wie man diese spärlich dokumentierte Bibliothek verwenden kann, um eine WLAN-Authentisierung mit verschiedenen Standards in eine App zu bauen. Session 4, Samstag, Großer Saal, Macoun 2017
Wir zeigen anhand von Beispielen und Daten, was in der globalisierten Welt der Software und ihres Verkaufs zu beachten ist, um die Lokalisierung eines Produkts schon bei der Entwicklung zu berücksichtigen – damit eben diese einfach und reibungslos abgewickelt werden kann. Hierbei dreht es sich um technische, soziale und menschliche Faktoren. Wir zeigen anhand von Beispielen, wie banal einfach es eigentlich ist, die typischen Fettnäpfchen schon früh zu umgehen bzw. zu vermeiden. Session 1, Sonntag, Terassensaal, Macoun 2017
Du hast mittlerweile den Überblick über alle die verschiedenen Swift JSON Parser verloren? Du musst mehrere Formate (darunter auch eigene Formate) unterstützen und willst dafür möglichst wenig Code schreiben? Dann bist du hier genau richtig. Wir zeigen dir, wie du mit Swift 4 JSON und andere Formate verarbeiten kannst, und dafür sehr viel Code wiederverwenden kannst. Session 3, Sonntag, Terassensaal, Macoun 2017
Protokolle wie das NSObject Protokoll wurden bereits Ende Mai 2006 von Apple in eigenen Dokumentationen gepflegt. Mit Swift 2 forciert Apple die Nutzung von Protokollen gegenüber Generics. Dieser Vortrag will zeigen, wie Abstraktion durch Protokolle funktionieren kann und welche Vorteile protokollorientierte Entwicklung hat. Session 2, Samstag, Neuer Saal, Macoun 2017
Praxistipps und Erfahrungsberichte für Leute, die Software auf mehreren Plattformen liefern müssen, und Code-Dopplung vermeiden wollen, ohne Kompromisse auf der Apple-Seite. Session 1, Samstag, Terassensaal, Macoun 2017
Die mobile Entwicklung ist gerade erst 10 Jahre alt geworden, jedoch umtriebig wie keine andere. Technologien, die heute noch hochgelobt werden, können morgen schon wieder verschwunden sein. Was sich allerdings beständig hält, ist der Grabenkampf zwischen nativer und cross-plattform Entwicklung, der von den jeweiligen Vertretern schon fast religiös betrieben wird. In diesem Talk wählen wir unsere Lieblingswerkzeuge und lassen sie gegeneinander antreten: Cross-Plattform-Entwicklung mit Xamarin im direkten Vergleich zur nativen iOS-Entwicklung. Dabei stehen Themen wie IDE-Unterstützung, Tooling, Prototyping und Profiling auf unserer Battle-Agenda. Wer wird wohl gewinnen? Session 2, Sonntag, Großer Saal, Macoun 2017
Den meisten Entwicklern fehlt es nicht an Programmiererfahrung, gerade im Gegenteil. Oftmals sind es eher die Hilfsmittel um den Code herum, die verbessert werden sollten. Ich möchte in diesem Vortrag den Fokus auf typische Defizite in der Projektarbeit legen und pragmatische Verbesserungen vorschlagen. Session 4, Samstag, Terrassensaal, Macoun 2017
Wir alle wissen: "Premature Optimization is the root of all evil". Hat Knuth gesagt, aber: hat er das wirklich? Und stimmt es eigentlich? Anhand von Beispielen zeige ich, welch verheerende Auswirkungen ungünstige Architekturentscheidungen für die Performance von Software haben können, Entscheidungen die sich am Ende einer Entwicklung nicht oder nur mit großen Schwierigkeiten (z.B. einem Rewrite) ausmerzen lassen. Natürlich zeige ich auch Alternativen auf. Session 2, Sonntag, Neuer Saal, Macoun 2017
Subscriptions spalten die Welt der Entwickler – sie werden gehasst und geliebt. Wir erklären, warum man das Thema erst nehmen sollte und es für die meisten Indie Apps der Weg in die Zukunft ist. Außerdem zeigen wir die Möglichkeiten dieser neuen Welt und wie man sie (zeitintensiv) umsetzen kann. Session 2, Samstag, Großer Saal, Macoun 2017
Hier wird gezeigt, wie Rootkits bei OS X funktionieren und wie man, vorausgesetzt, man kann Code mit Root-Rechten ausführen, sich in Kernel-Funktionen einhängt, um ihre Aufrufe zu protokolieren oder zu optimieren. Session 4, Samstag, Terrassensaal, Macoun 2014
Es gibt wohl deutlich mehr falsche als richtige Wege, nebenläufige Software zu schreiben. In diesem Vortrag werden in der Praxis erprobte Rezepte vorgestellt, um Software mit Hilfe von Grand Central Dispatch robust zu parallelisieren, ohne sich dabei in den sprichwörtlichen Fuß zu schießen. Session 3, Samstag, Terrassensaal, Macoun 2014