Kurs Swift

Chciałbym nauczyć się programować w swift. Zna ktoś jakiś dobry internetowy kurs? Ważne, żeby był aktualny. Najlepiej po Polsku, niby znam angielski ale na początku wole, żeby ktoś mi wytłumaczył w moim ojczystym języku. :grin:

Podpinam się pod pytanie kolegi :slightly_smiling_face:

1 polubienie

Kiedyś mignęło mi coś takiego https://www.hackingwithswift.com/100/swiftui/ ale nie wiem czy Switf i SwiftUI to to sam.

1 polubienie

Jeszcze ze trzy lata temu najlepszy do tego był kurs ze Stanforda. Jeżeli dalej wrzucają swoje aktualne wykłady, to bardzo polecam.

1 polubienie

To nie to samo. SwiftUI to nowy framework do budowania UI od Apple. Swift to język :slight_smile:

@Tomek https://www.hackingwithswift.com/100 tutaj wersja Swifta. Też https://www.raywenderlich.com ma fajne kursy. Najlepszym kursem jest poznanie podstaw i rozwiązanie jakiegoś problemu. Podrzucam parę pomysłów:

  • Aplikacja pogodynka
  • Aplikacja pokazująca rozkład komunikacji miejskiej
  • Gra w kółko i krzyżyk
1 polubienie

Zupelnie na powaznie: Swift Playgrounds na początek.
A jeśli tylko możesz sobie na to pozwolić, to certyfikowany kurs organizowany przez partnerów Apple. Będzie drogo, długo i niewygodnie, ale po takim skończonym kursie NA LUZIE znajdziesz pierwsza prace w zawodzie, a reszty się nauczysz w praktyce.

polecam kurs na Udacity (nie mylić z Udemy). Kurs jest niestety dość drogi.
Swift jest bardzo trudnym językiem i jeśli ktoś nie miał do czynienia z programowaniem to serdecznie mu go odradzam. Najlepiej wybrać coś co ma ogromne community typu Java/Kotlin lub JavaScript.

Swift jest naprawdę trudny, niemniej to mój ulubiony język.
Co do samego Swift to konieczne trzeba zacząć od SWIFT z pominięciem na razie SwiftUI - to jest framework, ale tak obudowujący, że wygląda trochę jak inny język. Niemniej jednak na początek można go pominąć.

Tak samo jak na początek pominąć dependencies w stylu CocoaPods.
Pominąć na początku, aczkolwiek to BARDZO ważne RxSwift.

Skupić się przez pierwsze pół roku tylko na Swift. W tym celu polecam kurs jednak, aby zgłębić jak najszybciej podstawy. Jeśli to możliwe to taki kurs, gdzie bardzo mało mówi się o Storyboardach a skupia na języku, wytłumaczeniu jak przekazywać dane między klasami, czym jest retain cycle. Potem wraz ze zdobywaniem umiejętności koniecznie wymasterować (zrozumieć!!) closures, retain cycle, generics.

Niemniej jednak ODRADZAM SWIFT :slight_smile:

1 polubienie


https://www.edx.org/learn/swift


Na Udemy jest cała masa crapu. Znam ten kurs i uważam, że jest bardzo słaby. Radzę unikać produkcji tej Pani. Podobnie jest z niejakim DevSlopes. To jest shit niewarty czasu i pieniędzy. Wszystko niby poruszone, ale mega pomacoszemu. Goście o protokołach opowiadają w 10 minut. Dobra kpina.

Wenderlich jest ok, ale często konstrukcje są skomplikowane dla nowicjuszy. W pewnym momencie wchodzą na grubo bez wytłumaczenia. Trzeba tam kupić dostęp i jechać po kolei, ale… bez suplementacji z zewnątrz się nie obejdzie.
Coursera… nie umiem ocenić.

Jeśli to ma być mega tanie to Paul Hudson z hacking with swift ma dobrą renomę. Gość prowadzi webinaria, wydaje książki i prowadzi bloga. Można się wiele nauczyć, ale… niestety content często jest dość nudny (książki). Ogólnie uważam, że książki to są dla osób, które za początkiem.

Z osób godnych śledzenia polecam Johna Sundella. Tłumaczy wiele koncepcji w przystępnej formie, aczkolwiek nie wkleja całego kodu przez co, osoby mniej doświadczone mogą mieć problem ze zrozumieniem niektórych koncepcji czy konstrukcji.

Generalnie źródeł jest masa, ale mało takich, które by nie zrażały.

A ten?

Udaciy generalnie jest najlepsze. Nie wiem ile to trwa, ale pewnie trzeba się nastawić na kilka miesięcy ciężkiej pracy

1 polubienie

W tym roku wrocilem na studia i robie computer science & business. Chcialbym teraz skoncentrowac sie na jednej rzeczy, ktora da mi podstawy i ewentualnie pomoze w podjeciu dalszych decyzji, stad moje pytanie w co isc? Java, JavaScript, a moze Python ?

1 polubienie

Chyba JavaScript bo mały próg wejścia, szybka weryfikacja kodu bez instalacji symulatorów (Chrome jest symulatorem :slight_smile: )

Java jest spoko, ale bariera wejścia większa.
Python tez spoko, ale powoli hype na niego zacznie się kończyć.

Google ma Go i Darta, plus chce zainwestować w Swifta, wiec pythona bym sobie darował, chyba, że chcesz rozwijać się statystycznie i matematycznie.

1 polubienie

