Objective C oder Swift

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Objective C oder Swift

    Hallo,

    ich Programmier bereits mit AppleScript - falls man AS als Programmiersprache ansehen kann - und mit Python.

    Nun Möchte ich komplexer Applikationen Für den Mac schreiben (mit Xcode).

    Ich habe folgende Fragen bzw. Probleme:
    - Ganz Grundsätzlich, welche Sprache würdet ihr mir für die Cocoa Programmierung Empfehlen?
    - Macht es Sinn, wenn ich doch eh mit dem Cocoa Framework arbeite, welches meines Wissens nach auf C basiert, mit Swift zu Arbeiten, oder ist es Sinnvoller dann mit ObjC zu arbeiten?
    - Wenn ich in einem "Command Line" Tool mit der Sprache Swift eine Zeile Code Schreibe, das ganze nun ausführe Funktioniert alles. Wenn ich die selbe Zeile in ein iOS Projekt einfüge Bekomme ich irgendeine Fehlermeldung Zurück, das selbe auch wen ich die Gleiche Zeile in das macOS Projekt einsetze. Warum?
    - Wo liegt der Unterschied zwischen Swift für macOS oder iOS

    Jetzt schon mal vielen dank für eure Hilfe
    Grüße Paul

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Paul___Paul ()

  • Paul___Paul schrieb:

    1. Wenn ich in einem "Command Line" Tool mit der Sprache Swift eine Zeile Code Schreibe, das ganze nun ausführe Funktioniert alles. Wenn ich die selbe Zeile in ein iOS Projekt einfüge Bekomme ich irgendeine Fehlermeldung Zurück, das selbe auch wen ich die Gleiche Zeile in das macOS Projekt einsetze. Warum?

    2. Wo liegt der Unterschied zwischen Swift für macOS oder iOS
    zu 1) kann ich leider nichts sagen, da mir die Glaskugel abhanden kam.
    zu 2) es gibt keinen Unterschied

    Paul___Paul schrieb:



    3. Ganz Grundsätzlich, welche Sprache würdet ihr mir für die Cocoa Programmierung Empfehlen?
    4. Macht es Sinn, wenn ich doch eh mit dem Cocoa Framework arbeite, welches meines Wissens nach auf C basiert, mit Swift zu Arbeiten, oder ist es Sinnvoller dann mit ObjC zu arbeiten?
    zu 3) Hier würde ich dir grundsätzlich Swift as Herz legen. Ist moderner und viel klarer. Ausserdem kannst Du auch funktionen welche in OC geschreiben sind, transparent aus Swift heraus aufrufen.
    zu 4) ich glaube nicht dass du heutzutage noch alles mit der Steinzeittechnik machen willst. Daher sehe ich den Punkt nicht. Über SwiftUI kannst du bspw. direkt oberflächen unter macOS erstellen, wenn du dann doch mal Steinzeittechnik brauchst, da diese zu dem aktuellen Zeitpunkt noch nicht implementiert ist, kannst du sie einfach kapseln. Das macht dann halt ein paar Zeilen Code aus der Steinzeit. Aber dir stehen alle Wege offen und bist entsprechend effektiv.
  • Paul___Paul schrieb:

    - Ganz Grundsätzlich, welche Sprache würdet ihr mir für die Cocoa Programmierung Empfehlen?
    Wie auch @Wolf schrieb, Swift. Es ist offensichtlich, dass Apple hier die Zukunft der macOS- / iOS-Entwicklung sieht, so dass es für einen Neueinsteiger wenig Sinn macht, noch auf Objective-C zu setzen. Bzgl. "moderner" oder "klarer" kann man unterschiedliche Meinungen haben, aber alleine dieser Punkt ist m. E. das Hauptargument für Swift.

    Paul___Paul schrieb:

    - Macht es Sinn, wenn ich doch eh mit dem Cocoa Framework arbeite, welches meines Wissens nach auf C basiert, mit Swift zu Arbeiten, oder ist es Sinnvoller dann mit ObjC zu arbeiten?
    Kenntnisse von AppKit für macOS bzw. UIKit für iOS / iPadOS sind unumgänglich und ohne Foundation wirst Du kaum eine native App jenseits von SwiftUI geschrieben bekommen. Daher habe ich keine Ahnung, warum @Wolf dies als "Steinzeittechnik" bezeichnet, auch wenn er hier bei jeder Gelegenheit - und darüber hinaus - SwiftUI progagiert. Meiner Meinung nach werden komplexere Applikationen noch auf absehbare Zeit eine Entwicklung mit den Cocoa-Frameworks erfordern. Ob Du deren Klassen und Methoden jedoch in Objective-C oder Swift einbindest, ist nahezu egal.

    Paul___Paul schrieb:

    - Wenn ich in einem "Command Line" Tool mit der Sprache Swift eine Zeile Code Schreibe, das ganze nun ausführe Funktioniert alles. Wenn ich die selbe Zeile in ein iOS Projekt einfüge Bekomme ich irgendeine Fehlermeldung Zurück, das selbe auch wen ich die Gleiche Zeile in das macOS Projekt einsetze. Warum?
    Nenn' uns die Zeile doch einmal: Ich vermute, dass dies mit einem verwendeten Framework zu tun hast, das Du nicht included hast. "Irgendeine Fehlermeldung" qualifiziert sich jedoch nicht als ausreichende Problembeschreibung ... das sollte Dir als Programmierer eigentlich klar sein.

    Paul___Paul schrieb:

    - Wo liegt der Unterschied zwischen Swift für macOS oder iOS
    Es gibt keinen, die Unterschiede liegen in den zu verwendenden Frameworks und natürlich den unterschiedlichen Bedienphilosophien.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • hier mal zwei Codeabschnitte, welche ich zu einen Test zwischen OC und Swift gefunden hbe, sollen das gleiche machen

    Quellcode

    1. #import "Bogo.h"
    2. @implementation Bogo
    3. - (void)start {
    4. NSMutableArray *list = [self createArray];
    5. [self shuffle:list];
    6. NSLog(@"List [%@]", list);
    7. NSDate *startDate = [NSDate date];
    8. NSLog(@"Start [%@]", startDate);
    9. while ([self isSorted:list] == NO) {
    10. [self shuffle:list];
    11. }
    12. NSDate *endDate = [NSDate date];
    13. NSLog(@"End [%@]", endDate);
    14. NSLog(@"Time Spent [%@]", @([endDate timeIntervalSinceDate:startDate]));
    15. NSLog(@"List [%@]", list);
    16. }
    17. - (BOOL)isSorted:(NSMutableArray *)list {
    18. for (NSInteger i = 1; i < list.count; i++) {
    19. if ([list[i] compare:list[i - 1]] == NSOrderedAscending) {
    20. return NO;
    21. }
    22. }
    23. return YES;
    24. }
    25. - (void)shuffle:(NSMutableArray *)list {
    26. NSUInteger count = list.count;
    27. if (count <= 1) {
    28. return;
    29. }
    30. for (NSInteger i = 0; i < count - 1; i++) {
    31. NSInteger remainingCount = count - i;
    32. NSInteger exchangeIndex = i + arc4random_uniform((u_int32_t )remainingCount);
    33. [list exchangeObjectAtIndex:i withObjectAtIndex:exchangeIndex];
    34. }
    35. }
    36. - (NSMutableArray *)createArray {
    37. NSInteger numberOfItems = 10;
    38. uint32_t upperBound = 100;
    39. NSMutableArray *list = [[NSMutableArray alloc] initWithCapacity:numberOfItems];
    40. for (NSInteger i = 0; i < numberOfItems; i++) {
    41. NSInteger result = arc4random_uniform(upperBound + 1);
    42. [list addObject: @(result)];
    43. }
    44. return list;
    45. }
    46. @end
    Alles anzeigen

    Quellcode

    1. import Foundation
    2. let numberOfItems = 10
    3. let upperBounds = 100
    4. var randomList: [Int] = (0..<numberOfItems).map { _ in Int.random(in: 0...upperBounds)}
    5. print("\(randomList)")
    6. let startDate = Date()
    7. print("Start \(startDate)")
    8. while randomList.isSorted == false {
    9. randomList.shuffle()
    10. }
    11. let endDate = Date()
    12. print("End \(Date())")
    13. print("Time Spent [\(endDate.timeIntervalSince(startDate))]")
    14. print("\(randomList)")
    15. extension Array where Iterator.Element: Comparable {
    16. var isSorted: Bool {
    17. for i in 1...self.count - 1 {
    18. if self[i-1] > self[i] {
    19. return false
    20. }
    21. }
    22. return true
    23. }
    24. }
    Alles anzeigen
    und jetzt versetz dich in die Lage eines Anfängers, welcher OC nicht mit der Muttermilch aufgezogen hat.


    Für mich gibt es da doch einen klaren unterschied zur verständlichkeit und der prägnanz..

    PS: Das Steinzeit ist auf das Alter bezogen, wie Fortran oder Cobol. Nach meiner Meinung hat OC gegenüber C/C++ einen gnz entscheidenden Nachteil. Es ist einfach unlesbar. Aber das ist meine persönliche Meinung

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Wolf ()

  • Wolf schrieb:


    und jetzt versetz dich in die Lage eines Anfängers, welcher OC nicht mit der Muttermilch aufgezogen hat.
    Das mag richtig sein - allerdings würde mich dazu wirklich einmal die Meinung eines Anfängers interessieren. Wobei Du hier durchaus schummelst, da ein Großteil besagter Prägnanz auf das Vorhandensein der shuffle-Funktion in Swift zurückzuführen ist.

    Umgekehrt bin ich überzeugt, dass jemand mit Vorkenntnissen in COBOL, Fortran, PL/I, C, C++, Pacal, BASIC - you name it - relativ leicht und ohne intensives Studium von Referenzen erkennen wird, was Objective-C-Code macht. Bei Swift keine Chance: Was bedeutet .. vs. ...? Was macht map? ...? Mächtige Sprachkonstrukte, aber für Umsteiger sehr ungewohnt und das ist ja nur die Spitze des Eisbergs.

    Aber ich halte es da mit dem ollen Fritz, Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Wolf schrieb:

    und jetzt versetz dich in die Lage eines Anfängers, welcher OC nicht mit der Muttermilch aufgezogen hat.
    Das mag richtig sein - allerdings würde mich dazu wirklich einmal die Meinung eines Anfängers interessieren. Wobei Du hier durchaus schummelst, da ein Großteil besagter Prägnanz auf das Vorhandensein der shuffle-Funktion in Swift zurückzuführen ist.
    Umgekehrt bin ich überzeugt, dass jemand mit Vorkenntnissen in COBOL, Fortran, PL/I, C, C++, Pacal, BASIC - you name it - relativ leicht und ohne intensives Studium von Referenzen erkennen wird, was Objective-C-Code macht. Bei Swift keine Chance: Was bedeutet .. vs. ...? Was macht map? ...? Mächtige Sprachkonstrukte, aber für Umsteiger sehr ungewohnt und das ist ja nur die Spitze des Eisbergs.

    Aber ich halte es da mit dem ollen Fritz, Mattes
    Oh, jetzt wird es interessant :thumbup:

    PL/I, sorry, ich kenn weder PL/I noch PL/II. Das war eine Steinzeitsprache noch aus der AS/400 Zeit. Ich kenne da einige, die haben über PL/I geflucht wie ein Rohrspatz :rolleyes:

    ups, wo hast du das her? Was bedeutet .. vs. ...

    Was macht map? Das hat allerdings nichts mit der Sprache zu tun, sondern sind Library Funktionen. Dazu muss man sagen, dass Swift, noch mehr als C, auf Libraries aufbaut.

    Vorhin bin ich auf die Seite: github.com/frol/completely-unscientific-benchmarks
    gestossen (OC fehlt hier natürlich), bei welche doch etliche Sprache berücksichtigt sind und ich hier keine Aussagen machen möchte, ob die Tests und Vergleiche sinnvoll sind oder nicht. Es zeigt sich, wenn man da mal hineinsieht, dass sich die meisten doch gar nicht mal so unähnlich sind (die Quellcodes sind mit dabei).

    Aber ich halte es da mit dem ollen Fritz. Sorry, der sagt mir nichts. Könntest Du das mal für Südländer verdeutschen? Vielen Dank.
  • Wolf schrieb:

    PL/I, sorry, ich kenn weder PL/I noch PL/II. Das war eine Steinzeitsprache noch aus der AS/400 Zeit. Ich kenne da einige, die haben über PL/I geflucht wie ein Rohrspatz :rolleyes:
    Ich fand PL/I immer einen sehr guten Kompromiß zwischen Lesbarkeit und der Möglichkeit, systemnah programmieren zu können ... da haben die COBOL-Kollegen viel mehr geflucht (Stichwort pointern, Redefinitionen etc.). Ja, ich bin ein solcher Steinzeitmensch :D

    Wolf schrieb:

    ups, wo hast du das her? Was bedeutet .. vs. ...
    Sorry, hier hätte es ..< vs. ... heissen müssen: Wenn man es kennt keine schlechte Kurzform, aber für Umsteiger ungewohnt ... und warum? Macht es den Code wirklich besser lesbar?

    Wolf schrieb:

    Was macht map? Das hat allerdings nichts mit der Sprache zu tun, sondern sind Library Funktionen. Dazu muss man sagen, dass Swift, noch mehr als C, auf Libraries aufbaut.
    Akzeptiert, hier bin ich selber reingefallen und habe Library- / Framework-Aspekte mit Sprachkonstrukten vermischt. Wobei ich persönlich deren Verwendung in Swift häufig sehr kryptisch finde. Allerdings verfüge ich bisher nur über "passive" Sprachkenntnisse, bin also noch am Üben. Natürlich hat es mit Gewohnheit zu tun, aber mit Vorkenntnissen in anderen Sprachen empfinde ich Swift als kompliziert und schwer zugänglich.

    Wolf schrieb:

    Vorhin bin ich auf die Seite: github.com/frol/completely-unscientific-benchmarks
    gestossen (OC fehlt hier natürlich), bei welche doch etliche Sprache berücksichtigt sind und ich hier keine Aussagen machen möchte, ob die Tests und Vergleiche sinnvoll sind oder nicht. Es zeigt sich, wenn man da mal hineinsieht, dass sich die meisten doch gar nicht mal so unähnlich sind (die Quellcodes sind mit dabei).
    Hier spricht Du von Performanz, die aber nicht Gegenstand meines Beitrags war.

    Wolf schrieb:

    Aber ich halte es da mit dem ollen Fritz. Sorry, der sagt mir nichts. Könntest Du das mal für Südländer verdeutschen? Vielen Dank.
    Das Zitat "Jeder soll nach seiner Façon selig werden." (Link) geht angeblich auf Friedrich II. (den Großen) zurück, den man auch den "alten Fritz" nennt. Er bezog sich zwar auf Religionsfreiheit, aber ich halte es auch bei Programmiersprachen so. Insofern ziehe ich mich jetzt aus der Objective-C vs. Swift Diskussion zurück.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Ja, ich bin ein solcher Steinzeitmensch :D
    Bin ja selbst so ein Steinzeitmensch und schaffe auf meine Pensionierung zu :rolleyes:


    MyMattes schrieb:


    Wolf schrieb:

    ups, wo hast du das her? Was bedeutet .. vs. ...
    Sorry, hier hätte es ..< vs. ... heissen müssen: Wenn man es kennt keine schlechte Kurzform, aber für Umsteiger ungewohnt ... und warum? Macht es den Code wirklich besser lesbar?

    das habe ich noch immer nicht gefunden. Ausser du meinst hier das Sprachkonstrukt von Swift? Da muss ich sagen, das hätten sie auch besser lösen können.


    MyMattes schrieb:


    Wolf schrieb:

    Was macht map? Das hat allerdings nichts mit der Sprache zu tun, sondern sind Library Funktionen. Dazu muss man sagen, dass Swift, noch mehr als C, auf Libraries aufbaut.
    Akzeptiert, hier bin ich selber reingefallen und habe Library- / Framework-Aspekte mit Sprachkonstrukten vermischt. Wobei ich persönlich deren Verwendung in Swift häufig sehr kryptisch finde. Allerdings verfüge ich bisher nur über "passive" Sprachkenntnisse, bin also noch am Üben. Natürlich hat es mit Gewohnheit zu tun, aber mit Vorkenntnissen in anderen Sprachen empfinde ich Swift als kompliziert und schwer zugänglich.
    Da gebe ich dir recht. Hier ist die Dokumentation doch alles andere als vielsprechend...

    Das einzige, was ich hier vernünftiges gefunden habe, ist das Buch von Paul Hudson "Pro Swift"


    MyMattes schrieb:


    Wolf schrieb:

    Vorhin bin ich auf die Seite: github.com/frol/completely-unscientific-benchmarks
    gestossen (OC fehlt hier natürlich), bei welche doch etliche Sprache berücksichtigt sind und ich hier keine Aussagen machen möchte, ob die Tests und Vergleiche sinnvoll sind oder nicht. Es zeigt sich, wenn man da mal hineinsieht, dass sich die meisten doch gar nicht mal so unähnlich sind (die Quellcodes sind mit dabei).
    Hier spricht Du von Performanz, die aber nicht Gegenstand meines Beitrags war.

    Mir ging es da nicht um die Performance der verschiedenen Sprachen, zu der ich sagte, ich möchte hier nichts dazu sagen, sondern um die Lesbarkeit der Code Beispiele.
  • Lesbarkeit liegt halt immer in Auge des Betrachters.

    für mich ist ein Code aus reinem ANSI-C immer noch der beste lesbare Code den es gibt, denn man muss eigentlich wirklich nur ein paar ganz wenige Befehle kennen und versteht was dort passiert.

    die heutigen neuen Sprachen sind unglaublich abstrakt und bieten unendlich viele verschiedene möglichkeiten die gleiche Lösung mit unterschiedlichsten Konstrukten zu erziehlen. Entweder ich kenne diese alle oder ich muss Glück haben dass der Programmierer vor mir eine benutzt hat von denen die ich kenne oder ich muss mir erstmal anlernen was er da gemacht hat.

    Für mich ist z.b. strikte Typisierung ein Riesen Rückschritt in Sachen Programmiersprache. Klar, es macht den Einstieg leichter weil man weniger können muss (im Sinne von man weiß man tut) aber die Lesbarkeit wird dadurch bis ins lächerliche verzerrt weil im Endeffekt muss man für jede Variante eine Definition haben.

    Aber ich schweife ab…
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Wolf schrieb:

    MyMattes schrieb:

    Wolf schrieb:

    ups, wo hast du das her? Was bedeutet .. vs. ...
    Sorry, hier hätte es ..< vs. ... heissen müssen: Wenn man es kennt keine schlechte Kurzform, aber für Umsteiger ungewohnt ... und warum? Macht es den Code wirklich besser lesbar?
    das habe ich noch immer nicht gefunden. Ausser du meinst hier das Sprachkonstrukt von Swift? Da muss ich sagen, das hätten sie auch besser lösen können.
    Ich denke er bezieht sich auf die Definition von randomList in Deinem Beispiel. Da kommt beides vor.

    Für mich als SWIFT-Anfänger ist das alles ziemlich unlesbar und unverständlich. Es gibt kaum offensichtliche Parallelen zu anderen Programmiersprachen.

    Das war beim Einstieg in Obj-C ganz anders. Alles ist C (was ich damals schon ein paar Jahre kannte). Alles in [ und ] ist ein Array-Zugriff wie bei C oder ein Methodenaufruf. Alles neue ist mit @ und @interface, @implementation, @class sind selbsterklärend. Alles ganz einfache Regeln.

    Die einzige echte Hürde war die Regeln von retain/release zu lernen.

    Daher mache ich alle meine Projekte in Obj-C und bin noch nie an Grenzen gestossen.

    Was ich auch schon gemacht habe ist ein SWIFT-Projekt (z.B. github.com/raphaelhanneken/icnscomposer ) in Obj-C zu übertragen, damit ich es in meinem Sinne weiterentwickeln kann (in diesem Fall eine Document Based Application draus machen - am SWIFT-Original hätte ich dafür viel länger gebraucht). Das gehr relativ mechanisch und alles was man an SWIFT nicht versteht, lässt sich aus dem Anwendungszweck (Algorithmus) recht schnell nachvollziehen und dann einfach neu programmieren ohne dass man SWIFT lernen muss. Der Sourcecode wird dann zwar 20% länger, aber was soll's. Es funktioniert genauso gut.

    Insofern hängt es offenbar extrem davon ab welche Sprachen man bereits kennt.

    Aber der Hauptaufwand ist wie immer nicht die unterschiedliche Syntax der Sprachen. Sondern die Mächtigkeit der Frameworks. Bis man die alle halbwegs kennt und verstanden hat wie man sie effizient einsetzt braucht man ein Vielfaches der Zeit.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hns ()

  • Thallius schrieb:

    Lesbarkeit liegt halt immer in Auge des Betrachters.

    die heutigen neuen Sprachen sind unglaublich abstrakt und bieten unendlich viele verschiedene möglichkeiten die gleiche Lösung mit unterschiedlichsten Konstrukten zu erziehlen.
    100% d'accord. Für mich hat Objective-C 1.0 ausgereicht um alles zu programmieren was ich brauche.
    "Moderne" Sprachen orientieren sich an einem Zeitgeist oder Modeerscheinungen und vor allem gibt es den wirtschaftlichen Antrieb zur "Innovation" - was nicht immer eine Verbesserung ist.

    Die abstrakteste Sprache die ich kenne ist APL Alles ist ein Tensor (vieldimensionale Matrix). Es gibt nur ein- und zweistellige Operatoren. Und Operatoren auf Operatoren. Sehr mächtig. Oft kann man mehrere Seiten Algorithums in einer Zeile programmieren, Aber es ist auch die unlesbarste Sprache die ich kenne.

    SWIFT und Obj-C sind beide von diesem Extrem weit weg, aber SWIFT finde ich persönlich schwerer lesbar. Der Grund ist einfach: es gibt zu viele symbolische Operatoren und Schlüsselwörter deren Bedeutung ich nicht von C (oder anderen Sprachen) kenne. Insofern ist es "zu modern".
  • Mir fiel es lange Zeit sehr schwer C zu verstehen. Mittlerweile habe ich mich an C und Sprachen mit ähnlicher Syntax gewöhnt.
    Auch das Erlernen von Objective-C hat bei mir gedauert, wobei mir die Sprache mittlerweile besser gefällt als C++.
    Andererseits kam mir Swift noch mehr entgegen. Ich glaube, das gilt zumindest für die meisten Syntaxelemente.
    Bei Typinferenz bin ich mir noch unsicher, ob für mich Vor- oder Nachteile überwiegen. Beim Schreiben spart das Aufwand,
    aber ich muss doch immer wieder mal schauen, was das für ein Typ ist. Ohne passende Unterstützung in der IDE hätte ich
    da ein Problem. Und während ich in eigenem Code den Typ dazu schreiben kann, machen das die meisten anderen ja nicht.

    Paul___Paul schrieb:

    Hallo,

    ich Programmier bereits mit AppleScript - falls man AS als Programmiersprache ansehen kann - und mit Python.

    Nun Möchte ich komplexer Applikationen Für den Mac schreiben (mit Xcode).

    Ich habe folgende Fragen bzw. Probleme:
    - Ganz Grundsätzlich, welche Sprache würdet ihr mir für die Cocoa Programmierung Empfehlen?
    - Macht es Sinn, wenn ich doch eh mit dem Cocoa Framework arbeite, welches meines Wissens nach auf C basiert, mit Swift zu Arbeiten, oder ist es Sinnvoller dann mit ObjC zu arbeiten?
    - Wenn ich in einem "Command Line" Tool mit der Sprache Swift eine Zeile Code Schreibe, das ganze nun ausführe Funktioniert alles. Wenn ich die selbe Zeile in ein iOS Projekt einfüge Bekomme ich irgendeine Fehlermeldung Zurück, das selbe auch wen ich die Gleiche Zeile in das macOS Projekt einsetze. Warum?
    - Wo liegt der Unterschied zwischen Swift für macOS oder iOS

    Jetzt schon mal vielen dank für eure Hilfe
    Grüße Paul
    Ausgehend von Erfahrung mit Python würde ich vermuten, dass Swift leichter zu lernen ist als Objective-C.
    Zudem spricht für Swift die größere Verbreitung bei aktuellem Beispielcode und Literatur.

    Oben wurde schon mehrfach SwiftUI erwähnt. Das ist auch noch recht neu, aber aus meiner Sicht sehr
    interessant. Ich lese zwar immer wieder, dass einige iOS-Entwickler damit an Grenzen kommen und
    manches nicht so gut funktionieren würde, aber da kann man einerseits mit Cocoa an Workarounds arbeiten
    und andererseits auch in den kommenden Jahren regelmäßige Verbesserungen erwarten. An SwiftUI finde
    ich attraktiv, dass Xcode eine gute Vorschau bietet und der Code zum Erstellen der UI in den einfachen
    Fällen sehr kompakt wird.

    Zum Vergleich des Codes: wenn man in Xcode ein neues Projekt erstellt, wird eine Menge vorgeleistet,
    was nicht offensichtlich ist. Das kann auch dazu führen, dass Code in einem Projekt funktioniert in einem
    anderen nicht.
  • Also Erstmal vielen dank!

    Ich bin jetzt mit Swift durchgestartet.
    Ich habe mich durch diese Seite gelesen, alle infos abstrahiert und in meine eigene "Dokumentation" geschrieben.

    Für meine weiteren Schritte suche ich nach etwas ähnlichem jedoch bezogen auf die Verwendung von Storyboards.
    Dafür habe ich ein extra ein neues Forum eröffnet.