Programmieren lernen mit Swift

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

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • Programmieren lernen mit Swift

    Hallo,
    Ich versuche schon seit geraumer zeit Swift zu lernen.
    Ich habe bereits Bücher gelesen und Videotrainings mitgemacht. allerdings kommt immer irgendwann die stelle wo man sich denkt: "Warum macht der das jetzt", "Wozu ist das gut", "Das hat der garnicht erklärt".
    Ich habe keinerlei programmiere Erfahrung, möchte aber ungern vorher z.B Java o.ä lernen.
    Gibts tipps, als kompletter Neuling die Programmierung mit Swift zu verstehen?

    Gruss Max
  • Hallo Max,

    ich habe die neueste App in Swift gemacht. Für mich ist es eine Programmiersprache wie jede andere.
    Wenn die theoretischen Grundlagen da sind, dann ist bei den Programmiersprachen nur Syntax und durch das Framework bereitgestellte Klassen anders.
    Gelernt habe ich im Studium C# und etwas C. In dem ersten Job nur mit Delphi gearbeitet. Nebenbei private Projekte in Java und C# gemacht. In dem zweiten Job mehrere Jahre nur C und C++.
    In dem dritten C#, Java, ActionScript, PHP. In dem Nebengewerbe Objective-C und jetzt Swift.

    Lerne erst die allgemeinen Grundlagen. Dann wird sich vieles von alleine klären.
  • Du findest sicherlich kein Buch oder Tutorial, das alle Fragen beantworten kann. Du solltest versuchen, selber Antworten zu finden: Am besten durch kleine Testprojekte, mit denen du die fraglichen Konstrukte ausprobierst; experimentieren erwünscht. ;) Oder du stellst in Foren möglichst gezielte Fragen zu den Problemen.
    „Meine Komplikation hatte eine Komplikation.“
  • Danke für die Antworten!
    Allerdings sagt @bachelor, dass er bereits Erfahrung im C# gesammelt hat. Wäre es also dann zu empfehlen erst JS oder Python zu lernen und dann erst Swift zu benutzen? Ich häbe Nähmaschine noch kein Einsteigerkurs für Swift gesehen. In welchem auch Programmiergrundlagen vermittelt.
    Zu der Antwort von @macmoonshine, das Problem ist, dass ich natürlich Beispielprojekte umsetzen kann. Allerdings stoße ich dann schnell auf ein unlösbares Problem, für welches man einfach Kenntnisse benötigt die ich nicht habe. Bsp. UITableView, dort gibt's DataSource, Delegate, Protokolle und 1000 imolementationen und da raffe ich nach der 1. Minute nichts mehr.
  • Wenn keine Erfahrung hast, dann doch auch nich in JS und Python

    Willst du dann in ein JS oder Python Forum die gleiche Frage stellen?

    Lies ein Buch oder auch zwei und fang einfach an Code zu schreiben. Überleg dir eine App und setze sie um und wenn du an ein Thema kommst an dem du nicht weiter kommst liest du dich speziell in das Thema ein.
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Maximilian Stremmer schrieb:

    Bsp. UITableView, dort gibt's DataSource, Delegate, Protokolle und 1000 imolementationen und da raffe ich nach der 1. Minute nichts mehr.
    Ganz einfach: Beispielcode ansehen, Testprojekt* schreiben, Doku lesen, Anwendungsfall komplexer machen und von vorne anfangen.

    * z. B. Damit anfangen, den Inhalt eines Stringarrays in einem Tableview anzuzeigen.
    „Meine Komplikation hatte eine Komplikation.“
  • Das übliche Problem. Versuch doch erstmal programmieren zu lernen und befasse dich dann mit den Frameworks. Soll heissen: Schreibe erstmal ein paar Konsolen-Anwengunden ohne UI. Dann ein einfaches UI mit nur einem View und ein paar Labeln drin und dann irgendwann hast du genug Programmiererfahrung, dass Du auch eine TableView verstehst.

    Eine TableView ist definitiv kein Anfänger-Thema auch wenn es in fast jedem Lehrbuch als eines der ersten Themen behandelt wird. DAs müssen die Autoren halt so machen weil wenn sie wirklich erstmal nur die Grundlagen behandeln würden, würde das buch keiner kaufen. Mir scheint die heutige Jugend hat keine Geduld mehr beim Lernen und schießt immer gleich weit über ihr (Könnens-) Ziel hinaus.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

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

    keinerlei Kenntnisse hat und sich dann ein Swift Buch holt versteht man das Drumherum nicht.
    so wie mit jeder anderen Sprache auch
    es ist vollkommen egal mit was du anfängst


    Maximilian Stremmer schrieb:

    Da es kein Swiftbuch für Programmiereinsteiger gibt.
    das ist zB quatsch
    da von Kofler, kaut schön auf den Grundlagen rum
    kofler.info/buecher/swift/

    ist aber quatsch das Buch jetzt noch zu kaufen, weil 3.0 vor der Tür steht und dann ist was in dem Buch steht veraltet (bzw jetzt schon)
    und Bücher zu 3.0, sind wahrscheinlich jetzt auch schon wieder veraltet)


    Maximilian Stremmer schrieb:

    Alle setzten in entferntester weise OOP voraus.
    wenn du der Meinung bist, das du ohne das nicht weiter kommst dann guck dir das doch erstmal an
    wie hast du dir denn vorgestellt wie man anfängt zu programmieren?
    man muss schon selber was machen
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • nussratte schrieb:

    ist aber quatsch das Buch jetzt noch zu kaufen, weil 3.0 vor der Tür steht und dann ist was in dem Buch steht veraltet (bzw jetzt schon)
    und Bücher zu 3.0, sind wahrscheinlich jetzt auch schon wieder veraltet)
    Jede Swift-Buch ist mit dem Tage seiner Erscheinung schon veraltet, und das wird durch den Open-Source-Prozess bestimmt nicht besser. ;)
    „Meine Komplikation hatte eine Komplikation.“
  • Darauf muss man sich halt einlassen wenn man swift lernen will.

    Man ist ja aber nicht gezwungen Xcode (und eventuell sein system) andauernd zu aktualisieren.
    Wenn man ein Buch für Swift 2 kauft, dann bleibt man mit Xcode eben so lange bei der passenden version bis man es verstanden hat und auch eigenständig durch neue "features" oder "aufräumaktionen" gebrochenen code fixen kann (das ist ja nicht weiter schwierig sondern eher nervig).
  • Es gibt schon gute Bücher. Ich habe mir auch eins gekauft (Titel weiß ich aber grad nicht, kann aber nachschauen wenn Interesse da ist) und bei Udemy mir einen Videokurs (iOS9 mit Swift2.1 am Beispiel von 16 Apps) zugelegt. Kostet zwar Geld, war das aber auch wert.
    Zugeben, auch ich habe jahrelange Erfahrung mit Delphi und daher stark vorbelastet.
    Aber sowohl im Buch als auch im Videokurs werden auch Grundlagen erklärt, zumindest mal die, die man zur Umsetzung der dort vorgestellten Apps ausreichen. Natürlich wirst du das eine oder andere Mal auf etwas stoßen, wo der Sinn und Zweck nicht ganz klar ist. Das macht aber nicht. Mach es doch erst mal so, wie es dort beschrieben ist.
    Nach den ersten 4-5 Kapiteln fängst du schon an, die ersten Beispiel-Apps zu entwerfen. Und so, wie das da erklärt ist, bekommt da auch meine Mutter hin. Wenn dann die ersten Mini-Apps laufen, kann man ja anfangen, sie um kleine eigenen Ergänzungen zu erweitern. Immer nur kleine Schritte, so dass man sich nicht gleich alles zerschießt. So lernt man langsam das Prinzip kennen und erweitert sein Wissen.
    Beim nächsten Kapitel versteht man schon mehr und es fällt einem leichter dem ganzen zu folgen. Und tritt doch einmal eine brennende Frage auf, so gibt Google, Youtube und auch Foren doch eine Menge her.

    Ganz wichtig ist aber, dass man a) seinen Anspruch gerade zu Anfang nicht zu hoch hängt und mit einfachen Dingen anfängt bis die sitzen und b) nicht alles an einem Rutsch durcharbeitet und davon ausgeht, dass man nach dem Buch oder dem Kurs alles weiß und programmieren kann.
    Und wenn's nicht auf anhieb klappt, dann macht man's noch mal und noch mal und noch mal.
    Und manchmal muss man auch das ganze etwas sacken lassen, bis es zu einem Aha-Effekt kommt.

    Das einzige, was wirklich mach mal ein Problem ist, ist die Tatsache, dass man beim suchen im Internet auch oft auf Objectiv-C-Beispiele trifft. Das ist ja nicht zu vermeide, das es einfach über lange Jahre das Maß der Dinge war. Aber ich bin auch erst jetzt mit Swift eingestigen. Und die Schreibweise ist für mich einfach besser, geht mir besser von der Hand.
    Der Playground bietet dir super Möglichkeiten dich mit den verschiedenen Variablen vertraut zu machen, Funktionen und Klassen zu verstehen. Damit würde ich erst mal anfangen.
  • Captnemo schrieb:




    Das einzige, was wirklich mach mal ein Problem ist, ist die Tatsache, dass man beim suchen im Internet auch oft auf Objectiv-C-Beispiele trifft. Das ist ja nicht zu vermeide, das es einfach über lange Jahre das Maß der Dinge war.
    Also für mich ist es das immer noch., Bis Swift da hin kommt braucht es noch ein paar Jahre....
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • So also, ich versuche nun mit dem Training von Jan Brinkmann, das als dvd herausgekommen ist. Ich habe halt nur ein bisschen Angst, das da nicht das wissen welches man benötigt um wie ein Programmierer zu denken also alles als Algorithmus lösen. Ich hoffe, dass klappt. Habt ihr vielleicht noch Tipps zum lernen oder zur Zielsetzung beim programmieren lernen? Danke für alle Antworten!
  • Meine Meinung? Software-Entwicklung erfordert eine bestimmte Denkweise, analytisches, strukturiertes Vorgehen, die Fähigkeit, große Probleme in kleine Schritte zu detaillieren etc.

    Manches davon kann man gar nicht oder nur kaum lernen, andere Fähigkeiten erwirbt man durch Übung.

    Mit Büchern, Tutorials, Videos und Ausprobieren kann Du die "harten" Fakten lernen: Dinge wie Konzepte, grundlegende Algorithmen, Datenstrukturen, sozusagen das Handwerkszeug ... Damit ausgestattet suchst Du Dir ein überschaubares Projekt, das Dich begeistert und fange einfach an.

    Immer in kleinen Schritten, Du wirst nie alles können ... aber immer besser werden. Man lernt auch hier durch Fehler am besten.

    So, genug der Binsenweisheiten, Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.