Z tej trójki odradzałbym na początek JS, ponieważ ma bardzo swobodne podejście do zmiennych, w światku programistów jest chyba najwięcej memów właśnie o JS i łatwo można się na tym pośliznąć na początku. Python ma trochę nietypową składnię. Tych problemów nie ma Java. Na Twoim miejscu zastanowiłbym się jeszcze nad C. Jest to dobry punkt wyjścia do bardzo popularnych C++ oraz C#, poza tym wciąż wiele urządzeń programuje się w C a także jest on wykorzystywany do tworzenia rdzeni m.in. systemów operacyjnych i w wielu innych miejscach, gdzie priorytetem jest szybkość wykonywania kodu (ale to już raczej wymaga znajomości języka na poziomie seniora). Na Politechnice Śląskiej studenci informatyki zaczynają od C.

1 polubienie

Kurde i jak teraz człowiekowi doradzić jak jeden pisze A drugi B.

C jest dość trudny na początek i niepotrzebny komuś kto wchodzi dopiero w programowanie. Jak złapie bakcyla to pozna C.

Co do JS to uważam, że to iż nie jest TypeSafe jest jego zaletą dla osób zaczynających. Ja patrzę na to biznesowo. Sam piszę w Swift / Kotlin i coraz częściej w Dartcie. Uważam, że Java jest mniej ciekawa bo już przestaje być wykorzystywana w mobile ze względu na wojnę Google z Oracle.l, stad jej atrakcyjność maleje dla osób, które są o profilu YesWas’owym. Ktoś kto jest urodzonym nerdem, piwniczakiem i kod 10-letni w podrzędnej firmie trzymany na płytach chodnikowych będzie cały czas wychwalał Javę i pewnie wersja 7 albo starsza bez lambd to dla niego prawdziwe eldorado.

Jak ktoś chce zacząć przygodę z czymś nowoczesnym co da zatrudnienie przy ciekawych projektach to JavaScript, Kotlin, Swift oraz Dart z Flutterem. Żadne C i inne badziewia na start.

Z racji complexity Swifta czy Kotlina wybrałbym JS bo najszybciej da się zrobić tam coś, co będzie działało na wszystkim i przyniesie frajdę. Flutter jest na razie mocno w dupie. Ogromny potencjal, ale masa problemów i minimalne Community.

Btw wielkość Community to również istotny czynnik. W JS zostało już napisane wszystko co było pewnie do wymyślenia.

1 polubienie

Dzieki, zdecydowalem sie na JS po tym jak sprawdzilem jakich ludzi poszukuja pracodawcy w moim regionie.

1 polubienie

I dobrze. Jak już będziesz miał jakieś ogarnięcie programistyczne to gwarantuję Ci, że nie poprzestaniesz na 1 języku. Daj sobie z rok, potem podejmiesz decyzję co dalej. Czas poświęcony na 1 język nie będzie czasem straconym, jeśli zdecydujesz się przejść na coś innego.

1 polubienie

C nie jest trudny na początek, gdy chce się poznać podstawy programowania.

Było odpowiadać koledze a nie mnie. Dzięki C masz Windowsa, Androida, iOS-a (i oczywiście Linuxa), sterowniki większości urządzeń. A to mnie wyskoczyło powiadomienie od Ciebie. Więc moim zdaniem to jakbyś napisał, że nauka czytania to bardziewie.

Nie musisz mi pisać co jest dzięki C, a czego nie ma. Jestem świadomy zalet tego języka. W 99 roku jakby mnie ktoś spyta to bym doradzał C, dziś jest sensowny wybór języków i można wybrać coś łatwiejszego na start. Nie musisz zaczynać od C, aby być “programistą” cokolwiek dzisiaj to znaczy.

C jest cholernie trudny, wiesz czemu? Bo na jakiekolwiek efekty trzeba czekać. Musisz się uczyć bardzo dużo i długo, aby zrobić coś sensownego poza printem na konsolę bez memory leaków. JS, Kotlin czy Swift. Chociaż te dwa pozostałe nie są najprostsze na początek, a już szczególnie Swift to pozwalają wytrwać w nauce bo dają drobną radość w postaci działającego kodu z interface’em, który w przypadku JS-a na początku tworzy się w HTML i CSS, a w przypadku mobilek nie trzeba być ortodoksem i nie tworzyć ekranów w kodzie.

Jasne jestem orędownikiem i zwolennikiem łączenia wielu języków. Uważam, że na pewnym etapie znajomość C jest super ważna, ale… zanim tam się dojdzie to roku może być mało. Na studiach informatycznych klepie się głównie do konsoli, poza tym trzeba bo jest taki program, więc nikt nie powie w zaciszu domowym - pierdole, to nie dla mnie, nie umiem wyjść z porywającego zadania z permutacją wierzchołków sześcianu.

Lepiej rozkminiać jak tu zrobić, aby asynchronicznie obiekt dostał dane lub zastanowić się nad serializacją skomplikowanego JSONa. Jak już człowiek nabędzie wprawy to wtedy sam zacznie zadawać sobie pytania jak wystawić webservice? a może zaintereseuje go GameDev? C już tam czeka.

1 polubienie

A co do C na studiach, to profesor na uczelni mówił mi ostatnio, że od przyszłego roku akademickiego prawdopodobnie przechodzą na AGH na Pythona jako pierwszy kontakt studentów z programowaniem (Wprowadzenie do algorytmiki).

Btw, @luke-g: napisałem Ci DM na Twitterze, bo tu masz zablokowane :slight_smile: