Gå til innhold

Generelle spørsmål angående Swift og iOS utvikling


Anbefalte innlegg

Heisann! Fram til nå har jeg fokusert i stor grad å lære meg Python (og i det siste Pygame). Jeg har alltid hatt lyst til å lage iOS apps, og har derfor startet å lære meg Swift! Om en stund skal jeg (mest sansynelig) være med på et prosjekt hvor jeg skal stå for iOS delen, og derfor går jeg fullt inn for å lære språket nå. Jeg er komplett nybegynner innenfor mobil apputvikling, og lurte på om dere kunne svare på noen spørsmål! 

 

  • Swift er jo språket "som overtar" for game Objective-C (ja, jeg vet at du kan kode i begge i XCode). Jeg har hørt at andre har kodet iOS apps i språk som C# og Lua, hvordan fungerer dette? Må ikke alt gjøres i XCode? Prosjektet jeg skal være med på er et sosialt medium, hviket språk passer best til en slik app?
  • Hvordan bør jeg gå løs på en app som skal være et sosialt medium? Altså, det skal jo være en web-versjon, og jeg vil bruke blant annet databasene som brukes der :) Kan dere nevne noen moduler? Har hørt Parse er bra! 
  • Hva er de beste læringsressursene for å lære Swift? Jeg har skjekket ut sider som Udemy og Swift-kursene deres, blant annet dette: (https://www.udemy.com/complete-ios-developer-course/?dtcode=fl8ec1w30OG7). Er det vits å betale 1500 kr for et slikt kurs, eller er det bedre alternativer?
  • Som sagt har jeg erfaring i programmering (det eneste jeg er rusten på er klasser). Det som forvirrer meg med Swift er syntakset generellt, for eksempel CGRectMake, hva står CG for? Hvor kan jeg lese hva for eksempel CG står for, da det blir lettere å skjønne hva jeg driver med! :)
  • Til slutt, tror dere dette er overkommelig for en person (altså meg). Jeg skal jobbe med dette i lang tid altså.

 

Takker for svar på forhånd!

Endret av ApeBapsen
Lenke til kommentar
Videoannonse
Annonse

Det fins multi-plattform rammeverk for mobil, og noen av disse baserer seg på C#, f.eks. Xamarin.

 

Det fins ikke noe språk som passer best til sosialt medium. Men hvis du f.eks. ikke stiller like store krav til grafikkytelse som f.eks. om du skulle lage et spill, kan du velge noe som lar deg kode multiplattform, som Xamarin, da får du flere targets enn iOs. Hvis app'en i tillegg ikke skal fungere offline og ikke trenger å lagre noe på telefonen, kan du vurdere å lage den i HTML5 isteden, dvs. egentlig droppe å lage en app. Dere skal jo uansett lage en nettside sier du, så da kan den jo lages responsiv og mobiltilpasset, så sparer du en shitload med arbeid. Du kan f.eks. lage backend i Python som du kjenner litt til, eller Java. Eller noe annet. Frontend kan lages i f.eks. AngularJS, som snakker med backend via REST.

 

Hvordan du skal gå løs på dette? Vel, først må du jo bestemme deg for hvilken funksjonalitet du vil ha. Hvis du ikke vet helt sjøl hva du skal lage så foreslår jeg heller å gå løs på noe enklere. Kanskje du kan begynne med en chatte-funksjon? Så kan du bygge ut den etterhvert som ide'ene kommer. Du må også bestemme deg for om du skal lage en app i det heletatt, eller bare bruke web/html5. Prøv i hvertfall ikke å lage alt mulig rart på en gang, det blir bare surr.

 

CGRectMake er ikke Swift-syntaks men et api-kall. CG står for Core Graphics sier Google, så da får vi tro på det.

 

Det har ikke noen hensikt å betale 1500 for et swift-kurs. Særlig ikke om du skal lage en responsiv webside og ikke en native iOs-app. Hvis du derimot først og fremst vil lære iOS-programmering, og det ikke egentlig er så farlig om det kunne vært gjort enklere og mer portabelt, kan du jo vurdere det, men det fins uansett mange tutorials på nett som ikke koster noe som helst, og sikkert er like bra.

 

Om du klarer dette alene, kommer jo veldig an på hva du egentlig skal gjøre, og det høres jo temmelig fjernt ut å dra igang et helt prosjekt uten å vite dét, spør du meg. Kanskje du bare skal prøve noe veldig enkelt først, så du kommer igang med iOS? Hva med en superenkel chatte-app?

 

Husk også at selv ikke Google har klart å ta opp kampen med Facebook og Twitter, så dette blir uansett ikke noe annet enn et morsomt hobbyprosjekt hvor du kommer til å lære en hel masse.

Endret av quantum
Lenke til kommentar

Det fins multi-plattform rammeverk for mobil, og noen av disse baserer seg på C#, f.eks. Xamarin.

 

Det fins ikke noe språk som passer best til sosialt medium. Men hvis du f.eks. ikke stiller like store krav til grafikkytelse som f.eks. om du skulle lage et spill, kan du velge noe som lar deg kode multiplattform, som Xamarin, da får du flere targets enn iOs. Hvis app'en i tillegg ikke skal fungere offline og ikke trenger å lagre noe på telefonen, kan du vurdere å lage den i HTML5 isteden, dvs. egentlig droppe å lage en app. Dere skal jo uansett lage en nettside sier du, så da kan den jo lages responsiv og mobiltilpasset, så sparer du en shitload med arbeid. Du kan f.eks. lage backend i Python som du kjenner litt til, eller Java. Eller noe annet. Frontend kan lages i f.eks. AngularJS, som snakker med backend via REST.

 

Hvordan du skal gå løs på dette? Vel, først må du jo bestemme deg for hvilken funksjonalitet du vil ha. Hvis du ikke vet helt sjøl hva du skal lage så foreslår jeg heller å gå løs på noe enklere. Kanskje du kan begynne med en chatte-funksjon? Så kan du bygge ut den etterhvert som ide'ene kommer. Du må også bestemme deg for om du skal lage en app i det heletatt, eller bare bruke web/html5. Prøv i hvertfall ikke å lage alt mulig rart på en gang, det blir bare surr.

 

CGRectMake er ikke Swift-syntaks men et api-kall. CG står for Core Graphics sier Google, så da får vi tro på det.

 

Det har ikke noen hensikt å betale 1500 for et swift-kurs. Særlig ikke om du skal lage en responsiv webside og ikke en native iOs-app. Hvis du derimot først og fremst vil lære iOS-programmering, og det ikke egentlig er så farlig om det kunne vært gjort enklere og mer portabelt, kan du jo vurdere det, men det fins uansett mange tutorials på nett som ikke koster noe som helst, og sikkert er like bra.

 

Om du klarer dette alene, kommer jo veldig an på hva du egentlig skal gjøre, og det høres jo temmelig fjernt ut å dra igang et helt prosjekt uten å vite dét, spør du meg. Kanskje du bare skal prøve noe veldig enkelt først, så du kommer igang med iOS? Hva med en superenkel chatte-app?

 

Husk også at selv ikke Google har klart å ta opp kampen med Facebook og Twitter, så dette blir uansett ikke noe annet enn et morsomt hobbyprosjekt hvor du kommer til å lære en hel masse.

 

Setter veldig pris på så langt og grundig svar! 

 

Jeg kan fortelle litt om prosjektet jeg skal være med på. Det kalles Edify (https://www.facebook.com/EdifyUB?fref=ts), kanskje du har hørt om det? Jeg skal på et slags "invervju" på onsdag, hvor jeg skal få innføring i hele greia. Jeg tenkte å starte med å lage simple elementer, som for eksempel et login-system, og bygge videre på det. Jeg skal være forsiktig å snakke på vegne av Edify, men jeg har troen på at dette kan bli noe, og i værste fall lære masse av det som du sier! :)

 

Alt kan jo lages i HTML som du sier, men da er det ikke noe poeng at jeg er med, og jeg tror de var veldig positive til en egen iOS versjon! For å si det sånn, jeg aner ærlig talt ikke hva dette "sosiale mediumet" skal være, men det får jeg som sagt vite på onsdag! Jeg får vel bare fokusere på en ting av gangen. Ettersom du har fått vite litt mer om prosjektet, tror du det er realistisk å kunne gjøre alt i XCode?

Endret av ApeBapsen
Lenke til kommentar

Alt i Xcode?, Nei, tror det er mer hensiktsmessig å bruke andre verktøy til web og backend. Til ios-app skulle xcode være godt egnet, selvfølgelig. Men det tror jeg du visste fra før av, så jeg misforstod kanskje spørsmålet?

Ja, jeg mente naturligvis kun iOS appen i Xcode, fordi web og backend gjøres av andre folk (hva nå enn de bruker er jeg usikker på) :) Formulerte meg feil, beklager. Jeg vil gjerne holde meg til et språk og gjerne kun Xcode, for enkelhetsskyld! Du forstår sikkert :)

