Herzlich willkommen alle zum App Store Tagebuch Podcast von G-Hard Gündel.
Wie immer berichte ich über verschiedene Sachen in der Apple Welt.
Dieses Mal geht es natürlich um das neue Apple Event.
Wieso hast du das Intro schon angemacht?
Ich weiß nicht, ich habe hier irgendwie unseren Podcast gehackt.
G-Hard, was machst du denn schon wieder hier?
Ups, ein bisschen zu viel Swiftcode geschrieben.
Wo du schon da bist, kannst du auch da bleiben. Du hast ja auch das Apple Event geguckt, oder?
Ach ja, das Apple Event, das war super auf jeden Fall.
Danke, dass ihr gekommen seid in meinen Podcast.
Kleiner Spaß am Rande.
Wir hatten ja letztes Mal mit G-Hard interviewt.
Und G-Hard ist ja auch ein freiberuflicher App-Entwickler.
Und da haben wir einfach gefragt, hey, hast du Lust mitzumachen?
Und weil er, glaube ich, auch gut was beitragen kann, auch in Zukunft,
haben wir uns überlegt, ihn zu fragen.
Und da habt ihr ja jetzt mitgekriegt.
Er hat gleich einen Bruder an sich gerissen.
Wie läuft denn euer Beiler selbstständig sein zu?
Bei mir sehr gut.
Es ist alles ein bisschen Achterbahnfahrt.
Aber mit den richtigen, oder ich sage mal, es ist ein bisschen rauhe See.
Aber mit den richtigen Steuermanövern lässt sich durch die rauhe See ganz gut schiffen.
Aber da komme ich gleich wieder nochmal dazu.
Ich habe jetzt auch einen Vorfall.
In meinem Fall genieße ich auf jeden Fall die Freiheit.
Das kann ich nur immer wieder wiederholen.
Es ist einfach schön, die Zeiten selbst einteilen zu können, selbst bestimmen zu können,
was man genau macht, worauf man auf die Fokus liegt.
Also ob ich jetzt mehr Zeit auf Tests investiere, vielleicht auch mal was öffentlich teile,
vielleicht was in den Terms Artikel schreibe.
Das sind diese Dinge, die man immer überspringt, wenn man eigentlich die nicht braucht.
Es läuft auf jeden Fall gut.
Ich komme nicht so schnell voran, wie ich gedacht hätte.
Aber es liegt halt an diesen Tests.
Bei mir läuft es auch ganz gut, weil ich habe ein Update in den Apps geschickt.
Das erste Mal seit langem. Für eine App.
Ich muss ja mal eine Steuererklärung machen.
Und da muss ich auch mal angeben, was ich über den Appstore verdient habe.
Das ist jetzt bei mir nicht so viel.
Aber da habe ich einfach mal geguckt, mit welcher habe ich letztes Jahr das meiste Geld gemacht.
Und das war tatsächlich meine Second Clock.
Das ist eine kleine Uhr, die in der Menüzeile bei Mac liegt.
Die irgendwie einen Euro kostet im Appstore.
Und die hat tatsächlich die meisten Einnahmen gemacht letztes Jahr.
Und die hat jetzt aber schon seit 2020 keinen Update mehr bekommen.
Das befinden wir uns doch schon im 5-stelligen Bereich, oder?
Mit Komma, ja.
Und da habe ich ein kleines Pack entdeckt, gestern Abend.
Und dann habe ich den gleich gefixt und hochgeladen.
Und ist jetzt noch nicht deployed, weil in der Zwischenzeit habe ich meinen Webserver umgezogen.
Und die Support URL bestimmt nicht mehr.
Und deswegen ist das jetzt rejected worden.
Das haben die nachgeprüft.
Jetzt warte ich auf die zweiten Review dafür.
Aber halt eine Kleinigkeit zu fixen.
Bei Learnings, die ich daraus höre, ist es, dass man aus Daten getriebenen Entscheidungen gefällt.
Die Zahlen angeguckt und danach entschieden.
Und das zweite ist, dass Apple manchmal tatsächlich Bugs in Apps fixt.
Das habe ich schon öfter gehabt, als man denkt, dass sie irgendwas testen und irgendwas funktioniert nicht.
Wenn man diese Situation so nicht getestet hat und dann hat man die Bug gefunden, bevor es im Store ist.
Und das ist eigentlich auch was ganz Nettes.
Ja, also bei mir finde ich es immer so ein bisschen, gerade in letzter Zeit habe ich das Gefühl, Apple Review ist wieder sehr, sehr picky geworden.
Das war zwischendurch immer sehr angenehm.
Aber momentan dauert es wieder lange, bis sie die Response teilen.
Das war echt mal wirklich teilweise eine halbe Stunde.
Eine Stunde hat es gedauert und dann haben sie es schon angeguckt.
Wieder mal sind wir schon wieder bei zwölf Stunden oder so.
Und dann stimmt irgendwas nicht.
Und dann musst du wieder zwölf Stunden warten oder so.
Keine Ahnung warum es gerade war.
Also ich frage mich immer, was da intern irgendwie läuft.
Warum es immer schnell geht.
Gibt es manchmal deutlich mehr Updates oder ich weiß nicht, ob das irgendwie bei den unterschiedlichen Faktoren sind, die da Ausschlag geben oder so.
Aber da weiß auch niemand, ne?
Dafür müsste man da arbeiten.
Du hast in den letzten Tagen wenig gestrinkt oder in den letzten Wochen?
Ja, tatsächlich ist das so.
In meinem Fall lag das einfach daran, dass ich vor vier Wochen ungefähr Covid bekam.
Ich habe wahrscheinlich die Unikron-Larienz bekommen, die war mit über 98 Prozent da am höchsten.
Und das trotz dreifacher Impfung.
Also ich hatte tatsächlich auch nicht so viel Sorge gehabt natürlich, aber es hat mich dann doch mehr umgehauen als gedacht.
Ich lag eine Woche flach, also drei Tage auch richtig krank.
Sehr hohes Fieber auch am ersten Tag vor allem.
Und danach immer noch drei Wochen lang gehusstet und es ist auch nicht komplett vergangen.
Also seit vier Wochen später hat man noch ein bisschen Husten da.
Und den Alltag stört es nicht mehr und zudem kann ich auch seit einer Woche wenig wieder zurück.
Und hast du in der letzten Zeit auch andere Sachen gemacht?
Ja, ich dachte einfach, wenn ich nicht reden kann, was kann ich denn dann machen?
Also ich versuche generell ein bisschen zu teilen, was ich selber lerne.
Das ist ja auch immer sehr praktisch und so lernt man ja auch.
Wenn man selber Probleme hat und die lösen möchte, findet man ja online meistens Artikel von Menschen, die eben gerade was gelernt haben.
Und ich will das einfach so, dass es keine Einwanderstraße ist und wenn ich da auch was zurückgebe,
dann teile ich immer was ich lerne.
Und ich habe da einen Blog, findet man auf jhart.medium.com, also j-e-e-hut.
Da habe ich drei Artikel veröffentlicht in der letzten Zeit seit der letzten Episode und eins davon ist auch ein bisschen länger. Ich hatte nämlich, also da kann ich vielleicht auch ein aktuelles Problem gerade ansprechen, was ich hatte. Das war tatsächlich im Stream. Ich entwickelt da nämlich so eine Focus Timer App und in dieser Focus Timer App mache ich zwei Dinge.
Erstens benutze ich Coordiator, um meine Daten zu speichern und zweitens versuche ich die App zu modularisieren.
Also ich versuche da verschiedene ganz kleine Module eben zu bauen, die unabhängig bildbar sind.
So dass ich zum Beispiel in Swiftware Previews, wie schnell ich Previews bekomme, dass meine Bildzeiten kürzer sind und auch ich einfach generell die Sachen besser von der Trainer, die halt nicht zusammenhören.
Und dann habe ich da das Problem, dass die Swiftware Previews nicht funktioniert hatten und da gab es mehrere Gründe dafür und darüber habe ich eben einen Artikel geschrieben, der auch ganz praktisch sein könnte, weil Swiftware Previews, das nicht funktioniert, das ist glaube ich ein bisschen verbreiteter. Also wenn es jemandem, wenn es jemand diesem Problem begegnet, gerne mein Artikel auschecken und findet man auf meinem Blog.
Verlegen wir. Und als Geheimtrick für Medium immer ist, die lassen einen ja irgendwie Nummer 5 Artikel lesen im Monat und dann muss man entweder Cookie slöschen oder man macht einen privaten Browser, wenn du auf und dann kann man weiter lesen. Das ist immer so ein bisschen, jedes Mal komme ich drauf und denke, ah, ja.
Das stimmt ja, genau, privaten Browser verwendet und in dem Artikel habe ich zum Beispiel gezeigt, wie man überhaupt richtig
ist. Ich habe eigentlich sehr wenig, sehr wenig, ganz ehrlich gestehen. Ich nutze es, um kurz zu kreieren und dann, sobald ich irgendwie die Pellets bekomme, sonst irgendwas, wo ich dann schon merke, ich habe jetzt kein Bock, jetzt mein Preview darauf anzupassen, alles zu entdecken und sonst irgendwas, was ich dann dazu brauche, dass ich dann meistens weglassen.
Ich habe mir so ein bisschen, ich bringe jetzt meine App immer weiter, ich mache meine Features rein und eines Mittwochs war mir, ja, was weiß ich, ich hatte mal Lust, irgendwas anderes zu machen, ich bastelte mal bei easter eggs in meine App rein, irgendwie, dass Leute das finden und kurz Spaß damit haben.
Und da kann man natürlich auch Dinge ausprobieren, die man sonst nicht so macht wie mit Animationen oder mit Haptics oder mit was weiß ich was. Und im Internet feiern mit Leuten ja Mittwoch und das nennst du dich, es ist Wednesday my dudes oder denn Mittwochs, oder da gibt es so viele Dinge.
Ist damals ein Wein gewesen, ich glaube 2013 ist das aufgekommen oder so, von irgendeinem dude in einem Spider-Man-Konstitut, der in einem 7-Sekunden-Video in diesem Satz ins Internet ruft und ich glaube Millionen von Aufrufen davon bekommen hat und dann ein erlebendes Meme sozusagen geworden ist.
Und ich habe es damals auch mit meinen Arbeitskollegen, haben wir eigentlich regelmäßig Mittwoch gefeiert, das war eigentlich immer ein sehr schönes Ding, was wir gemacht hatten, irgendwie Memes rausgesucht und dieser bescheuerte Frosch und ja, es ist einfach schön, dass ich das sehe.
Ja, muss man gucken, es gibt ja diese Seite, no your meme und da guckst du mal nach Wednesday. Was heißt verstehen? Muss man nicht viel verstehen, es ist halt einfach Menschen die bescheuertet Dinge im Internet und andere finden es lustig und amplifieren das dann und treiben es weiter und da gibt es ja unglaublich viele Leute die da Content für basteln.
Genau das habe ich mir auch gedacht, ich bastel mal so was in meine App rein. Ist der Mittwoch Frosch mit einem Ton dazu und Haptics, die ich gebaut habe mit einer crazy Animation und so weiter, wo ich da auch richtig einen ganzen Tag Spaß hatte und mich daran erfreut hatte und wie ich es gesehen habe auch schon ein paar andere Leute sich daran erfreut hatten und als kleine Belohnung dafür habe ich mich gemacht, hey, man kriegt dann noch so ein App-Icon, so hey, dein App-Icon verändert sich und der Frosch ist da drauf und so weiter.
Ja, stellt sich heraus, der App Store oder App Store Team hängt sich gerade an dem App-Icon auf, dass es ja diese Aktion, das App-Icon ändern würde, man es aber nicht zurück ändern kann, was nicht stimmt, habe ich Ihnen dann gezeigt wo man es machen kann.
Ich bin jetzt auch schon so weit, dass es anstrengend akzeptieren, weil im Prinzip heißt es, die Regel heißt nur, das App-Icon muss zu deinem Content passen. Mein Easter Egg ist mein Content, von dem her, also von dem her, ich meine so habe ich das jetzt argumentiert, jetzt haben sie das anstrengend schon angenommen, jetzt kommen sie wieder mit anderen Problemen, komme ich vielleicht auch noch gleich drauf.
Also was nehmen wir da was nicht Mittwochs Sachen hochladen, die sich mit was aktivieren?
Ja, nee, es war ein bisschen dumm, dass...
Ich hab das...
Es war eigentlich besser versteckt in einer Swipe Action auf der TableView Cell.
Hat sich aber nur herausgestellt, also diese SwiftUI-Swipe Actions gehen nur mit iOS 15.
Das heißt, du machst auf einem...
Vor-each-loop in einer Liste machst du ein Punkt Swipe Action und dann kannst du diese...
... ja Mülltonne oder was weiß ich was da noch...
In der Mail-App ist ein ganz gutes Beispiel, da kann man da einige Aktionen hinterlegen.
Und dann hab ich mir gesagt, hey, machst das auch, leg es da rein und ist auch nur für iOS 15 available.
Dann, wenn das gut passt, so.
Stellt sich raus, dieses Ding hat dann für iOS 14 gecrasht, weil mit Xcode1321 dieser If-available-Check auf iOS 14 nicht funktioniert.
Und code ausgeführt wird, der nicht ausgeführt werden hätte dürfen und dann ist gecrasht und ich natürlich in Panik, scheiße, scheiße, was ist los und ich hab es erst nicht gerachtet, was das Problem eigentlich ist.
Und nur, dass der Code da war, Leute haben das noch nicht mal gesehen oder gefunden auf iOS 14, ist es halt bei denen abgeschniert.
Und dann hab ich in einer schnellen Aktion wieder rausgenommen und hab es einfach ein bisschen offensichtlicher hinten in meinen Mehr-Tab reingelegt.
Und da ist Apple dann rübergestürmt, hat es ausprobiert und hat gesagt, hey, aber hier, App-Icon.
So.
Also sie haben sich gar nicht an dem... an dem... an dem... an dem... an dem...
... Easter Egg-Aufgang, sondern nur an diesem App-Icon-Ding.
Gut, was ich jetzt mit ihnen anscheinend wegdiskutiert hab, weil im Prinzip sollten sie da eigentlich... es kann ihnen egal sein, was ich da mache.
Wie schnell antworten die denn? Also wenn du damit diskutiert, ist das eine Sache von Stunden oder was es am nächsten Tag war?
Stunden. Also, ich sag mal so 6 bis 8 Stunden dauert das, wenn man schon bis da irgendwie da ist.
Kann ja trotzdem ein paar Tage dauern und dann mal hin und her.
Schlicht nicht. Und jetzt, mich nervt das auch schon wieder, weil ich hab jetzt...
Ja, weißt du, das sind so Dinge, die gar nicht gerade irgendwie Teil des Releases sind, aber sie stolpern halt über Dinge und sagen, ja aber hier...
... war auch ein nächstes Ding, was sie mir jetzt nämlich anhängen wollen, nachdem wir das App-Icon-Thema durchdiskutiert haben, ist ich wollte einfach, um ein bisschen Support für Eucarino zu zeigen, hab ich einfach einen Artikel reingehängt von Guardian, der einfach zeigt, hey hier kannst du was tun und spenden.
Kommt jetzt zurück, ja nee wir möchten nicht, dass du hier irgendwie Spendenkram machst, blablabla.
Also heißt, darf ich jetzt auch wieder rausnehmen?
Aber du machst gar kein Spendenkram, sondern du machst...
Nein, natürlich ist es auch einfach nur ein behindertes Link auf... auf... auf... auf... auf eine Webseite.
Keine Ahnung, ich bin jetzt schon wieder dran, denk mir so, okay Apple, dann nehm ich das wieder raus.
War ja nur nett und gut gemeint, weil ich natürlich auch ein bisschen Reichweite hab und da viele Leute drüber stolpern könnten, hab ich mir gedacht, gut nutze ich das vielleicht, dann nutze ich das jetzt halt nicht und... ja es ist... keine Ahnung.
Bisschen...
Wär schon, auf jeden Fall.
Nächster... Nächster Punkt ist, was wir da jetzt wieder aufgebracht haben, ist der... die ganze App-Tracking-Transparency-Geschichte.
Mit AdMob kriegst du ja diesen... dieses Framework, das dir dann diesen... ATT-Dialog anzeigt.
Und davor gibt's eine Explainer-Message, die da sagt, hey hier, die App möchte für dich gratis sein, um relevante Werbung zu sehen, musst du bitte im nächsten Schritt auf Allow-Tracking drücken.
So, jetzt kommt ein App-Bild zurück. Ja, nee, das ist nicht erlaubt. Du sollst nicht die Leute dazu leiten, auf Allow zu drücken. Das war halt über Monate hinweg kein Problem.
Bei anderen Apps wahrscheinlich genauso, weil das ist halt so ein Google-Dialog, der da kommt.
Anscheinend ist das jetzt ein Problem. Ich kann's zum Glück selber seitlich, kann ich den Text jetzt einfach ändern.
Oder ich nehm diese... diese... Message einfach ganz raus und zeig den ATT-Dialog selber an, was ich jetzt wahrscheinlich auch machen würde, weil dieser Google-Dialog einfach hässlich ist, weil er auf diesen Fremdkörper ausschaut.
Aber ja, den hessischen Review, den ich gerade hab, ist die Hölle. Ist zum Glück nicht schlimm, weil es ist kein schlimmer Buck-Fix oder sonst irgendwas. Es sind nur kleine Erweiterungen und Polishing und so weiter. Von dem her wissen wir jetzt grad wurscht, meine App läuft grad weiter und sie kracht nicht. Dann ist es schon okay.
Genau, das waren erstmal die Schmerzen. Jetzt kommen wir zu einem neuen Feature, was ich gebaut hab. Ich hab nämlich ein ganzes Webhook-Feature gebaut. Und... Webhook sagt euch was, wahrscheinlich. Ich erklär's mal für den Erhörer.
Also Webhook ist nichts anderes, wie du spezifizierst eine Server-URL und schickst von deiner App dort was hin. Und ich hab mir gedacht, ich mach das mal, weil es macht ja eigentlich Sinn, wenn man Dinge einscannt, kann man sie doch direkt an den Server schicken.
Ich hatte diesen Request auch mal vor einiger Zeit, dass mir jemand geschrieben hat, hey, das wär ganz cool. Ja, sieht jetzt so aus, man kann sich per HTTP Basic Authentication bei einem Server anbenden.
HTTP Basic Authentication ist eigentlich nur mit einem HTTP-Hinter, dein User-Name und Passwort encodiert als Base64. Was du da hinschickst, also ist es eigentlich von der cryptografischen Seite kein gutes Verfahren, der wird häufig genommen.
Es ist eigentlich gar keine Cryptographie dahinter. Aber dann HTTPS, also natürlich über das Protokoll, über das läuft, kann das mal keiner mitlesen. Aber es ist halt einfach ein gängiges Ding, was immer noch genutzt wird.
Natürlich sind andere Geschichten wie OAuth oder was es da noch draußen gibt, besser ist halt ein Implementierungsaufwand, den ich gar nicht haben will.
Ich hab OAuth implementiert in meiner, in meiner...
Ja, diese Geschichte ist ja nur, dass ich zum Test...
Das heißt sogar, Holger.
Weil, weil ich vielleicht mir echt Gedanken gemacht hab und das auch nicht so implementiert hab, weil ich auch im Server reden wollte und nicht machen wollte.
Und ich hab mir so von meiner Welt sehr faul was so was angeht.
Krass, das war echt krass.
Du hast aber beide Seiten in der Hand und ich hab halt nicht beide Seiten in der Hand. Das ist nämlich das Problem.
Ich hab aber auch bei dem Einserver nur eine Seite in der Hand. Ich rede damit der IGDB, dann ist ein Game-Data-Wes.
Richtig, aber die wollen natürlich OAuth haben und wenn die das auf ihrer Seite schon haben, ich mein, das auf Swift-Seite zu implementieren ist ja nicht schwierig, aber ich muss halt dem User irgendwie die Basic-Ding dazu geben. Ich meine, jeder kann jetzt sagen, ich nehme irgendeine Instanz, knall mir da meinen Server drauf, mit Basic-Auth, Basic-Auth und dann funktioniert das ja auch.
Und ist auch einigermaßen sicher dafür. Also man muss HTTPS knacken, um da rein zu kommen, was auch nicht wahrscheinlich.
Ja, also für private Zwecke, wo... Also es gibt ja auch Security, für Obscurity, also dass du Sicherheit gewinnst dadurch, dass jemand einfach die, die zum Beispiel gar nicht kennenzulernen dienst.
Ist ja auch eine Form von Sicherheit. Und wenn du diese Form von Sicherheit eh hast, dann nochmal Base-Auth draufpackst, dann ist das ja vielleicht gar nicht mal so...
Und das kannst du dann auch über HTTPS verschlüsselt hast. Das auf jeden Fall, ja. Richtig, und wenn irgendjemand ankommt und sagt, hier, ich geb dir Geld dafür, dann mach ich das vielleicht auch noch besser und noch krasser. Aber für den ersten Wurf reicht das vollkommen aus.
Was ich noch nicht ganz verstanden habe, was kann ich damit machen?
Naja, im Prinzip kannst du jetzt jeden NFC-Tech und jeden QR-Code, den du eingeliest, nicht nur einlesen, sondern direkt auch noch an deinen Server schicken.
Sagen, hier, lass es, lass es, du hast, ich mein, es gibt ja genug mittlerweile Lagerhäuser, die laufen auch mit ihrem Barcode ja so durch und die scannen Produkt A, Produkt B und so weiter und das haben wir gleich mit halt hier.
Okay, lass es deine private Inventur sein, die du machst, oder? Die Use-Cases sind natürlich unendlich, die du damit basteln kannst. Natürlich kannst du auch irgendeinen QR-Code oder NFC-Tech scannen und dadurch einen Trigger bauen, der halt irgendwas in deinem Home-Automation-Trigger hat oder sowas oder... Ja, da kann man sich ausdenken, was man will.
Man kann kreativ werden. Genau, da kann man richtig kreativ werden. So, jetzt noch zu Basic-Auth. Im Internet steht viel zu, ja, hier veränder mal deinen HTTPS-Hetter. Nein, nicht mal.
Dafür gibt's Methoden in... Ich muss mal kurz X gut aufmachen, ich hab das hier gerade da. In der URL-Session-Task-Delegate gibt's eine Methode, die heißt Session-Task-Did-Receive-URL-Authentication-Challenge und da kann man diese ganzen Authentication-Dinge handeln und man sollte es nicht per Hand irgendwie machen, weil dann das nimmt Apple für einen ab.
Man sollte natürlich die Sachen, die Username und Passwort aus der Keychain holen, das hab ich auch gemacht, damit das auch sicher im System abgelegt ist und ja, das funktioniert so weit gut.
Ich hab mir auch einen kleinen Node.js-Server mit Express geschrieben, war Anfangs für mich, ja, ich hab schon so ein bisschen Node.js gemacht, jetzt auch wieder, ich muss ein paar Videos gucken und wie mach ich das und so weiter. Im Prinzip war es halt echt 5 lines of code, weil du musst halt auch nur die richtigen NPM Packages nehmen und zusammenstecken und dann läuft das und ja, war gut. Hat mich zwar ein, zwei Tage gekostet, die ganze Geschichte, aber jetzt weiß ich, dass es funktioniert und da hab ich auch noch eine andere Seite dazu gefunden, das nennt sich Biceptor. Das ist eine Seite zum Testen von REST-Calls, also die kannst du machen, die so eine kleine Instanz auf und du kannst da einfach auch deine REST-API so mocken und so weiter. Also du kannst dir sagen, hier, wenn der Call kommt, dann schick das zurück oder so weiter.
bvn bina wie sie sieht so zu sehen und dann gibt's was ich ein fubar und dann
kriegst du so ein ding und dann kannst du an die kanzler schicken die ganze
geschichte ist dass sie natürlich nix kann man die ganze ausgeschichte mit
testen aber man kann testen wie das funktioniert das kann man sich jetzt auch
mal abnehmen nimmt sich bis ab da macht sich so eine kurze instanz da kriegt die
ural bei mir ein und kann diesen testen es natürlich zutesten weil für den
rück an sich muss man bezahlen weil das natürlich auch ein bisschen zerschläge
und jetzt kommen wir zu den ganzen anderen kram noch nicht dazu gemacht habe ich
nämlich mit einem anderen entwickler der ist auf mich zu kommen hat man so hey
hier ich habe gesehen auf twitter hast du mal was so ein bisschen feedback habe ich
gedacht ja klar gut ich habe als ich dann meinen server kram getestet habe habe
ich auf die mack advanced rest client benutzt damit spars du diesen bizepter
sondern du hast einen zwerg einstanz auf dem rechner kannst du über den lokal host
oder was hinschicken und du siehst richtig was ankommt und du kannst auch direkt
antworten kannst auch auch möglichkeit das geht aber nur beim simulator ich wollte
ja auch am gerecht mal ausprobieren ja aber ich habe auch einfach gefunden
funktioniert ist glaube ich das schnellste um ja war für mich die einfachste
lösung die funktioniert aber das wichtigste ist dass man eine findet die man kennt
kommen wir zum feedback zurück also das ist ein anderer entwickler das er nennt
die arbeit mit vorn die aber die kliniker ist einen einen bildschirm spiegel app die
aber für diese ganze smart samsung tv lg was weiß ich kronkast alle über die
dinsdag gibt aber dann hat er die iphone aber nicht unbedingt ablädt zu hause und
dann kannst du halt ein gerät erblähen und an diese dinge schicken das geht auch
nicht nur am fernseher so man scheint auch um tesla und weiter hat er schon sehr
sehr viel cooles da gebaut und ja der hat mir einfach mal so ein bisschen
feedback zu mal gegeben und hat mich fragt ja warum machst du denn kein
abo modell und warum machst du denn werbung und warum hier und hat mir viele viele
gute tipps gegeben was ich tun soll um meine app besser zu monetarisieren weil er
hätte mir gesagt du könntest mir betrag ich sage es nicht viel könntest du machen
im monat okay ja das habe ich jetzt auch mal umgesetzt oder fangen wir erstmal an
fangen wir kronologisch an er hat mir auch zum viel zum thema so gegeben also
abso und natürlich mein er hat mir ein app namens viel zu kurz beschreibt nicht
ganz was du alles machst und weiter ändert es doch mal von nfc für iphone
heißt jetzt nfc qr code docks für iphone auf mit einem kleinen schlenker dazwischen
gemacht habe weil ich habe mir empfohlen das ist so eine aso seite die da kann man
sich einmal für sieben tage eine pro mitgliedschaft testen natürlich mit
karte abgeben und sonst was und er kann man ja hat alle möglichen tools zu deine
platzierung keywords und sonst was ratings die du alle brauchst um den app zu
analysieren da habe ich mir jetzt zusammen analysiert okay wie wie wie mach
ich es am besten mit meinem app namen und die keywords und weiter und der sagt
dann gibt es auch so score hey wie gut ist denn von der länge jetzt ein abend
was 30 zeichen ich war vorher bei 18 sagt er ohne schlechte was verschenkt
keywords gerade weil der app store die keywords vom titel sind die die am meisten
zählen und umso mehr du da drin hast umso besser heißt es so mein erster in
der app namen hat erst mal dazu geführt dass meine dauerung 10 bis 15 prozent runtergefallen
sind oder mehr sogar glaube ich ich meine app store platzierung in deutschland
in der links und weiter habe ich nämlich von nfc qr code documents scanner gegangen und
das ist ein sehr hart und kämpftes keyword aber anscheinend mein für iphone
weiß nicht ob das mir irgendwie da uns gerät aber jetzt habe ich das so genommen
es geht langsam wieder nach oben das war ein bisschen beängstigend wie man sieht
dass man dann parametern umdreht und sich selbst irgendwie ein bauchrand
was natürlich auch wichtig ist wie viel einfluss das hat sich darauf
zu machen ja das ist schon auch beängstigend und man sollte da auch wirklich mit den parametern
drehen ich habe da vielleicht ein bisschen zu vor all ich zu viel gedreht sondern dass man so
an parametern dreht dass du sagst okay ich suche mir zu ein land raus weiß nicht lass es spanien
sein und macht da meine änderung und gucke mir an wie sich verändert sich das aber lasst den
rest des den rest of world lassen noch so wie es ist und gucken einfach wie verändert sich das
jetzt habe ich getouched jetzt habe ich noch mal getouched jetzt sieht es wieder aus als wenn es
langsam zurück geht was auch gutes da bin ich jetzt auch noch von abt week nachdem meine 7 tage
da ausgelaufen sind und ich mich ein bisschen umgespielt habe ich mir jetzt noch mal abfollower
angeguckt was ein ähnliches tool ist die bieten einem auch glaube ich ein paar tage gerade
ausprobieren im konzip sind diese tools alle sehr ähnlich der eine macht es besser der andere macht
es besser kosten alle ordentliche stange geld also die wollen schon immer so 100 dollar im
monat haben also ich mein vor allem man nutzt halt auch nicht immer alles davon und ich meine sobald
du einmal irgendwie getestet dann lässt man das auch erstmal gucken also muss er nicht dabei
bleiben aber monatsweise mal immer wieder so ein ding kaufen der tipp von dem anderen
weg war auf der fahrer kann man gut schießen bei sowas ja da bin ich auch noch dann jetzt auf
sensortauern gestoßen die sind auch das auch ganz nett ist halt von der visibilisierung ein bisschen
anders wie ja habe ich das habe ich auch schon mal verwendet also das ist ein bisschen älter als die
anderen vielleicht genau die drei gucken wir jetzt mal an und überlegen mal was mir jetzt am wichtigsten
ist und so weiter aber also es lohnt sich das auf jeden fall mal auszugeben und auch für die zukunft
auch mal dass man monatsweise vielleicht zu buchen und dann nochmal sich dran zu setzen und sage ok
ich will jetzt was verbessern weil er auch gesagt ist viel was wenn du verheiratet erfolgreich sein
willst dann musst du das machen und muss weil du musst auch gucken hat auch gemeint hier guckt
dass der konkurrenz er hat es gemacht sich seine keywords dieses was da drin steht war irgendwie
in der von dem brasilianer glaube ich auch da habe ich gesehen da macht ganz ganz viele apps
gemacht hat so basic mäßig apps und heute hat raus macht hat gutes so und macht auch ganz gut
kenne ich einfach die mass an apps die daraus hat und dann bin ich auch nochmal dazu kommen zu
ratings und reviews ist es extrem wichtig dass man sich früh schnell und dann hat auch diesen
dialog triggert mit früh meinst du nicht zu mir zwei jahre die app liest hat und gemeint
im life cycle des nutzers im life cycle des nutzers sobald er eine gute aktion gemacht hat oder zwei
gute aktionen lassen lassen russisch oder stelle abgeben hat bei mir auch so gefühlt ich habe mir
hat schon mal erzählt mir so kleine review utility gebaut wenn sich eines review utility findet man
auf geht ab deswegen meinem prefix mein mein prefix ist mein leute denken dass es alles ist meine
inizialien ist aber jetzt egal ob das jetzt ist ja genau und es löst das war ein und zwar du kannst
da angehen hier ich möchte nach so zu viel start möchte ich das haben und nach so viel positiven
aktionen möchte ich diesen dialog triggert und du kannst auch resetten also im prinzip ist wie so ein
happiness index der hoch gezählt wird oder wieder auf nur gesetzt wird den habe ich jetzt noch mal
ein bisschen verändert du musst den mindestens den happiness index um eins erhöht haben so dass du
dieses ding triggert und ich nur durch die apps start also ich habe jetzt für meine app gerade
drinnen nach drei positiven aktionen triggert das oder nach jedem zweiten start hat aber so in
meiner überlegung dazu geführt wenn ich jetzt ein crash hätte würde das genau dazu führen dass
im crash bekommt also beim ersten abstand crash macht ihr wieder auf den komplex ganz schlecht das
willst du natürlich deswegen habe ich gesagt ok ich mache sobald ein crash kommt setze ich
den happiness index auf null und solange dieses dieses index auf null steht wird nie ein review
gefragt auch nicht bei abstand ja soweit das sehe ich jetzt auch schon in meinen zahlen es hat
extrem viele reviews gebracht extrem auch sage mal 85% gute fünf stelle einfach ohne kommentaren
für stelle natürlich die die einstein geben die sind dann auch die leiter in fsock hat so nach dem
was macht jetzt ein abo-modell gelöscht schreibe ich zurück du kannst ja auch weiterhin kostenlos
benutzen weißt du die zeichnen schon sehr promäßigen features oder die erweiterung haben willst dann
zahlt etwas man kann trotzdem meine kostenlose benutzen mit kleinen werbebanden ich zwinge ich
nicht aber das kann man nicht machen das kann ich die ja genau so deswegen da muss einfach da hilft
auch einfach auf diese reviews antworten freundliche antworten sagen hier so sieht es aus auch wenn man
dann manchmal nicht so daran gewillt ist auf eine blöde blöden angepöbel zurück zu pöbeln aber
sollte man natürlich nicht tun kann man natürlich auch immer wieder ändern falls man mal tut oder auch
läschen und die hoffentlichkeit dabei so ein response auf den review dass der andere vielleicht
doch noch unentscheidend vielleicht ja die anderen die das hat lesen dass sie wenigstens
an der herrung lesen kann ich was schon wichtiger zu diesem ganzen feedback habe ich jetzt natürlich
dann auch mit der kollege gezeigt wie man ein abo-modell gut umsetzt und bei so einem abo-modell
ist natürlich ein gutes anbauen das an und o und da also da gibt es auch schöne artikel
wie er genau zeigt hey wie man was macht und wie man attraktive paywall zeigt und features
auflistet und was ist ich was man alles machen kann genau das habe ich auch gemacht ich habe
da mir auch in zwei drei runden auch mit gezeigt vorab und habe mir ein gutes feedback holen lassen
geholt nicht holen lassen genau und habe da meine paywall jetzt also ich was ich so wie es gemacht
habe ich wollte meine ganz persönlichen touch geben was ich auch gemacht habe indem ich jetzt mich erst
mal vorstellen sag ich hier habe ich bin es ein dickler ich macht es vollzeit kann man sich jetzt auch
mit durchklicken das nicht gemacht hat man kann ganz aufschlagen das ist nicht das nächste ist
eingebaut und kannst du mir ein high five geben und kannst es wohl machen bis ich sauer werden
bis ich engel emojis rausfeuere ist einfach nur ein kleines gimmick was ich eingebaut habe einfach nur um
schon mal so lächeln dem gegenüber rein zu kommen dann hey hier guck ich jetzt kann ich das nicht
der mensch der sowas machte die software macht und ja unterstellt und das ist so angefangen dann habe
ich den nächsten screen habe ich eine auflistung meiner features gemacht die man ausklappen kann und
sich angucken kann und kurz text dazu haben kann weil es halt schon ein bisschen viel auch was ich
da drin habe dann kommt noch eine kurze explainer message nach dem motto hey hier unterstützt mich
doch und du bekommst alle features und zukünftigen features aber keine sorge du kannst auch weiterhin
einfach mit machen so dann kommt meine paywall und die paywall ist dann noch mal die listet ja halt auf was du
auch wirklich durch die durch das abo dann bekommst halt keine werbung limitierung weg webbooks
und dann habe ich jetzt angefangen zu gucken und 24 an der seite einfach die möglichkeit
wie ich mich davon lösen kann gerade von google sehr abhängig gerade sein wo was blöderweise
wahrscheinlich auch die ganze kriegssituation gerade ist niemand möchte werbung schalten das geht alles
gerade ziemlich in keller und ich muss natürlich mein eigenes wissen ja und vieles ja auch relativ
also was du an nutzen deine features vielleicht vielleicht gar nicht was sie vielleicht damit
extra machen können also vielleicht ist es gar nicht so viel für einige leute richtig ich niese
das nämlich auch so weil manche andere pdf scan apps nehmen den zener im monat ab zum beispiel
genau richtig ganz andere 200 wochen ja also ich habe finde auch ich meine ja es ist klar das ist
kein vergleich zu früher mit apps wo man sagt ja hier 99 cent oder gattet das ding für immer ja
davon kann man ja noch viel features ist ja nicht so dass du deine apps komplett hinter der paywall
versteckst du kannst ja immer noch so standard features ganz normal ganz kurz benutzen nur für
so ein paar features das ist okay das sind so pro features dann muss man ein bisschen nicht du hast
ja noch den kauf der normalen pro features oder hast du die ausgeschmissen? ne genau das ist nämlich
jetzt alles seit diesem update weg jeder der davor gekauft hat hat die auch weiterhin also das ist
gleich drauf wie ich das gelöst habe genau diese dinger sind nicht weg aber wenn du jetzt neue
sachen dazu an willst musst du natürlich was abgehen also jeder der jetzt werbefrei gekauft hat
den zeige ich auch keine werbung an und kann auch ganz gut und gerne einfach die die die paywall wegklicken und
kriegst du dann auch nicht mehr angezeigt genau und da kommen jetzt zu so tricks die man dann mit
marketing macht und dass man sagt okay also ich habe jetzt diese paywall und die zeige ich dir
auch zehn sekunden an und die kannst du nach zehn sekunden wegklicken also hast du einen countdown oben der darunter zählt und dann kannst du es erst wegklicken
wenn du das dann weggeklickt hast habe ich jetzt in der version die jetzt im storder ist es noch nicht drin
nennt sich was macht man gerne man retargetet leute und zwar 299 scheint dem einen zu viel was machst du du
kommst später nochmal sagte hier kriegst du es wieder sieht es so aus ein bisschen
also man muss natürlich auch als die sagen okay ich möchte die notification haben die
10 prozent waren 20 prozent ja sagen ist es schon okay aber das dann halt kommst du okay da habe ich
gekauft und dann eine stunde schon mal raus aus der hier 33 prozent auf so dann sind es nur 1 99 und 15
euro im jahr so das biete ich den dann halt an und so kriegst du dann halt kannst du deine conversion
sozusagen erhöhen und das kannst du halt auch machen mit der kommst noch drauf bin ich nämlich
hat er mir einen service empfohlen sich conversion aber mit kuh also konversion dort komm oder i o
ne dot i o glaube ich ist und das ist im prinzip dasselbe wie revenue cat revenue cat ist aber das sind
die bieten die so in a purchase framework an was halt on top auf stocket liegt und das framework
um ja per just zu machen genau nicht so dieses conversion bietet der framework was halt auf dem
liegt und deren server infrastruktur noch dazu gibt heißt du hast eine nette api um mit purchases zu
integrieren du hast im prinzip du legst dort deine produkte an und dann legst du permissions dort an
und diese permissions kannst du durch also mein produkt heißt jetzt unlimited weekly unlimited
und und diese zwei produkte kriegen die permissions für alle features das heißt deswegen konnte ich
auch meine alten käufe konnte ich mit diesen permissions verlegen und sagen okay wer gekauft
hat hat so wenn du unlimited du kriegst du alle permissions so dann hast du immer noch so dieses
dieses ding dass du dann in deinem kohn sagt du sagst einfach konversion punkt check permissions
und dann kriegst du eine liste von permissions zurück und was dann halt deine features an oder aus
so die halte ich mir sozusagen wie wir die beim abstand abgefragt die hältst du dir im speicher und
dann fragst du zur runtime ab hey wurde dieses produkt gekauft ja nein so was passiert wenn die
person keine zeit während sie die abstand alles gekäste also so lange das also das überhaupt
also ich habe es auch schon gesehen ja es wird aber gekäst und es ist nicht weg also du wirst nicht
wenn du keine zeit nicht benutzen können also muss es als ich mein abo eingebaut habe habe
ich mir das alles in kult geschrieben um halt das abstand sieht zu verifizieren das macht das jetzt
mit das macht das alles mit und die sind auch bis 20.000 euro monat gerade ja ganz ehrlich bis
20.000 euro zusammen hast du es dauert ein bisschen und selbst dann glaube ich dann wollen sie bis 30
kronen oder also wenn ich 20 kronen machen sie die 100.000 euro sage ich gerne kluge sprechen also es
lohnt sich quasi für jeden da finde ich auch und da kommt es aber dazu die bieten ja noch mehr also
die bieten dann so geschichten wie die wissen ja jetzt hat jemand ist zwar noch aktiv aber hat
das abo gecancelt und kann es machen wie retargeten durch pusht das sagt du hast es gekämpft hier
magst du nicht doch vielleicht guck mal günstigeres angebot und dann holst du halt leute weißt du wenn
du da nochmal zwei drei prozent wieder zurückholen kannst du halt durch diese ganzen tricks ein
einkommen steigern ich bin auch recht frisch jetzt drin ich sehe schon ganz gute zahlen einfach
ich habe schon ein paar selbst und es hilft mir auf jeden fall gerade darüber hinweg dass einfach
richtig schlecht also von etwa wo ich teilweise früher mal 200 an tag gekommen habe ich jetzt
bei 50 und das halt so schon gefährlich kann ich davon leben deswegen muss ich mich jetzt gerade
breit ausstellen und das tue ich dadurch hoffe ich ganz gut und bei den stützens muss ich natürlich
gucken wie sich die monate ausbreitet interessant ist dass man bei den mal auf der webseite von
der app da steht halt nur eine bei den selbstwürfeln zerschiedene mittelmannsliefe 2 99 und da sieht man
nicht den jahre und da sieht man ja auch nicht den reduzierten preis und häufig hast du wenn du
in der app gehst für 5 euro für 3 euro für 2 euro ich weiß nicht woran es liegt
dass ich auch noch nicht gesehen habe ich habe ich alle angelegt ist die liste anscheinend
so lang und das ist echt ganz recht dass mit diesem mit diesem feature unlimited monthly ist
nämlich dass du jetzt in der app suche kannst du ja deinen eigenen inner pitches promoten was ich
mit dem monatlichen gemacht habe er sieht natürlich preislich klein aus man sieht
sofort die anderen leuten was ich auf jeden fall ganz cool und ich sehe aber jetzt hier
aber auch jetzt die unmittelbar und damit ist es nicht ganz normal die auch andere
große firmen machen die dann halt deine zahlungsbereitschaft ausprobieren macht
tinder macht man das machen die alle die wissen schon wie das funktioniert da mache ich jetzt
nichts mehr erfunden ich habe eine univollzwirtschaftslehre als nebenfach gehabt und da hieß das also das hat
einen begriff dafür für dieses je nach bezahlungsbereitschaft die preise zu geben
die preisdiskriminierung relativ aber so heißt es einfach und das ist wirklich sehr sehr verbreitet
und das studiert man auch einfach standard lehrer es ist ja auch so wenn du reisen musst
mit dem iPhone dann sind die teurer als wenn du ein telefon buchst oder mit dem pc das finde ich
wirklich ziemlich krass obwohl obwohl ich das jetzt eigentlich auch schon mal ausprobiert über
den was ich über tore browser zu buchen hat dann auch nicht wirklich andere preise gesehen und als
allerletzten punkt ist noch bevor ich aufhört zu reden habe ich noch gefunden auch jetzt auf
twitter einfach mal als für die ukraine krisik ist auch wichtig für die gerade die ukraine und auch
die russen die landwohnen und zu information schweigen haben ist wie die end zu haben und
ich über den kostenlosen abgestoßen die auch kostenlos wie bier macht und jetzt nicht entz link
also nth link habe ich mal ausprobiert runtergeladen wie die aufgemacht die test gemacht
ohne ohne werbe ohne ohne keine ahnung ich weiß nicht ob man das jetzt für seinen privaten kratz
nutzen sollte aber einfach nur dass ich trau gerade wie bien sich nicht selber aufgesetzt aber nicht
ja ich weiß ja ich glaube ich glaube dass die irgendwie so halt so finanziert sind oder so
dann nicht ganz sicher was ich weiß ist gut zu wissen wenn es um sicherkeit geht einfach zu gucken
wie sie finanzieren so ganz klar die finanzieren die produkte brauchen sie weniger da zu verkaufen
und so weiter genau wer auf jeden fall gut zu prüfen aber sie wollen ja auch jetzt wieder
sachen verkaufen um mehr geld einzunehmen hat diese große werbeanfaltung gesehen den letzten
jahr habe ich live mit verfolgen ich wollte das geben also ja ich wollte ja ja ja ja ja ja ja ja
die kontent selber nicht streamen von diesen event aber die dass ich auch in musik und so weiter
haben und dann nur eine reaktion möchte ich dann auch nicht haben ich habe das auch gleichzeitig
noch den stream von meinen freunden von apple talk die streamen nämlich immer zu zu kinos aber
natürlich auch nur ihren kommentar und dann sagen sie haben anfangt 30 sekunden pausieren damit du
den kommentar quasi live hast diesen versatz aus dem problem auszugleichen ich habe es mit
ich finde es interessant ja ich wollte nicht mal ja ja ich habe auch geguckt ich habe leider nur
ich habe im auto angefangen und habe hier weiter geguckt ich habe leider so ein kleines lochengel
aber es war nicht so schlimm war glaube ich gerade beim iphone sd über die über die uninteressante
am anfang schnell überspringen neue serien und neue film angekündigt ich habe so spontan nichts
gesehen was mich super interessiert aber war ein paar großen namen dabei an schauspielern fritags
zwei spiele exklusiv auf apple tv das ist ein bisschen wie bei uns in deutschland mit dem fußball
wurde dann aber von des zone brausen aber von sky braus und noch irgendwas damit du alle spiele
gucken kannst du so ein bisschen bis man sich alles klaut dann die interessanten sachen ein iphone 13
und iphone 13 pro jeweils im grün ich mag grün ich hätte jetzt nicht einschneid gekauft hätte ich
das wahrscheinlich auch geholt aber prinzipiell ist es auch wo ich tue es dann eben so eine hülle
und dann sehe ich es halt auch nicht man ich hatte ja vorher das 12 pro in diesem blau in der schwarzen
hülle und jetzt habe ich das 12 13 pro in grau mit meinem sticker drauf in der schwarzen hülle also
der sticker ist da drauf und dann ist er in der hülle und dann sieht man den sticker wieder nicht genau das ist also von dem her ist es sowieso immer ein bisschen bananen weil ich arbeite ja aber hüllenlos
ich habe jetzt hier eine die habe ich seit fast zwei jahren und die auch noch gut
ich mag diese diese spiegelkäse sehr gerne weil die auch von der texturierung so ein bisschen haben und das
natürlich auch ein bisschen die farbe an der kamera dort die hülle in der farbe holen
die war einfach nur dass die ich muss mit diesem extra für meinen neuen halter und das kostet immer 25 obwohl die sonst ohne magneet kosten 10 was sie man auch so nahe wie tagetin das apple gemacht hat zum thema wie tagetin zurück zum selbe produkt einfach eine andere farbe sozusagen noch mal neu angeboten das neu wird und wie ein paar leute das übrige werden ja schade schade dass ich es leider nur zu spät war das ist schon gut für die leute die nicht unbedingt gleich das neu zu kaufen weil die nicht so verfolgen wie wir es tun die ja gar nicht wissen dass im september kommt ein neues gerät herauskommen die kaufen halt wenn sie halt eins brauchen ich habe auch kollegen die kaufen sich auch august ein neues iphone und wer ganz sicher dass ein montag später noch ist da ist ja also ich habe auch mein 10r und das ist
immer noch gut genug dass d.g. ich meine die dinger sind ich habe selbst hier immer noch
ich habe selbst hier immer noch ein iPhone 7 plus und ein altes iPhone SE, die funktioniert immer noch super.
Ein neues iPhone SE haben Sie auch wieder vorgestellt. Wieder in dem kann ich jetzt noch iPhone 6 design sagen also mit Home button.
Ja ich find schon. Ja eigentlich ich weiß nicht ob das iPhone 8 design ist. Ich weiß schon was du meinst ja. Ich verstehe auch immer noch nicht warum es jetzt... wahrscheinlich einfach aus Kostengründen ist die Alte Design natürlich noch billiger. Es ist vollflächiger. Aber eigentlich ein iPhone SE mit fullscreen das wäre schon nicht schlecht gewesen.
Also es gibt ja eigentlich keine anderen iPhones mehr die noch Touch ID haben oder gibt es andere iPhones. Das heißt man könnte ja sagen das ist noch der eines wo Apple sagt diejenigen die Touch ID besser von tun, halt gegen die Touch ID.
Genau, Donnerstrand mit kleinen Fingern. Genau. Also in dem Fall ist es ja sozusagen eine Art von verschiedenen Produkten.
Leider immer noch viel zu teuer. 429 Dollar sind bestimmt. Ich meine das ist da geworden. Ganz ehrlich die Leute die sich das kaufen denen ist ja preisegal weil die das für einen Euro beim Media Markt mitnehmen für einen neuen Vertrag oder für einen Vertragsverlängerung.
Also ich habe meiner Mutter jetzt ein altes 12 Pro für 680 günstig geschossen was in einem 1,5 Jahre alt war. Das hat sich deutlich mehr gelohnt als jetzt so ein SE für 500 Euro neu zu kaufen.
Ja aber mit dem günstigen Vertrag ist das ein Euro oder für nur oder? Ja natürlich. Ja aber günstiger Vertrag heißt ja auch immer nur. Ich meine Vertrag verdient ja auch. Die verdient ja auch. Aber die wollen auch 40-50 Euro im Monat mittlerweile.
Anyway. Ansonsten gibt es halt ein A15 drin und ist schnell und ist gut und ist wahrscheinlich auch ausreichend für das meiste.
Und hat auch einen NFC. Ist das neu da drin? Nee das ist auch das vorige SE hatte schon einen NFC drin. Also das SE2.
Dann wurde das iPad geupdatet und zwar das mittlere Modell iPad Air auf auch ein M1 Pro Zesor den der vorher dem iPad Pro vorbehalten war.
Da war noch einige überrascht weil eigentlich der eine der Hauptgründe für einen iPad Pro war ja noch zwischen dem iPad Air, dass der einen M1 Pro Zesor hatte und die schneller waren und diese Kontos jetzt auch wieder weg.
Und ich muss auch jetzt aus meiner Erfahrung sagen du brauchst die Power auf dem iPad selten. Also ich sehe ja was ich mit meinem iPad mache. Ich face time mit euch. Ich browse da mal ein bisschen drauf. Guckt ein paar kleine Videos. Ein bisschen Twitter. Ein bisschen Browser.
Also selbst bei mir ist dieses Ding hoffnungslos unterfordert weil ja man kann da irgendwie Swift Playgrounds ausmachen und Apps drauf entwickeln aber will ich mich selber foltern. Also ich glaube nicht.
Die hat schon wieder auf seinen Hörsinn wieder jetzt geht es wieder. Dann müssen wir nicht weiter überlegen. Es ist ein schönes redet. Wer vielleicht was für mich machen.
Dann wurde ein neuer Prozessor vorgestellt. Weil Apple nicht weiß was das Maximum eigentlich schon das maximalste ist. Was macht man dann?
Man nennt es Ultra. Bananenmatik mag ich nicht sprechen. Das ist ja eine Sache die schon lange wurde vorhergesagt. Dass Apple noch Designs für Prozessoren in der Schublade hat die halt aus mehreren von ihren vorherigen Prozessoren bestehen.
Dass sie sagen ok hier wir schneiden den Waiver aus dem die Prozessoren rausgeschnitten werden halt in größere Teile und nicht in so viele kleine Teile und verkaufen das dann als Power.
Mehr Power als stärkere Prozessoren. Und da ist der M1 Ultra. Der kommt ja aus zwei M1 Max Prozessoren besteht quasi.
Genau. Die sind wohl von Anfang an so designt worden. Dass man sie mit einer schnellen Datenverbindung zusammenkleben kann sozusagen. Und das macht der P2. Und die fungieren wohl auch als ein Prozessor.
Also das ist wichtig für Leute die Software schreiben die eben auf Multiprozessor Ebene Software ausführen wollen. Apple hat behauptet das es sich genau wie ein Prozessor anfühlt beim Programmieren.
Das muss man nur nicht speziell dafür tun. Das ist auf jeden Fall sehr cool. Dass da ein Power mittlerweile rausgeholt wird.
Und reingesteckt haben sie den gleich in einen neuen neuen Mac der für Studios gedacht sind. Und was ein Studio ist haben sie dann in seinem Verbesport gezeigt. Kann Grafikstudio sein kann Musikstudio sein kann ein App Entwicklungsstudio sein. Und deswegen heißt er jetzt Max Studio und ist quasi ein etwas höherer Mac Mini mit mehr Power.
Also ich muss ganz ehrlich sagen ich fand die Tonne schöner. Ich finde das Ding aber nicht schön. Aber gut das ist halt.
Es ist auch mehr Funktionalität als Design aber ich weiß nicht. Also die Design Sprache ist ja gewechselt von Johnny Ive. Also Form ist wichtiger jetzt Richtung mehr Formfunktion.
Und dann denkt man sich was für Anschlüsse brauchen wir eigentlich. Und der neue Mac Studio hat ja auch ziemlich viele Anschlüsse.
Insbesondere auch vorne. Und das macht ja auch ich sag mal in Anführungszeichen ein bisschen hässlicher.
Seit vorne sind zwei OSP-C-Anschlüsse und noch eine SE-Karten-Schlott hat. Ich persönlich finde das sieht aus wie ein Gesicht schon fast. Also ich finde es ganz nett. Aber genau Formfunktion.
Ja also ich finde den hat irgendwie so ein bisschen der sieht schon sehr klobig und klotzig aus. Und klar die Leute haben über die Tonne gelacht. Aber die sahen schon.
Die Tonne war ein Mac Pro. Den gibt es ja immer noch. Ja bzw. da haben sie ja quasi auch geteasert. Der wird wahrscheinlich bei der WDC vorgestellt werden.
Ein Mac Pro mit M1 Ultra oder auch noch was größerem. Keine Ahnung.
Wir können ja mal glaskugeln was kommt nach M1 Ultra. M1 Megatron oder M1 Max Ultra Extreme.
Es gab ja Gerüchte dass die zwei M1 Max zusammen schussern werden und auch vier zusammen schussern werden. Es gab es schon vorher. Ich weiß nicht genau wer das gesagt hätte.
Aber die zwei sind jetzt raus. Das heißt die vier fehlen noch. Und wie sie das dann nennen? Keine Ahnung. M1 Ultra Duo.
Also es kann ja sein dass sie nicht viel zusammen zu kleben mit dieser schnellen Datenschiene. Und dass dieser nächste Prozessor tatsächlich aus zwei Prozessoren besteht die auch als zwei funktionieren.
In dem Fall wäre es einfach zwei Ultras. Aber keine Ahnung.
Ich bin sagen Duo kommt nicht in den Namen. Wegen Intel.
Ja ja ja. Dann lieber Extreme glaube ich.
Ich bin gespannt also für solche Renderbuden die irgendwie in Großfilme rausrennen. Für die ist natürlich super geil. Für uns Erbin Entwickler ist das alles viel zu...
Ich bin gar nicht so sicher. Ich habe ja immer noch ganz lange Bildtimes teilweise. Über eine Minute. Und das kann ja schon nerven wenn man eine Minute warten muss. Und das so alle fünf Minuten einmal.
Also wenn da jetzt 20 Prozessoren drin sind. Die Grafik baue ich natürlich nicht. Aber die Cores im Prozessor selber. 20 Cores. Ich denke schon das ist bei meinen Entwicklern ein Unterschied.
Dann hätte Apple gerne 4600 Euro von dir.
Was findest du denn jetzt?
Ich habe jetzt den M1 Pro MacBook Pro 16 Zoll.
Ach dann komplierst du noch eine Minute.
Also je nachdem was du komplierst. Ich kompliere teilweise drei Minuten. Wenn ich Tests ausführe. Also Tests ausführen ist etwas was auch lang dauern kann. Und je schneller desto besser. Das ist meine Regel für Entwickler.
Und ich habe es auch verglichen M1 Pro mit M1 Max damals. Und das ist ein Unterschied sehr klein. Weil du hast ja beim M1 Max genau gleich viele Prozessorkerne. Also 10 Stück. 8 schnelle. 2 langsame. Und das ist bei M1 Pro genau gleich. Also der Max hat nur mehr andere Kerne die andere Sachen besser machen können. Aber der Ultra hat jetzt doppelt so viele Prozessorkerne. Ich denke der ist 70% schneller ungefähr.
Aber es hängt ja auch immer dazu was die Software macht. Also ich weiß nicht. Der E-Code parallelisiert schon Dinge. Aber ob es das jetzt auch perfekt macht.
Klar. Ich meine der einzelne Prozessorkerne ist immer gleich schnell ungefähr. Bei dem Xtreme auch. Nicht schräg schon vom Xtreme. Ich meine vom Ultra. Deshalb werden wahrscheinlich in Single Prozessor Sachen nicht viel davon profitieren. Aber in Ticket gibt es doch relativ viele Dinge die nicht mehr laufen können.
Gerade wenn man eine App modularisiert wie ich das gerne mache. Dann können die eigentlich einfach mal gebildet werden.
Die Frage ob es dann auch gemacht wird. Ob Xcode schon so schlau ist oder?
Es wird gemacht. Apple hat bei den WPCs in den letzten Jahren immer wieder auch Videos dazu gebracht wie man seine Teststrategie so von der Reihenfolge und Dependencies aufteilen kann. Das ist eben parallel ausführbar. Also die versuchen das schon zu machen.
Also du würdest jetzt den großen der beiden Studios holen. Das hätt ich jetzt nicht schon.
Das hätt ich jetzt nicht schon mit dem Max Prozessor.
Also den kleinen holen kostet ja schon 2000. Wollte ich mir lieber einen MacBook. Der hat ja noch einen Bildschirm und ein Mobil. Und der hat den gleichen Prozessor. Also der Max MacBook. Wenn ich den wirklich haben wollte. Deshalb finde ich den jetzt nicht so ansprechend. Aber der mit dem Ultra ist natürlich nochmal deutlich schneller. Und ob das sich jetzt lohnt ist immer eine Abwägungsfrage. Aber zumindest wäre er schneller.
Nico für dich?
Ich bleib erstmal noch bei meinem 16 Zoll Intermeck. Nee ich meine das ist immer noch gut. Ich fehlt jetzt nichts. Ich meine mein Bildtime ist eine Minute und eineinhalb wenn ich ganz frisch baue. Deswegen. So genervt bin ich noch nicht. Der läuft noch. Also ich brauche nicht. Mein alter MacBook hat auch ein gutes Intermeck. Ich meine das kann das auch locker. Und bis ich an den Punkt komme wo ich so genervt bin dass ich jetzt was neues habe.
Ich bin immer noch sehr zufrieden mit dem. Mein MacBook Pro ist jetzt 5 und halb Jahre alt. Also ich müsste eigentlich mal wieder was neues holen. Und ich hätte eigentlich vor zwei Jahren zuschlagen sollen bei dem Mac Mini mit dem M1. Oder vor eineinhalb Jahren.
Aber du kannst auch nicht mehr kaufen. Jedenfalls nicht bei Apple zum Neupreis. Also wenn ich den jetzt gebraucht für 500 kaufen könnte würde ich den nehmen. Aber nicht zu dem Neupreis. Und dann warte ich lieber auf den. Also auf einen eventuell Nachfolger von diesem Gerät. Ob der jetzt M2 heißt oder ob da dann ein M1 Pro drin ist zum gleichen Preis oder so. Dann würde ich den auch nehmen. Aber ich kaufe jetzt keinen mit anderthalb Jahren alten Prozessor. Zum Neupreis. Für einen Gebrauchpreis würde ich den nehmen.
Ja verstehe ich.
Deswegen wird mein MacBook Pro jetzt auch noch ein bisschen leiden müssen.
Ja ich hätte auch nicht sofort ein neues gekauft wenn ich nicht. Also als ich meine Arbeit verlassen habe ich einen Mac von der Arbeit. Das heißt ich hatte keinen mehr. Oder ich hätte keinen mehr gehabt. Und dann habe ich eh zeitlich da zuschlagen wollen. Und nachdem die M1 Mac Mini draußen war ich hatte mir auch einen zugelegt um ihn als Server zu benutzen. Ich habe da so einen Film Server und ich lasse meinen Tester drauf laufen. Sonst bin ich auch recht zufrieden mit. Wenn ich gesehen habe wie schnell der ist habe ich halt gewartet dass die neuen MacBooks kommen und noch besseren. Dann habe ich den direkt zurückgegriffen.
Von der Arbeit habe ich so ein Windows Laptop.
Ja wenn du dir den jetzt holen würdest. Was würdest du denn da für ein Display anschließen wollen?
Ja das ist echt eine gute Frage. Natürlich hätte ich gerne einen neuen Studio Display von Apple. 27 Zoll. Das ist wieder eine Preisfrage weil es kostet 1749 Euro glaube ich.
Das ist schon echt ein steigender Geld.
Die haben ja nicht nur Monitore gebaut. Die haben ja auch versucht ein Soundsystem gleich mit einzubauen. Eine Kamera. Also dieselbe Kamera die auch am iPad wohl ist. Die mit Center Stage Funktion. Also die haben versucht das mit Funktionen auszustatten. Dass es mehr wert ist. Aber das haben sie natürlich gemacht um den Preis hoch treiben zu können.
Aber ganz ehrlich. Also ich würde dieses Display gerne haben. Ich habe jetzt auch ein 27 Zoll Display mit 4K von LG. Vorher hatte ich ein 27 Zoll Display mit 5K von LG. Das hatte aber ein paar Probleme die mein Mac immer zum Kernelpaniken gebracht hat. Deswegen konnte ich das nach 3 reparieren zurückgeben. Und das Display was ich vorher hatte hat auch 1400 gekostet. Und wenn ich dann diese 300 Euro drauf zahle und kriege dafür eine gute Soundsystem und eine gute Kamera mit drin. Und ich kann sichergehen dass das mit der Apple Hardware gut funktioniert. Dann würde ich das schon nehmen. Mein Problem bei diesem Display ist ich habe halt noch meinen Windows PC den ich von der Arbeit in meinem Home Office hier auch anschließen möchte.
Und er hat halt Displayport oder HDMI Out. Und den würde ich nur wahrscheinlich mit irgendwelchen Downloads noch anbauen können. Vielleicht geht es. Ich habe schon gelesen es funktioniert wohl mit PCs. Aber es funktioniert ein paar Funktionen nicht. Zum Beispiel die Webcam soll wohl nicht gehen.
Das ist ja. Wo kommt es jetzt nicht? Bildschirmanzeigen soll wohl gehen. Also mir reicht jetzt auch dieser 5K. Also 5K ist natürlich besser als 4K. Da hat man mehr Platz. Weil ich fahre in die tiefe Auflösung. Da hat man schön viel Platz. Aber ja mal gucken.
Ich hab nichts gegen den Preis, wenn man es gebrauchen kann. Wenn man diese 5k braucht, zum Beispiel. Wenn man einen Videoschnitt betreibt, dann braucht man vielleicht in der Preview schon irgendwie 2k oder so.
Wenn man es braucht, diesen Bildschirm, dann ist der, glaube ich, gar nicht überteuert, sondern der ist eigentlich ganz gut.
Der Punkt ist halt, ich denke nicht, dass ihn jeder braucht, ich persönlich, als Entwickler, für mich wäre es eher ein Nice2have, ich brauche es nicht unbedingt.
Aber wenn ich, sage ich mal, mir was zusammenstellen würde und ich hätte einfach die Geldtasche locker sozusagen, dann würde ich auf jeden Fall zugreifen, das ist kein schlechtes Paket. Und ich denke auch von den neuen Sachen ist es so noch das beliebte.
Unter dem Sichtpunkt bin ich da voll auf deiner Seite. Ich will nicht alles kaufen.
Oder lieber ein Prodis-Blake-XDR.
Ja, das ist genau der Punkt. Also Prodis-Blake-XDR, das ist ja dann wirklich nur noch, wenn du perfekte Farbwiedergabe und so weiter brauchst.
Ich finde gerade der Vergleich zwischen dem jetzt und dem Prodis-Blake-XDR, den braucht man dann nicht mehr, wenn man nicht wirklich diesen Anwendungswert hat. Das finde ich dann tatsächlich überteuert.
Kommen wir mal vom Kaufen zu, was kann man denn nicht kaufen?
Ja, das hast du ja schon vorhin erwähnt, Volker. Die haben ja gesagt, das ist neu. Also die haben es so formuliert, unsere 2jähriges, unsere Migration von Intel-Prozessoren auf Apple-Silicone-Prozessoren ist so gut wie abgeschlossen. Es fehlt nur noch der Mac Pro. Und damit haben sie indirekt natürlich gesagt.
Da kommt noch kein iMac.
Ja, das haben sie nicht gesagt, finde ich. Ich finde, dass in dem Produktportfolio gerade was fehlt. Jetzt einmal abgesehen von dem Mac Pro, der noch auf Apple-Silicone umgewandelt werden muss, fehlt ein 27 Zoll iMac. Oder anders ausgedrückt, es fehlt ein Pro-Zoomer-Gerät.
Ein Gerät für jemanden, der halt einen stationären Rechner zu Hause haben möchte, aber nicht 5000 Euro ausgeben möchte.
Damit meine ich aber explizit nicht ein iMac Pro 27 Zoll, sondern ein iMac 27 Zoll. Der fehlt. Der so für 2500, 3000 Euro.
Der fehlt doch tatsächlich.
Ich könnte mir gut vorstellen, dass der noch kommt. Das Apple-Idee, wie den 27 Zoll iMac, da steht ja auch noch dran, 27 Zoll iMac, wenn der im App Store ist. Da steht ja nicht nur iMac, sondern da steht 24 Zoll iMac.
Denkst du, dass der noch dieses Jahr kommen könnte? Oder meinst du es langfristig?
Nee, ich meine, der könnte noch dieses Jahr kommen. Ich meine, der könnte zur WWDC, den Mac Pro vorstellen.
Das glaube ich eher nicht. Ich habe diese Message am Ende, nur noch der Mac Pro fehlt. Und das habe ich tatsächlich so verstanden, die Message, dass dieses Jahr zumindest kein iMac mehr kommt.
Dadurch, dass ich Home Office und meinen Windows-Rechnung anschließen muss, könnte ich mir halt eh nicht, also wäre der 27 Zoll iMac wahrscheinlich für mich eh nicht relevant. Aber generell hätte ich halt Lust auf so einen Desktop-Rechner.
Und da ist der 27 Zoll iMac irgendwie so das tollste All-in-One-Paket, finde ich. Was man sich so als Privatanwender und Prosumer, der halt mal gerne Fotos bearbeitet oder so was, aber halt damit kein Geld verdient für diese Zielgruppe, finde ich.
Vielleicht ist Apple einfach an der Zielgruppe nicht mehr interessiert. Vielleicht denken sie sich, wir wollen jetzt sozusagen ein Einstellprodukt noch haben, das ist der 24 Zoller, und dann wollen wir ein Produkt haben für diejenigen, die Platz haben und auch genug Geld ausgeben wollen. Das ist dann entweder eine Kombination aus Mac Mini und dem neuen Display oder eben Mac Studio.
Oder Laptop und dem Display. Ich fahre ja jetzt auch mit dem Laptop und dem X-Ten Display. Das läuft ja eigentlich ganz gut. Manchmal sind es ein bisschen Hiccups, aber eigentlich funktioniert das ganz gut.
Und dann kann ich mir gut vorstellen, dass sie sich denken, wir wollen einfach keinen sehr günstigen 27 Zoll iMac mehr anbieten, weil das ist ja etwas, wo die weniger Geld gemacht haben, als wenn man jetzt ein Mac Studio und so ein Display...
Ja, das finde ich auch. Ich meine, bei so einem Kasten kann man so ein All-in-One-Gedäck bekommen, da war sogar immer eine Tastatur dabei, oder?
Da muss man die extra kaufen.
Da kommt ein Bund!
Ja, also ich bin mit dem Ding, da wird schon irgendwas wieder kommen, vielleicht nicht dieses Jahr, aber Apple ist genauso wie die Autoindustrie, die müssen für jeden blöden Use-Case, die müssen die Nische füllen.
Aber ich finde gerade die Use-Cases sind ja abgedeckt, sie haben es nur teurer gemacht. Du kannst ja, wenn du den Platz hast, eben Mac Mini oder Mac Studio kaufen und ein Display, es kostet nur jetzt mehr. Also die Use-Case ist ja nicht abgedeckt.
Richtig, aber es geht ja nicht nur um Use-Case, sondern auch um Zahlungsbeweidschaft.
Ja, das stimmt.
Die haben bestimmt auch auf ihrer Karte oder sonst irgendwo...
Ein Studio Display, was bezahle ich für so ein Mac Mini? 600 Euro, oder 700 Euro, kann ja auch 2,5. Und für den Preis dann All-in-One-Gedäck, Mac, Mac wäre schöner, aber natürlich habe ich dann das Problem, dass es haben auch viele, die jetzt einen 5K haben, der nichts mehr taucht, weil der Intel-Prozessor noch nichts mehr taucht. Aber die müssen das ganze Gerät entsorgen.
Die unnötig CO2 ausstoßen.
Das finde ich gar nicht so schlecht, wenn du schon was schnelleres haben willst, dann kannst du wenigstens die Hardware getrennt vom Display wechseln, während für weniger aufwendige Situationen, den 24-Tall, den kannst du wahrscheinlich kaufen und 10 Jahre benutzen. Mehr brauchst du ja dann als Leistung.
Die Dinger sind eh unglaublich langlebig. Also das ist aus meiner Pech. Und so ein Montagsgerät halten die ja ewig.
Gut, ich glaube das war's.
Ja, man kann jetzt noch mal anfügen. Mit den neuen iPhones kommt dann auch iOS 15.4 raus. Ich glaube ich habe auch letztes Mal kurz angesprochen, da ist dieses Universal Control Feature dabei, wo man den Mauszeiger in alle Geräte reinziehen kann.
Muss man sich mal so ein Demo wieder angucken, das ist echt cool. Also ein Foto von Mac auf iPad ziehen und von iPad auf iPhone und sonstiges. Also das ist echt total was da abgeht.
Dann das entsprechende Maskefeature, neue Emojis und das Impfzertifikat im Wallet.
Ja, Impfzertifikat im Wallet ist ein bisschen spät, mal gucken wie lange wir das noch brauchen. Eine Zeit lang wird es schon noch gebraucht.
Beim Reisen wahrscheinlich, wenn du im Flughafen das zeigen solltest.
Ja, aber jetzt hat man noch eine Methode mehr.
Ja, ja kann das ja auch.
Richtig, das konnte das schon vorher. Und das ging einfach.
Aber die große Frage dabei ist, raffen das die Leute, denen du das zeigst, oder sagen die dann, ja das ist ja gar nicht die Corona-Warn-App.
Ja genau, von dem her, das ist immer der größte, also du kennst ja die Leute mit den QR-Code-Augen, die wollen einfach dein, die wollen sehen, dass da nachgelegt wird.
Aber dass es nicht screen-shotted ist?
Genau, die kennen nämlich Kofferpass und die kennen die Corona-Warn-App und wissen schon ungefähr wie das aussieht und dass es echt ist. So jetzt kommst du da her mit deinem Wallet und dann, ich meine das mit dem Wallet ging ja schon über diese griechische App.
Ich hab das am Flughafen, wo ich denke, wo es jetzt noch relevant bleiben wird, tatsächlich gescannt wird und eben nicht wie im Restaurant, wo jemand kurz mit dem Augen drüben ist.
Also auf Madeira war es so, ich musste einfach vorher Dinge ausfüllen und ich glaube auch, ich lass mich kurz überlegen, aber am Flughafen so, ja sind sie geimpft, ja okay, dann gehen sie da durch den Grüngang. Hat auch niemand mehr, haben sie ein QR-Code, ja.
Er kommt aus dem Land vielleicht, wenn man die weiß, ist es vielleicht so, wenn ich jetzt nach Japan will, bin mir sicher die Prüfung da. Ja, ja das schon. Es kommt auf die Person drauf an, die da gerade sitzt und kommt auch immer darauf an, aber nicht, dass man das auch nicht zu machen. Ich glaube, ich hab das Impfzertifikat ja auch hochgeladen und zwar noch alles in Ordnung. Aber ja, hoffentlich sind das auch Dinge, die dann irgendwann in der Vergangenheit angehören und lass uns das nicht zu sehen, die länger ziehen. Vielleicht gibt's ja, kann man sich da irgendwie raus-evolvieren, wie heißt das auf Deutsch? Evolven, raus-evolven. Evolven, entwickeln, rausentwickeln. Was entwickelt sich denn an der Swift-Front?
Oh ja, neue Rubrik hier im Podcast, denn ich beschäftige mich sehr gerne, wie ich schon letztes Mal gesagt habe, mit den zukünftigen Features sozusagen, die in Swift kommen. Und jetzt gibt's neue Rubrik "Swift Evolution News". Und ich will da einfach sozusagen versuchen, zusammenzufassen, was im letzten Monat passiert ist oder in letzter Zeit passiert ist in der Swift Evolution Community. Und vielleicht einen kurzen Einblick geben, was da in einem neuen Feature auf uns zukommt. Natürlich nicht alle, sondern nur ein paar ausgesuchte und da auch nur kurz drauf eingehen, ohne ins Detail zu gehen. Weil natürlich, ich kann das auch nicht testen, bevor es in Swift drin ist, teilweise sind die gar nicht implementiert. Also ich könnte da gar nicht ins Detail gehen, aber mal kurz anschneiden, was am meisten kommt, das würde ich gerne jetzt versuchen.
Das ist auf jeden Fall sehr gut, weil ich bin da oft viel zu faul, mir das alles durchzulesen, sondern ich komme auch immer meistens darauf, wenn es alle, wenn das dann in der Entwicklerszene ankommt, alle irgendwie neue, neue, coole, hippe, coole Features ausprobieren, dann komme ich auch erst dazu.
Beobachtest du das nur oder triffst du auch dazu bei... also machst du auch irgendwie Pushrequests, Changerequests?
Also, Pushrequests und so weiter ist gar nicht so gern gesehen, wichtiger ist, dass man mitdiskutiert. Also, die wollen Feedback haben, dann ist das ja die Swift Evolution, das ist ja ein ganzes, ein ganzer Prozess.
Es fängt an mit einem Pitch, dann kommt ein Early Proposal, dann gibt es eine Discussion und so weiter und dann kommt eine offizielle Proposal und ein offizieller Review, das geht noch zwei Wochen mindestens, weil dann alle darauf reagieren können und so weiter und da diskutiere ich schon gerne manchmal. Also, ähnlich wie wenn man neue Emojis vorschlagen möchte. Das habe ich schonmal gemacht. Ich weiß nicht wie es abläuft, aber kann sein. Okay.
Also, zu den Proposals, ich will auch gleich dazu sagen, ich habe nicht welche ausgesucht, die jetzt demnächst, also in einer Woche ungefähr mit 5.6 in Exco 13.3 unterhalten sein werden, sondern nur welche, die tatsächlich noch in der Zukunft sind, weil zu diesen zu Version 5.6 gibt es schon einige Blogartikel und so weiter, weil die schon ziemlich nah dran sind, was da alles Neues kommt, das kann man sich gerne anschauen.
Ich fange an mit dem ersten, das ist se0339, Titel ist "Module Aliasing for Disambiguation" und nur kurz zusammengefasst, eben welches Problem versucht man hier zu lösen.
Es gibt das Problem, wenn man Swift PM benutzt, den Swift Package Manager und da mehrere Module integriert, dass diese Module, also ich integriere zum Beispiel das Framework Party Crouch und ein anderes Framework in meine App rein und ich habe davon mehrere und ich habe in einem dieser Frameworks, ein Modul nennt sich zum Beispiel Utility, wo die Codes extrahieren, was dort wiederverwendet werden kann und im anderen Framework habe ich auch ein Modul, das heißt Utility.
Dann hat man nämlich ein Problem, der Swift oder Xcode kann nämlich, der kann nicht mehr komplizieren, der sagt dann hey, das sind zwei mal Packages mit dem selben Namen und das kann man jetzt auflösen, dann in Zukunft den Swift und das geht dadurch, dass man in seiner App eben sagt, okay ich möchte dieses Produkt einbinden und ich möchte diese Utility Modul, welchen anderen Namen geben, das nenne ich jetzt nicht Utility, sondern G-Utility und das funktioniert mit einem neuen Parameter in diesem Product Eintrag in der Swift Package Manifest, das nennt sich Module Aliases und da gibt man Interdiction Ability, das ist sozusagen das erste neue Feature.
Genau, dann zum nächsten. Das ist SE 336, Distributed Actor Isolation. Das ist tatsächlich ein großes Thema. Also Distributed Actors, kurz vielleicht anschneiden, was überhaupt ein Actor ist.
Weil Actors sind auch neue Features, die damit zu tun haben mit den Async Await Features, also mit diesen asynchronen Features, die jetzt auch in ganz vielen neuen Frame, im neuen, ganz vielen Apple Frameworks mit drin sind, was asynchrone Programmierung vereinfacht.
Und Actors sind vereinfacht gesagt einfach neue Typen, also eine Alternative zu Struct/Class. Man kann einfach einen Typen als Actor definieren.
Und alle Properties in dieser Actor, in diesem Actor Typ und auch alle Funktionen sind by default asynchrom.
Das heißt, dieses Async, was man sonst immer dazuschreiben muss bei den Funktionen, um zu sagen, diese Funktion ist asynchron, das ist standardmäßig in allem, was man mit einem Actor macht, einfach gegeben. Damit sagt man quasi, man kommuniziert quasi entwicklern gegenüber, okay, dieser Typ hier, egal was du damit machst, das ist immer Fred Safe, das wird immer asynchron sein und genau dafür ist auch ein Actor da.
Und jetzt gibt es eben etwas Neues, das heißt Distributed Actor und da schreibt man einfach vor diesen Actor Typen noch Distributed hin.
Und das ist etwas Neues, was in die Zukunft von Zwift sein soll, was ein bisschen die Klein-Klein- oder Kleinserver-Kommunikation veräffert.
Also wir schreiben alle Apps und diese Apps haben einen Server-Teil und dann müssen wir immer die Kommunikation schreiben über APIs und so weiter.
Und dieses neue Feature soll es teilweise zumindest ersetzen und dafür sorgen, dass man quasi eben in der App nur noch diese Funktion aufruft und das ist ein Actor und Actor bedeutet, dass man es nur asynchron ausführen kann.
Das heißt, man macht irgendwas asynchron auf diesen Distributed Actors und ob das dann in der App selbst durchgeführt wird oder auf irgendeinem Server durchgeführt wird und man die Antwort dann bekommt, das ist sozusagen egal.
Das kriegt man gar nicht mit.
Und das Ganze ist noch nicht fertig, also das ist jetzt eine der ersten Proposes, die jetzt akzeptiert wurden und alle, die ich jetzt vorstelle, die sind schon so akzeptiert, wie sie da sind.
Das ist eine der ersten und da kommen noch viele weitere zum Thema Distributed Actors und ich glaube, das wird so in den nächsten Jahren erst Stück für Stück kommen.
Aber das ist ein sehr spannendes Thema und es wird die Serverkommunikation mit Swift wahrscheinlich deutlich verankert. So ganz habe ich es noch nicht verstanden.
Ich weiß nicht, ob du mal irgendwie in einfache Worte was ich mir dadurch kurz zu schreiben oder?
Du sparst dir die gesamte Serverkommunikation, sparst dir die gesamte API, das ganze Networking hast du nicht mehr.
Also du hast einen Server, der ist auch geschrieben in Swift oder ein Framework, was auf einem Server oder auf einem Computer läuft einfach, ob es auf einem Server ist, das ist egal.
Dann läuft aber dieselbe Code darauf und du kannst jetzt einen Distributed Actor typen, die sind ausidealisierbar und so weiter.
Du kannst einfach eine Funktion darauf aufrufen, zum Beispiel du hast ein Modell, ein Datenmodell, du hast eine Person, ein Distributed Actor und du willst auf dieser Person jetzt irgendeinen Kante hochziehen.
Du sagst, der hat jetzt die Pageviews oder der Vorname, den willst du ändern.
Der Happiness Index zum Beispiel. Und diese Erinnerung ist Asynchron, das ist eine Asynchron API in Swift.
Und diese Asynchron API macht für dich den Network Call. Du kriegst gar nicht mit, dass es ein Network Call ist.
Also als Caller ist es für dich, als willst du einfach eine Funktion aufrufen und du willst einfach Await davor schreiben.
Das klingt cool auf jeden Fall.
Ist ziemlich krass, aber ist auch noch ziemlich Zukunftsmusik, weil wie gesagt, das ist der erste Proposal dazu und es kommen noch weitere, unter anderem diese ganze Runtime, die für die Kommunikation sorgt. Das ist noch eine Diskussion aktuell. Aber das ist eine der komplizierteren Sachen, die ich jetzt hier erwähne und ich will da nur sagen, dass es demnächst kommt.
Nee, aber es ist spannend, also ich habe mich jetzt mit dem Thema noch nicht so viel auseinandergesetzt und habe jetzt schon was dazu gelernt.
Ob das für App-Entwicklung wirklich relevant sein wird, das wird sich mit der Zeit zeigen, ob da wirklich überhaupt Frameworks rauskommen.
Dieses Nutzen, falls jemand noch zu Datenbanken, es gab da mal vor Realm und so weiter, wenn man Realm kennt, aber bevor es so Alternativen zu Koalitern wie Realm gab, gab es auch etwas, die hieß ich Paris oder so ähnlich.
Und es hat auch so eine Library, die man einbauen konnte in die App und es hat dann automatisch die Daten kommuniziert und so. So ähnlich stelle ich mir das vor. Aber ehrlich gesagt, ich verstehe das für bitte auch nicht 100% an der Moment.
Aber es ist auf jeden Fall ein Thema, das man beobachten sollte, wenn man mit Switchcore-Entwicklung mitnehmen möchte.
Genau, auf jeden Fall. Dann etwas anderes und das ist diesmal kein Proposal, aber es ist auch in der Switched Evolution in den Foren passiert und zwar, wisst ihr wer Switched eigentlich entwickelt hat? Also wer der Entwickler von Switched ist?
Das ist Chris Ladner und Chris Ladner, der 2011 mit Switched-Entwicklung angefangen hat, der war ganz lange immer im Switched-Core-Team auch dabei, obwohl er nicht mehr für Apple arbeitet.
Er hat jetzt 5 Jahre zu Google gewechselt, dann zu Tesla, dann inzwischen arbeitet er für TensorFlow oder so und der hat trotzdem immer im Switched-Core-Team mitentwickelt und der hat jetzt einen Post gemacht, dass er nicht mehr im Switched-Core-Team bleiben wird und hat es dann begründet und hat sozusagen ein bisschen mit dem Switched-Core-Team abgerichtet.
Und das ist ein interessanter Post, den kann ich auf jeden Fall auch verlinken. Ich lese einfach mal ein paar Zitate vor, was er gesagt hat, was ein bisschen Einblick gibt in die Switched-Entwicklung und wie es bei Apple so intern mit Switch läuft.
Er hat unter anderem gesagt, dass es ein Toxic-Environment in den Meetings gab, also eine toxische Umgebung und er sagt "insulted" in die Outlander über WebEx, also er wurde wohl beleidigt und angeschrien über Calls und wer weiß, worüber die gesprochen haben und dann hat er sich wohl nachdem das Passiertes auch aus der Auseinandersetzung und wollte danach nochmal dieses Thema ansprechen, damit man es lösen kann, was auch immer da schief gelaufen ist und da trug sie man wohl rum und dann hat er tatsächlich entschieden, ich trete aus diesem Switched-Core-Team aus und ich mach das nicht mehr.
Und die Details kann man in dem Post eben lesen, das ist jetzt nur die Zusammenfassung, aber er hat dann auch gesagt, es gibt halt viele, also auch Many-Pressures, sehr viele Dinge, die Druck machen in dem Team unter anderem hochgesteckte Ziele, feste Zeitpläne, sehr lange und tiefe Fehlerlisten, die noch aufgearbeitet werden müssen insulted selber und auch das interne Leute von Apple, die Sachen im internen Design und Reviewen wollen, bevor sie überhaupt öffentlich diskutiert werden und das findet er eben alles nicht so gut und ist dann lässig ausgetreten, das fand ich auch interessant, was da passiert ist. In Letzenburg.
Das ist ein bisschen ein Problem, wenn eine Firma, die solche Sachen gerne geheim hält, Open Source machen möchte, dann ist es sicherlich nie hundertprozentig Open Source, weil sie halt Sachen geheim halten möchte und dann kommen halt solche Probleme, kann ich mir sehr gut vorstellen, das ist sicherlich nicht das einzige, warum das so ist, also ich hab schon häufig gehört, dass man nicht unbedingt gerne bei Apple arbeitet, sagen wir so. Auch wenn das für viele ein Traum ist, ist das die Umgebung da vielleicht nicht unbedingt die beste und ich weiß nicht, wie das bei anderen Tech-Firmen ist, wahrscheinlich auch nicht viel besser.
Ich glaube, dass überall Druck und Zeitdruck und...
Ich glaube, dass es immer noch eine neue Entwicklung für Apple ist, dass sie mehr Richtung Open Source gehen und ein paar Sachen machen und es wird auch besser tatsächlich, aber es wird auch langsam besser. Man kann nicht so von heute auf morgen intrinsische und wirklich internalisierte Verfahren wie Geheimhaltung, glaube ich, bei Apple schnell rausbekommen.
Also jedenfalls, das ist so eine Sache, die Apple ja irgendwie im Open Source macht, ist der Colonel vom Betriebssystem, der David, ich hab ja geguckt, das letzte Update ist auch schon irgendwie ein halbes Jahr her so, wahrscheinlich wird auch mehr geheim gemacht und dann wird alle paar mal wieder ein bisschen was von dem Source-Code veröffentlicht. Ja, danke.
Also Apple macht ja schon in letzter Zeit mehr öffentlich, die haben ja auch zum Beispiel die Markdown-Features von der SwiftUI, also SwiftUI kann ja inzwischen den Text einfach markdown rendern, das ist aber tatsächlich eine Open Source Library, also SwiftMarkdown und die benutzt genau das oder der neue Docsie-Render, also dieses Docsie-Documentation-Compiler, das ist ja eigentlich nur ein internes Tool von denen gewesen und die haben das jetzt auch zu Hause, also insofern, ich glaube, die gehen schon mehr in diese Richtung, nur halt in kleinen Schritten.
Ja, weil sie auch sehen, dass es viel Vorteile hat, ich meine, da kriegen die kostenloses Peer-Reviewing und es hilft die ganze Community und ich meine, das hat so viele Vorteile, die auch Apple gerne hat wahrscheinlich.
Ich finde auch in der Software sollte man so offen wie möglich sein, das bringt nur Vorteile. Naja, das ist so Chris Leibner und der Geschichte dazu fand ich auf jeden Fall interessant und erwähnenswert. Jetzt noch zwei weitere Proposes, das erste ist ein kleines und zwar, das nennt sich Opaque Parameter Decorations, SE341.
Im Grunde geht es darum, das Problem, wenn man in SwiftUI zum Beispiel ein Code extrahieren möchte und das sind halt verschiedene Typen von Views und dann hat man da eine Funktion, sagen wir die Funktion horizontal und die bekommt zwei Parameter, nämlich einen ersten View und einen zweiten View und man möchte sie horizontal in dieser Funktion darstellen, da muss man das ganze generisch definieren.
Da muss man sagen, ok diese Funktion horizontal hat einen ersten View von Typ V1 zum Beispiel und einen zweiten von Typ V2 und dann kann man als Return Type Sum View return und Sum View ist nämlich ein Opaque Type, das nennt sich Opaque Type und mit diesem neuen Proposal, also in SwiftUI.7 wahrscheinlich, geht das auch für die Parameter. Das heißt man kann in Parameter schreiben, horizontal, V1 vom Typ Sum View, V2 vom Typ Sum View und Return Type ist auch Sum View und diese Parameter Sum View gehen gehen vorher nicht und das soll jetzt gehen.
Da bin ich auch schon genauso reingelaufen, also ich habe auch schon so Dinge gebaut und das muss ich genau das machen, da habe ich mich auch ausprobiert, geht Sum View als Ding? Nee geht nicht, wie macht man das? Ah ja anders, gibt Generics.
Das sind eigentlich diese kleinen Dinge, die man erwartet, dass sie funktionieren und die müssen jetzt nachgeliefert werden. Jetzt mehr Arbeit für den Compiler und weniger dann für den Entwickler.
So, das letzte Mal liest und das hatte ich schon letztes Mal angedeutet, dass ich das richtig cool finde, SE329 Clock, Instant and Duration und das ist ein größeres, wo man auch sehr lange diskutiert, damit die API richtig wird, ist aber nicht so kompliziert wie zum Beispiel Distributed Actors, was man aus mehreren Propos bestehend wird, das hier passt in ein Proposal.
Also wir haben ja Date und Time Interval als Typen, mit denen man die Zeitberechnungen anstellen kann. Leider sind diese Typen also Date vor allem, Time Interval ist eigentlich ein Type-Alias für Double, aber Date vor allem ist ein Teil von Foundation, das heißt es ist nicht Teil von Swift und insbesondere auf Linux funktioniert das nicht oder anders.
Also auf jeden Fall ein paar APIs und so weiter. Und das möchte ich mal angehen und möchte dann auch gleich diese APIs deutlich verbessern. Und da gibt es jetzt eben drei neue Typen, die man in Zulich einführen möchte, der erste als Clock, der zweite Instant und der dritte Duration.
Ein Clock ist etwas Neues, das ist keine Alternative für Time Interval oder Date und das ist auch keine Alternative für Calendar, also die Kalendarsysteme sind hier gar nicht mit enthalten, hier geht es nur um einen festen Zeitpunkt in der Geschichte sozusagen.
Und ein Clock ist eigentlich ein Protokoll, das einfach zwei Funktionen hat. Einmal kann es einen Now zurückgeben, also den jetzigen Zeitpunkt und das zweite ist, dass du kannst die Typen, also kannst du sozusagen einen Timer erstellen, der nach einer bestimmten Zeit immer so ausführt.
Und diese Sleep-Funktion kriegt eine Instant übergeben, also bis wann, Instant ist nämlich dieser bestimmte Zeitpunkt in der Geschichte sozusagen und man kann eine Tolerance übergeben und das ist dann eine Duration, also Instant und Duration sind sozusagen sehr wichtig.
Und diese Sleep-Funktion ist auch Asynchron, also das ist diese Async/Await Geschichte und es gibt noch eine zusätzliche Convenience Methode in einem Clock und das ist Measure, da kann man dann Closure übergeben, also man kann die Lieblingscode ausführen und diese Funktion führt einfach sozusagen in den Timer und guckt wie lange es dauert. Das ist ein Clock.
Dann gibt es einen Instant, ein Instant ist ein bestimmter Zeitpunkt in der Geschichte. Roger, du willst was?
Nee, nee, ich bin fertig. Ich finde das sehr gut.
Ja, okay, ein Instant ist ein bestimmter Zeitpunkt in der Geschichte und hat die Funktion Advance und Duration. Advance ist um die Zeit sozusagen, Advance By, sorry nicht Advance, Advance By, das ist um einen neuen Instant zu bekommen, die man später oder früher hat.
Das ist irgendwie bei Date auch, wo man, depending wie Time Interval hinzufügen, man kriegt einen neuen Date und es gibt noch eine Funktion die heißt Duration To. Also man kann eine zweite Instance übergeben und dann kriegt man die Duration zwischen diesen zwei Zeitpunkten. Das war es eigentlich schon.
Also das ist die Instant Protokoll, das ist was ein Instant kann und es hat noch ein bisschen Arbitratik, dass man Sachen addieren kann, man kann zwei Zeitpunkte zusammen addieren und dann kommt ein neuer Zeitpunkt raus und so weiter.
Und das dritte und letzte in diesem Bindel ist die Duration, die Duration unterstützt Vollarbitratik, man kann da Plus machen, Mal machen, mit, also das ist ein Zeitintervall und man bekommt die Components.
Die Components bestehen aus, das wurde sehr lange diskutiert, wie man das speichern soll und Time Interval wird ja als W gespeichert, was Sekunden repräsentiert und bei Duration hat man sich dafür entschieden eine Int64 zu speichern, die Sekunden repräsentiert, plus eine weitere Int64, was Attosekunden repräsentiert, also keine Ahnung, ein Milliardstel oder noch weniger.
Das heißt man speichert zwei Integers und dadurch hat man genauere Berechnungen, also man hat keine Floating Points, man hat keine ungenauen Rundungsfehler und so weiter, sondern es ist alles genau exakt.
Und es gibt noch zusätzliche Components-EPIs zum Konvertieren auf Duration, man kann dann, wenn man irgendein Duration-Objekt hat, kann man darauf Punkt Seconds oder Punkt Miniseconds aufrufen bzw. man kann auch eine Duration erstellen, indem man sagt, ok, Duration Punkt Seconds 5, dann hat man eine Duration der Länge von Sekunden erstellt.
So, jetzt heute. Ja, das wird sich sehr interessant, ich weiß aber noch nicht genau ob das tatsächlich zu dem passt, was ich mache, und zwar für meine App, die ich gerade aktualisiert habe, Second Clock, da will ich ja mit der eigentlichen internen Uhr umspringen, jede Minute umspringen.
Was ich jetzt auch immer mache ist, ich mache mir auch so ein Event, der mir dann irgendwie in einer Minute Bescheid gibt, dass ich wieder umspringen soll, da der aber nicht sehr genau ist dieser Event, weil Apple will ja Strom sparen, mache ich den nicht auf eine Minute, sondern ich mache den auf, glaube ich, 55 Sekunden oder 56 Sekunden und da muss ich wirklich versuchen abzupassen, also dann gucke ich nach, ob die Internur schon umgesprungen ist, wenn ja dann springe ich auch um, wenn nicht dann gucke ich in einer Sekunde nochmal und dann gucke ich nochmal in eine Sekunde und dann gucke ich nochmal in eine Sekunde und das könnte ich wahrscheinlich hiermit genauer machen, weil ich könnte wahrscheinlich sagen, also das müsste ich vielleicht nur noch einmal machen so und dann könnte ich sagen, spring um in einer Sekunde, in einer Minute und ich will das genau haben auf eine Sekunde oder auf eine Millisekunde.
Genau, also dank der Sleeve Methode, die ja den Parameter Tolerance hat, wo du eine Duration angeben kannst, was du noch akzeptieren kannst im Toleranz, wäre das möglich. Ob das dann immer garantiert ist, das kann ich dir jetzt nicht sagen, aber wenn das mal in einer halben Sekunde auseinanderspringt, ist ja egal, aber es soll nicht auf einer Uhr um 5.15 Uhr sein und auf der anderen Seite nicht die nächsten 30 Sekunden um 14 Uhr sein.
Also es geht hier darum, dass das einfach eine neue Timer Implementierung wird oder dass man da...
Ja, also ich erkläre vielleicht noch, wie das jetzt mit Dates und Calendars und so weiter weitergeht und wie das jetzt zusammen läuft, das glaube ich könnt ihr jetzt verstehen. Also von der Clock, das ist erstmal ein Protokoll, da gibt es zwei Implementierungen, die angeboten werden, einmal Continuous Clock, einmal Spending Clock.
Ein Continuous Clock ist quasi das, was man in der App verwendet in der Regel, das ist dann einfach die Standard Clock sozusagen, die ist nicht thread safe, das heißt, die für deine App funktioniert richtig, aber du kannst keine Interprozesskommunikation auf dem Mac machen mit mehreren Apps oder so, dazu ist dann das Spending Clock da, die wahrscheinlich ein bisschen schräg zu handeln sein wird. Also das sind die zwei Clocks, die Apple anbieten wird.
Dann kommt noch ein dritter Clock, das ist dann eben nicht Teil von Swift, sondern das baut Apple, das haben sie schon angekündigt in Foundation ein, das nennt sich UTC Clock.
Das UTC Clock ist im Grunde diese Clock, die dann die Verbindung herstellt zwischen den Dates, die wir jetzt haben und dieser neuen Protokollwelt, weil ein UTC Clock ist dann einfach ein Clock Protokoll und ein Clock Protokoll definiert, dass du dessen Instant Thread definierst, das ist ein Instant Protokoll und die Implementierung dieses Protokolls wird in Date hinzugefügt. Das heißt, Date ist dann eine Variante eines Instants und zwar in einem UTC Clock.
Und das ist sozusagen, wie das dann alles zusammen läuft, das heißt wir arbeiten dann in Zukunft viel auch mit UTC Clock und sagen dann UTC Clock.now zum Beispiel oder UTC Clock.sleep und bekommen dann als Typ in den UTC Clock immer einen, wenn mit Punkt.now auf uns eine Date zurück.
Diese Date implementiert dann auch die Instant Protokolls, das heißt hat dann auch die entsprechenden Advanced and Duration Features und hat dann auch einen neuen Duration Typ.
Genau, es gibt dann zum Beispiel eine In-Metode, um ein Instant zu erstellen, was eben dann ein Date bekommt, das wird dann hin und her kommentiert und dann klappt das alles.
Man kann auch eigene Clocks definieren, als Beispiel hat es in der Propose genannt, dass man dadurch in Tests die Zeit kontrollieren kann, indem man einfach sozusagen eine sogenannte In-Memory Time Clock oder sowas hat, also das ist dann tatsächlich, das ist dann unabhängig von der Zeit, man kann dann einfach selber den bestimmten, jetzt soll dieser Zeitpunkt sein, unabhängig von der realen Zeit und das ist in Tests halt sehr praktisch, wenn man dann sagen kann, okay, jetzt gehen wir 5 Sekunden in die Zukunft.
Guck mal, ob mein Easter Egg auch wirklich nur mitverfunktioniert. Genau, exakt genau dafür ist es dann praktisch und da kann man dann eben einen eigenen Clock typen definieren. Und das ist Clock Instant Duration, ist jetzt endlich akzeptiert und wird wahrscheinlich demnächst kommen.
Bin ich mal gespannt, ob das wirklich, ich meine, viele Dinge, die man jetzt macht, die sind ja jetzt nicht irgendwie groß kompliziert oder komplex, aber ich weiß jetzt nicht, ob, da wird es wahrscheinlich dann Dinge geben, die man machen kann, die man jetzt nicht viel machen kann, aber ob diese Dinge, die man jetzt schon machen kann, ob es das einfacher macht.
Das ist ja auch nicht immer unbedingt die 100.000%igste Genauigkeit gefordert, aber ich glaube, es ist auch praktisch, dass es jetzt auf allen Plattformen die gleichen APIs geben wird. Und insbesondere gab es ja nicht nur Date und Time Interval, es gab ja noch Dispatch Time, Dispatch Wall Time, Dispatch Time Interval. Jedes Framework hat seine eigenen Daten und Duration Türen und das wird jetzt einfach einheitlich.
Das ist schon eine gute Sache. Klar, um das alles aufzuräumen, macht das schon Sinn. Bin ja mal gespannt, damit dann bestimmt auch irgendwann mal was von Paul Hatzen kommt. Der macht das dann immer sehr, sehr einfach dargestellt, was man dann jetzt machen kann. Das finde ich ganz angenehm, dass er da so.
Würde ich auch gerne jetzt schon machen, aber es ist halt noch nicht klar, wie die überhaupt aussehen werden, weil das alles halt noch Zukunftsmusik ist. Aber wie es nun mal seinverwenden kann, das sieht man dann eben später.
Wenn du sagst, das ist Zukunftsmusik, was glaubst du, wie lange wird das dauern, bis wir das benutzen können, also bis es ausgerollt ist? Dauert es jetzt noch ein Jahr oder dauert es noch ein Jahr?
Man kann immer auf die Proposes klicken und dann sieht man teilweise, also wenn man auf Status-Click guckt, dann sieht man in diesem Fall, da steht Accepted. Das bedeutet, dass es noch nur akzeptiert ist, aber es gibt dann immer eine Anforderung für Proposes, eine Implementierung. Wenn ich da drauf klicke, das ist eine Pull Request auf Github, Apple/Swift, dann sieht man, das ist schon gemercht in den Main Branch. In diesem Fall kann man davon ausgehen, dass es einfach mit dem nächsten größeren Feature Release rauskommt, was Swift 5.7 wahrscheinlich sein wird.
Wenn das rauskommt, ich tippe mal auf nach.daptdc. Also mit daptdc. Bei manchen steht auch insbesondere, ja mit daptdc die Beta dann sozusagen. Aber das ist jetzt noch nicht sicher, ich tippe nur darauf, weil es schon gemercht ist. Manchmal merkt es sich auch wieder aus und merkt es später wieder ein, also es kann auch passieren. Offiziell weiß man es aber bei manchen Proposes, da steht dann ganz konkret Implemented in Swift 5.6, Implemented in Swift 5.7, da weiß man es dann genau. In dem Fall ist es noch nicht klar.
Soviel zu Swift Evolution News. Finde ich auf jeden Fall eine sehr gute Kategorie, macht mir jetzt schon beim Zufassen.
Ja, man muss jetzt gerade für den Schluss schon viel Informationen noch mal zu verarbeiten und Aufmerksamkeit und Nachdenken und so. Aber dann vielleicht mal gucken, ob wir die vielleicht noch mal irgendwie nicht ganz anschluss machen, aber an sich finde ich die gut.
Brauchen wir vielleicht so einen musikalischen Trainer für zum nächsten Thema.
Und dann kommen wir zum Framework der Woche Swift Parsing. Was ist denn Swift Parsing?
Ich darf noch weiter reden. Swift Parsing ist ein Framework, wie es schon am Stich ist, geht es um Parsing.
Den Stadtteil? Den Münchner Stadtteil?
Münchner Swift Parsing. Richtig, genauer gesagt. Gut. Oder dann Taylor Swift in Parsing.
Also diese Library ist von zwei Entwicklern, die heißen Brandon Williams und Stephen Seelis, die machen nämlich Pointfree, also Pointfree.co, die machen da so eine Videoserie sozusagen.
Das ist auch Paid größtenteils mit ein paar kostenlosen Videos, aber da haben sie das durchentwickelt.
Und diese Parsing Library ist im Grunde eine Parsing Library, die eine gewünschte Eigenschaft hat, die ich richtig cool finde.
Und das ist, dass man die Parser in einer SwiftUI ähnlichen Struktur schreiben kann.
Das heißt, man sagt nicht irgendwie, ok, jetzt parsen wir mal irgendwie. Also die Library hatte tatsächlich früher, die war nicht SwiftUI konform, also hatte keine Result-Bildes eingesetzt.
Dann muss man sagen, ok, hier ist eine Funktion, pass erstmal diesen Teil, dann diesen Teil. Aber jetzt kann man inzwischen einfach sagen, ok, ich will zum Beispiel eine CSV-Teil parsen.
Dann sage ich einfach "Pars", dann definiere ich, wie eine CSV-Teil strukturiert ist oder wie meine CSV-Teil, die ich erwarte, strukturiert ist, Stück für Stück, wie ich auch Views definieren soll.
Also schreibt man dann zum Beispiel, wenn man Pars hat und dann möchte man, man hat zum Beispiel "let x = 5", ich möchte "let x = 5", Code möchte ich passen.
Dann sage ich ok, "Pars", öffne ich den geschreite Klammer, dann sage ich ok, "prefix up to" ist gleich. "prefix up to" ist ein Typ wie ein View.
Und das Parameter übergebe ich "is" gleich als ein String. Dann nehme ich "let x" sozusagen und fange das in diesem "prefix up to" ein. Dann in der nächsten Zeile schreibe ich ok, einfach ein String "is" gleich, also der soll jetzt "is" gleich parsen, dann habe ich "let x" als ersten Teil, "is" gleich als zweiten Teil und dann sage ich noch "int.parser", was in dieser Library definiert ist.
Dann parser mir noch ein "int" und dann habe ich alle drei Teil gepars und kriege das sozusagen als Output zurück. In dem Fall kriege ich "is" gleich nicht zurück, weil wenn ich ein "is" gleich hinschreibe, dann will ich nichts lesen.
dann will ich ja nichts lesen, aber wenn ich prefix apto sage, dann will ich wohl diesen Part lesen und auch In-point-Parser, dann will ich in-point lesen, dann kriege ich eine Tupel zurück mit dem String letx und einen zweiten Tupel mit der Zahl.
Und es gibt ganz viele Beispiele in dieser Library, was man da alles machen kann. Ich habe das tatsächlich schon in der App verwendet, an der ich gerade arbeite.
Man hat da einen ganz komplexen Strings-File-Parser geschrieben, der Android-Strings-Files parsen kann. Also schon recht komplex, aber man kann auch sehr einfach Strummit-Parsen und dann auch Beispiele in ihrer Library.
Ich empfehle da den Benchmark-Rot, also wenn man die Library öffnet, dann sucht man den Benchmark, dann findet man ganz viele Beispiele implementiert, um einfach zu sehen, wie schnell der Parser ist. Und da findet man Beispiele für einen CSV-Parser, für einen Color-Hex-Parser, einen HTTP-Request-Parser, einen JSON-Parser, einen Routing-Parser. Also das kann ich empfehlen, das macht echt Spaß damit zu entwickeln. Und ja, finde ich richtig cool.
Ja, also ich glaube, wir hatten ja auch schon mal privat kurz darüber gesprochen, ich habe da auch mal so ein bisschen mit String bis zu einem Doppelpunkt und dann das danach und so weiter. Und das muss ja in Swift mit, also mit Ranges musst du dann arbeiten und so weiter, aber das ist nicht gut lesbar.
Einfache Dinge kann man schon mit den Ranges machen, aber wenn man dann natürlich so eine App baut, wo du das, sag mal, heavily benutzt, dann sollte man echt gucken, dass man noch so eine Library gibt, weil die hilft einem dann schon ungemein, auch von der Lesbarkeit her.
Genau, ich bin generell ein großer Fan von fast allem, was Pointfree macht, also ich habe das nicht einzig, die sie ausgebracht haben, aber ich mag gerne mal nach weitermachen schauen. Aber diese Library habe ich halt großem Einsatz gehabt und ich glaube, die ist recht flexibel einsetzbar bei Parsing letztlich.
Also ich nehme mal ein anderes Beispiel. Ich habe öfter auch RegularExpressions in meinem Code gebraucht.
Das heißt, ich habe dann StringDefinier, die irgendwie so eine bestimmte Struktur wiedergehen mit Punkt* und so weiter, die die ganzen Match-Anlegen da gibt, "\s" um Y-Species zu finden etc.
Und das war halt nie lesbar, die anderen Entwickler haben es dann nicht verstanden, was diese RegularExpressions genau gemacht hat.
Man kann mit dieser Library sogar die RegularExpressions komplett ersetzen.
Ich habe auch einen Pro Request gestellt, zum Beispiel in Discussion in dieser Library auf GitHub, wo ich das genauer erkläre mit dem Beispiel, wie ich das gemacht habe.
Man braucht nämlich eine kleine Extension dafür, aber das ist ein 3-4-2-Kod, das ist dann kein Problem.
Und dann kann man eben so einen Parse verschreiben.
Und einfach sagen, anstatt Parse, also dass er die Daten rauslesen kann, fragt man einfach "Matches". Das ist dann eine Funktion, die einfach einen Bullin zurückgibt und wenn diese Struktur, die man definiert hat, in dem String dann Match, dann kriegt man die im Tool zurück und wenn nicht, dann fort. Genau wie eine RegularExpression eben funktioniert.
Das ist noch eine Anwendung 2 mehr, wo man diese Library benutzen kann.
Ja, ich merke schon, es ist schon...
Das ist, vor allen Dingen, es ist sehr komplex. Also wir hatten in der Vordiskussion, ähm, zur Folge heute überlegt, was wir ein Framework der Woche machen sollen.
Ich hatte irgendwie so eine Sammlung von kleinen Fahnen. Da ist das hier doch deutlich komplexer.
Aber die kleinen Fahnen auch gut sind. Aber ich meine, die kleinen Fahnen, die kannst du ja auch mit Emojis machen. Also außer natürlich in China, dann hast du ein Problem mit der Taiwan-Sag. Aber gut, das ist ein anderes Thema.
Vielen Dank für dieses interessante Framework. Ich weiß noch nicht, ob ich das gebrauchen kann, aber...
Es ist komplex, ich gebe es zu.
Es ist auf jeden Fall sehr interessant.
Es ist komplex, man braucht eine Weile, bis man das komplett kapiert hat. Aber das Gute ist, es ist gut dokumentiert und es gibt viele Beispiele. Also man kann da wirklich viel gucken und viel abgucken.
Na ja, du kannst eigentlich schon sobald du irgendwas aus irgendeinem String, wenn du irgendeine Stelle raushaben willst, ist das wahrscheinlich das Richtige. Ja.
Gut.
Jo.
Dann würde ich sagen, schließen wir das Tagebuch. Eine 2-2 Stunden Folge vom Tagebuch. Aber das ist auch sehr cool und ich habe sehr viel gelernt. Ich bin ein bisschen überfordert von diesen ganzen Swift Evolution News, obwohl da auch einiges Cooles bei war. Und ich bin mir sicher, dass ich mir kein Studio mehr kaufe.
Ich glaube, wir werden das mal ein bisschen... Ich meine, ich habe auch ein bisschen lang geredet. Vielleicht mal ein bisschen umschieben. Das ist vielleicht immer mehr in die Mitte. Ich glaube auch, das ist eigentlich auch so die Dinge, die ein bisschen Konzentration brauchen und natürlich haben wir die am Anfang eher als am Schluss. Ja.
Gut. Ansonsten, bis zum nächsten Mal.
Bis zum nächsten Mal.
Bis dann.
Ciao.
Tschüss.
Das App Store-Tagebuch ist ein Projekt von Nico und Holger. Die Links zu dieser Sendung wie auch den Link zu dem Intro von Luke Hash findet ihr auf App Store-Tagebuch.de.