Endret av ApeBapsen
Lenke til kommentar

Jeg trenger bare noen guidelines, siden dette er et såpass stort prosjekt! Det hadde kanskje vært lurt å spørre en profesjonell iOS utvikler? For alt jeg vet kan kanskje du svare på det meste :p Ellers så kommer jeg altså til å lese meg opp på det som fins av tutorials

Endret av ApeBapsen
Lenke til kommentar
  • 4 uker senere...
Gjest Slettet-NvO6MF

Dette begynner å bli litt gammelt nå, men i tilfelle du fortsatt lurer (eller andre leser dette), her er min input:

 

 

  • Swift er jo språket "som overtar" for game Objective-C (ja, jeg vet at du kan kode i begge i XCode). Jeg har hørt at andre har kodet iOS apps i språk som C# og Lua, hvordan fungerer dette? Må ikke alt gjøres i XCode? Prosjektet jeg skal være med på er et sosialt medium, hviket språk passer best til en slik app?

Som nevnt ovenfor så finnes det andre programmeringsspråk i form av kryssplatformløsninger. Det er mye diskusjon rundt dette, selv er jeg ikke spesielt stor fan siden det legger et ekstra lag av komplikasjoner. Det er selvfølgelig mulig å gå for en slik løsning, men slik Apple har lagt det opp så er Swift språket som brukes. Når man først kommer i gang med Swift så er det veldig godt språk som er lett å bruke. Syntaksen er uvant i starten, men etter hvert blir det veldig greit å bruke

 

 

  • Hvordan bør jeg gå løs på en app som skal være et sosialt medium? Altså, det skal jo være en web-versjon, og jeg vil bruke blant annet databasene som brukes der  :) Kan dere nevne noen moduler? Har hørt Parse er bra! 

Om du lager appen for sosialt medium eller annet har som regel ikke så mye å si. Du må ha en back-end  som kan gi informasjon til appen din. Dersom du kan "velge og vrake" så er Parse enkelt å komme i gang med og gratis opp til ganske stort forbruk, men som regel så vil jo de som utvikler webversionen bestemme hva slags back-end som skal brukes. Bottom line er at du må ha en måte å kommunisere med back-end-en for å sende og motta data. Parse fikser dette elegant, men det går fint an lage sitt eget system med kommunikasjon i for eksempel JSON- eller XML-format også. 

 

 

Hva er de beste læringsressursene for å lære Swift?

Stanfords CS193p kan anbefales på det sterkeste. Det er helt gratis og finnes på iTuens U, mye bedre enn betalingsløsninger. Det krever litt forkunnskaper i programmering, deriblant forståelse av objektorientert programmering (klasser er en viktig del av dette!), men hvis du ser på videoene og bøkene til Apple om Swift så forklarer de blant annet forskjellene på klasser og structs.

 

 

  • Som sagt har jeg erfaring i programmering (det eneste jeg er rusten på er klasser). Det som forvirrer meg med Swift er syntakset generellt, for eksempel CGRectMake, hva står CG for? Hvor kan jeg lese hva for eksempel CG står for, da det blir lettere å skjønne hva jeg driver med!  :)

Som nevnt ovenfor så står CG for Core Graphics. Mange av disse prefixene har fått navn av gamle grunner som ikke gir mye mening lenger, men etter hvert ser du litt logikk i hva slags kategorier det er. For eksempel er UI relatert til user interface, NS er en del av "grunnklassene", (Objective C har elementære klasser som NSString, NSArray, NSDictionary, NSBundle osv). Noen av disse finnes også i Swift (NSBundle, NSPredicate ...), men noen av de har også blitt erstattet av String, Array, Dictionary osv. Hvis du lurer på hva en bestemt funksjon, klasse eller objekt gjør, sjekk Apple Developer Library.

 

 

  • Til slutt, tror dere dette er overkommelig for en person (altså meg). Jeg skal jobbe med dette i lang tid altså.

 Nå er det ikke godt å si hva en person "som deg" er, men det meste er mulig! :-) Mitt tips er å begynne med det helt grunnleggende og ikke ta for store oppgaver i starten. Facebook-appen er jo en sosial app, og den vedlikeholdes av et helt utviklerteam. Å utvikle en stor sosial app er en enorm oppgave, men det er fullt mulig å implementere grunnleggende funksjoner uten å overarbeide seg.

 

Si ifra hvis du lurer på noe mer, har selv noen års erfaring med iOS-utvikling og kan sikkert hjelpe til med problemer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...