Läs programmering för iOS från början. Så här skapar du en applikation för iOS själv: steg-för-steg-instruktioner. Vad du behöver för att komma igång

Låt oss först förstå relevansen av utveckling under Apple-enheter allmänt. Faktiskt idag i App Store Det finns mer än 2 miljoner ansökningar.

Varje applikation och dess uppdatering måste genomgå strikt moderering. Alla applikationer i butiken uppdateras var 1:e månad.

Varje utvecklare med självrespekt vill göra applikationer av högsta kvalitet med vackra animationer, ett väldesignat användargränssnitt och maximal prestanda.

Utveckling av applikationer för iOS, eller hur man älskar Apple ännu mer

Lönen för iOS-utvecklare varierar från 60 000 till 250 000 rubel. Relevansen av utveckling för iOS är obestridlig.

I den här artikeln kommer vi att skapa en applikation där vi kommer att visa ett meddelande "Hej världen" på huvudskärmen och vi kommer inte att skriva inte en kodrad.

Låt oss ta reda på vad vi behöver för att utveckla den mest primitiva iOS-applikationen:

  1. Enhet med MacOS ombord
  2. Laddade ner Xcode

Som ni ser behöver vi inget huvud. Ja, Apple har gjort allt för att förenkla processen så mycket som möjligt och minska utvecklingstiden för mobilapplikationer för deras plattformar, såsom: iOS, tvOS, macOS, watchOS. Apple introducerade även programmeringsspråket Swift 2014, vilket är väldigt enkelt för nybörjare och mycket funktionellt för proffs. Om du kan skapa en applikation för en Apple-plattform, till exempel iOS, kommer det inte att vara svårt för dig att skapa en applikation för andra plattformar. Allt är enhetligt till en sådan grad att du kan använda nästan samma kod, köra den på olika typer enheter.

Gå!

SKAPA ETT PROJEKT

Och så, som tidigare nämnt, behöver vi en dator Äpple, Och installerad applikation Xcode, som är i App Store i fri tillgång.

Låt oss ta reda på vad det är Xcode och varför vi behöver det.
Xcodeär en mjukvaruutvecklingsmiljö som inkluderar: en kodredigerare, en grafisk gränssnittsredigerare, ett versionskontrollsystem och verktyg för att felsöka och lägga ut applikationer vi har skrivit. Kort sagt, detta är programmet där 90% av all interaktion i utvecklingen av applikationer för en familj av operativsystem utförs Äpple.

Så efter att ha lanserat mjukvaruutvecklingsmiljön ser vi ett välkomstfönster där vi kan öppna, skapa eller klona ett projekt. Vi måste skapa en ny genom att klicka på "Skapa ett nytt Xcode-projekt". Ja, hela gränssnittet Xcode på engelska, så jag råder dig att fylla på med en engelsk-rysk ordbok.


Nästa steg ser vi detta fönster:

där vi ombeds välja plattform och applikationstyp. Vi behöver programvara iOS (överst i dialogrutan) och Single View App. Alla applikationer börjar med en enda vy och växer sedan till 50 visningsappar.

Nästa steg är att ange namnet på projektet, organisationen där vi utvecklar det, välja språk och aktivera/avaktivera ytterligare funktioner.


Låt oss gå i ordning:


När du har fyllt i informationen klickar du Nästa, och välj platsen för projektet på vår dator och klicka Skapa

UTVECKLINGSMILJÖ ÖVERSIKT

Vår huvudsakliga arbetsyta öppnar sig och låt oss ta reda på vad vi har här. Låt oss dela upp hela ansökan i flera delar: topp, vänster, höger, botten och mitten.



Överst på arbetsytan ser du knappar lansera eller stannar applikationer, fältet för startinställningar, som består av två delar: vad vi startar, vad vi startar det på.

Vi ser också statusfältet, där vi kan se den aktuella uppgiften som utförs av utvecklingsmiljön; till höger kan vi se inställningarna för redigeringsvyn: standardredigerare , redaktör med assistent Och visa ändringar i versionskontrollsystemet, och det finns även knappar för att visa/dölja delar av miljön, som vi ska titta på härnäst: nedan (felsökningsinformation), till höger (navigering) och vänster (verktyg)

Vänster vi ser flera knappar som ändrar funktionaliteten på den vänstra panelen, nämligen:

  1. Navigera genom filer och mappar
  2. Versionskontrollsystem
  3. Hierarki av klasser i ett projekt
  4. Sök efter projekt
  5. Meddelanden om byggvarningar och fel
  6. Automatiserade tester
  7. Felsökning
  8. Brytpunkter
  9. Bygg stockar

Till höger vi har två delar: överdel och underdel. Hela den högra panelen kallas verktyg. Överst ser vi inställningarna för den valda filen och/eller elementet användargränssnitt. Längst ner i verktygen ser vi användargränssnittselementen som vi kan använda.

I nedre del mjukvaruutvecklingsmiljö vi kan se felsökningsinformation, applikationsloggar och annan användbar information för att kontrollera att applikationen fungerar korrekt. Du kan öppna den nedre delen med den näst sista knappen högst upp i applikationen, och den här panelen öppnas automatiskt vid start.

Och i huvuddel miljö kan vi observera editorn där koden skrivs och arbete utförs på applikationens användargränssnitt.

Och i den huvudsakliga (centrala) delen av miljön kan vi se en editor där kod skrivs och arbete utförs på applikationens användargränssnitt.

  1. Identitet
    1. Visningsnamn— namnet på programmet som kommer att visas på hemskärm enheter
    2. Paket-ID— En unik identifierare som kommer att användas i App Store
    3. Version-den nuvarande versionen av projektet, som underhålls med semantisk versionshantering
    4. Bygga— Byggnummer, som bör ökas med ett vid varje installation av applikationen på enheten
  2. Signering
    1. Hantera signering automatiskt— Automatisk hantering av applikationssignaturer
    2. Team- namnet på ditt lag
    3. Provisioneringsprofil— profil för att signera ansökan
    4. Undertecknande av certifikat- ett certifikat som låter dig signera applikationen med Apple
  3. Distributionsinformation
    1. Implementeringsmål- minimum iOS-version, där applikationen kan installeras
    2. Enheter— Enhetstyper
      • iPhone
      • Universell
    3. Huvudgränssnitt— Storyboard-fil från vilken applikationen startar efter
    4. Enhetsorientering— Möjliga enhetsorienteringar när du arbetar med applikationen
      • Porträtt
      • Upp och ner
      • Landskap moturs
      • Landskap medsols
    5. Statusfältstil— Färgstatusfält (översta informationspanelen med tid, operatör och batteri)
      • Ljus
      • Mörk
      • Dölj
  4. Appikoner och startbilder
    1. App Ikoner Källa— programikon
    2. Starta skärmfil— skärmen som visas medan programmet körs

Vi behöver inte resten av föremålen för tillfället.

Nu när vi förstår vad vår utvecklingsmiljö består av kan vi börja skapa vår "Hello World"-applikation.

Om du är intresserad färdiga mallar, då bör du vara uppmärksam på vår recension av onlinedesigners, med hjälp av vilken du själv kan utveckla en applikation för din telefon eller surfplatta.

SKAPA EN APPLIKATION

Först och främst måste vi hitta gränssnittsfilen, som kallas Storyboard. Den finns till vänster i navigeringsfältet.

Efter att ha öppnat filen ser vi applikationsskärmen. Nu måste vi dra elementet som kallas Märka till den här skärmen. Detta element finns längst ner till vänster.
Dra den var som helst på skärmen. Leta sedan efter fältet där det står i verktygspanelen "Märka".
Och vi förändras MärkaHej världen. Efter detta kommer vi att se att vårt element på skärmen inte helt visar vår text som vi skrev in, eftersom det från början hade mindre text och det tog sina dimensioner.

Låt oss tvinga detta element att fixeras i mitten av skärmen och ta rätt form så att vår text visas helt. För att göra detta måste vi hitta den andra knappen längst ner till vänster, som kallas Justera och klicka på den.


Här ser vi några alternativ för placeringen av vårt element. Vi behöver de två sista parametrarna. Aktivera dem och tryck "Lägg till 2 begränsningar." Efter detta kan vi observera hur vårt element är fixerat i mitten av skärmen och tar den form som vår text visas i sin helhet.

MONTERING OCH LANSERING

Nu måste vi köra vår applikation på enheten och se om allt visas korrekt. För att göra detta klickar vi på valet av programstartdestination högst upp och ser en rullgardinslista:
I den här listan ser vi enheter och enhetssimulatorer som vi kan köra vår applikation på. Välj en och klicka Springa. Applikationen kommer att börja byggas och Xcode kommer att visa oss uppgifterna den utför i det här ögonblicket tid:
Efter att ha lyckats bygga projektet kommer vi att se att Xcode går in i standbyläge för att applikationen ska starta och simulatorfönstret kommer att visas och laddas. När simulatorn är laddad kommer vi att kunna observera vår applikation på enheten

Kära herrar, med den här artikeln öppnar jag ett nytt avsnitt dedikerat till programmering för iPhone, där vi kommer att beröra frågor som är intressanta både för nybörjare och oinitierade, såväl som för ObjC-guruer, som vi hoppas inte kommer att misslyckas att rätta till våra misstag med sina kommentarer. Dagens lektion är endast i informationssyfte.

Lektionens mål

1. Var ska man börja programmera för iPhone.
2.Gentleman's developer kit.
3.Läxor.

Introduktion

Vi ser alla den vilda framgången med AppStore; applikationssektioner växer som svampar efter regn. Redaktörerna för alla informationsportaler om iPhones har tappat fötterna och utan att sova en blinkning skriver, skriver och skriver recensioner. Och program fortsätter att dyka upp och dyka upp och dyka upp. Det är dags för oss att engagera oss i denna process och ta vår del av den festliga pajen.

Var ska man starta? Frågan är ganska retorisk. Naturligtvis, om du, kära läsare, är en advokat eller, säg, en byggare, kommer det att vara mycket svårt för dig att börja och troligen bör du inte göra det på allvar, för, som det verkar för mig, är det bättre att göra en sak bra än att göra flera saker dåligt. Men låt oss inte utesluta det faktum att du vill programmera för själen, att detta är din nya hobby. God eftermiddag då. Men om du, min kära vän, redan har erfarenhet av att utveckla applikationer, oavsett vilket språk - C, Pascal, Assembly, Delphi eller slutligen BASIC eller till och med Logo (det fanns en i min lärobok i datavetenskap i början av 90-talet), då du borde definitivt behöva prova iPhone-appar.

Här kommer vi till svaret på huvudfrågan, var man ska börja. Börja med grunderna, du behöver inte gå långt, jag ger dig bara några länkar som så småningom tar dig "till Kiev":

1. För personer som generellt inte är bekanta med C-språket - börja med detta

2.När du programmerar för iPhone behöver du kunskap om OOP (objektorienterad programmering). Det är inte så svårt som namnet antyder, faktiskt är OOP baserad på flera grundläggande principer, som, när du väl förstår dem, enkelt kan skapa mästerverk. Läs om OOP.

3.Om du kan grunderna i C, och OOP inte orsakar dig några svårigheter, rekommenderas du ändå att läsa skillnaden mellan Objective-C som används i MacOS (och iPhone, respektive) från traditionella C och C++. Detta beskrivs väldigt bra.

4. Du hittar också svar på många frågor på vårt forum i.

En gentlemans iPhone-programmerares kit, som en resenärs necessär, är ganska sparsam och kräver i princip inte mer än naturligt och dyrt i inledningsskedet. Här är allt vi behöver för att komma igång:

b) operativ system MacOS Leopard version 10.5.5.

c) Toolkit från Apples webbplats, den så kallade SDK, utvecklingssats. Detta paket innehåller allt som behövs för utveckling. Du kan ladda ner den här: http://developer.apple.com/iphone efter registrering.
d) Vi behöver också verkligen tålamod och uthållighet. Utan detta, tyvärr, finns det ingen möjlighet.

Många människor kan omedelbart ge upp efter punkt A. Jag ska säga dig ärligt, innan jag träffade iPhone hade jag aldrig interagerat med Apple alls, och jag skrev mitt första program för iPhone utan att ens ha en MacBook. Jag är en ivrig Windows-användare, som började mitt vuxna liv med Windows 3.1 och levde för att se Windows Vista. Jag blev fängslad av bekvämligheten med MacOS och ångrar inte alls detta köp, även om jag fortfarande spenderar lejonparten av min tid på datorer med OS från Bill Gates.

För den som inte övertygas av dessa ord finns det fortfarande en väg ut. Sedan övergången av datorer från Apple till en plattform med en Intel-processor har det blivit möjligt (naturligtvis inte utan dans och tamburiner) att installera MacOS på en vanlig PC-dator, jag erkänner att jag gjorde detta själv. I världen är ett sådant operativsystem känt under olika namn: Kaliway, Hackint0sh, etc. På alla filvärdtjänster kan du enkelt hitta den bild du behöver och genom att ladda ner den kan du installera Makos på din dator. Och även om så önskas, starta det i VMWare-fönstret. Jag kommer inte att beskriva hur man gör allt detta, det är inte lämpligt att främja metoder för att kringgå licensen på Mac-datorer, men jag ska göra mig besväret att varna dig för vissa misstag, för att undvika att du kanske inte tappar intresset för programmering ens vid första steget av att förbereda verktygen:

1. Vid installation, använd ALLTID en separat hårddisk ansluten som en master till IDE- eller SATA-nollbussen.
2. Försök inte installera Leopard från VMWare - jag kollade det många gånger - det är omöjligt, även om det finns personer på nätverket som hävdar att de har gjort detta.

3. Efter att du har installerat Makos kan du försöka köra det från Windows i WWW, om du har tillräckligt med resurser. Ett separat problem är också drivrutinerna. Nätverket kommer med största sannolikhet att komma ikapp dig på egen hand, videon blir 800x600 - dumt nog VGA. Men vad du ska göra med ditt 8800GTX-kort, Wi-Fi-adapter och blå tand, det beror på din tur (för det mesta inte tur).

4. Oavsett hur många bilder jag stötte på - de hade alla version 10.5.1 eller 10.5.2, men vi kommer att behöva minst 10.5.5 för att fungera. Jag uppdaterar min Mac via Internet, men med Hackintosh, vid uppdatering till 10.5.5, kommer det här tricket inte att fungera - fånga äpplet, det har också testats många gånger. Det finns en algoritm på Internet om hur man uppdaterar hackin till 10.5.5 samtidigt som systemets funktionalitet bibehålls - leta efter den, du kommer att hitta den.

Och så, verktygen beskrivs, låt oss gå vidare till läxor.

Våra läxor kommer att vara enkla, men mycket viktiga; utan att slutföra dem kommer alla andra lektioner att bli värdelös HTML-text för dig, och mitt arbete kommer inte att vara värt ett dugg. Och så, kära iPhone-programmerare, medan jag skriver lektion nr 2, bör ni:

A) Skaffa en Mac eller installera en Hackintosh (endast i informationssyfte)

B) Uppdatera den till version 10.5.5.

C) Ladda ner och installera SDK från Apple. Ladda ner ett gäng exempel från nätverket, försök att kompilera dem alla. I allmänhet, börja studera slumpmässigt (den vanligaste metoden i vårt land, fantastisk i dess effektivitet).

Skriv recensioner.
Rashid (alias rashn).

Vänligen betygsätt det.

Programmerare föds inte, de är skapade. Och det betyder att du åtminstone måste försöka. För detta ändamål skapade vi den interaktiva kursen "Programming Fundamentals". Du kommer att lära dig alla de mest användbara och relevanta sakerna om moderna programmeringsspråk och få din första erfarenhet av att skriva kod. Vi funderade på hur man skapar en sådan onlinekurs så att den skulle bli en ljus och minnesvärd händelse i varje nybörjarprogrammerares liv. När allt kommer omkring beror ytterligare intresse för detta område till stor del på den första bekantskapen med koden. Vi kommer att berätta och visa hur saker fungerar, vilka yrken som efterfrågas och vilka utvecklingsmöjligheter som finns inom varje område inom IT-sektorn. Under kursen kommer vi att skapa en webbplats med webbläsarspel och publicera projektet på github.com. Den här sidan kommer att bli det första fallet i din framtida portfölj, vilket är mycket viktigt, eftersom en portfölj är det första folk uppmärksammar när de söker jobb. Genom att slutföra den här kursen tar du det första steget mot seriöst lärande och kommer tydligt att kunna bestämma riktningen för dina intressen!

Lektion 1. Algoritmbegrepp, variabler, datatyper.

Introduktion: vad ska vi göra på kursen?
Kommer jag att bli en framgångsrik programmerare?
Konceptet med en algoritm. Inrätta arbetsmiljön. Hej världen.
Introduktion till variabler.
Datorarkitektur
Datatyper: strängar och siffror. Operationer med siffror och strängar.

Lektion 2. Förgrening. Cyklar.

Filialer: om/annat
Slingor: medan, för
Logiska operationer. Gör while loop.
Utveckling av spelet "Gissa"

Lektion 3. Arrayer och funktioner

Lär känna arrayen. Program för minnesutveckling.
Ändra längden på en array. Flerdimensionella arrayer. Engelska språkinlärningsprogram.
Lär känna funktionerna. Fungerar utan returparameter.
Funktioner med returparametrar.
Rekursiva funktioner. Utveckling av ett program för undervisning i touch-typning.

Lektion 4. Webbplatslayout: introduktion till HTML och CSS

Introduktion till HTML
Introduktion till CSS
Vi lägger ut ett gåtaspel på hemsidan
Vi lägger ut gissningsleken på hemsidan
Publicera en webbplats till hosting

Lektion 5. Genomgång av moderna programmeringsspråk

Hur väljer man programmeringsspråk och riktning?
Välja ett programmeringsspråk: Webbutveckling
Mobil utveckling. Universella programmeringsspråk
Hur lär man sig att vara programmerare?

Swift Language Basics. 1 månad.
Modern programmeringsteknik för Apple på Swift 5, xcode 10

Snabb- nytt språk från Apple, dök upp i mitten av 2014. Trots sin nyhet utvecklas den snabbt och innehåller alla de bästa programmeringskonstruktionerna lånade från många moderna språk. Det finns bara ett fåtal specialister som känner till Swift på marknaden just nu. Den här kursen hjälper dig att lära dig grunderna i Swifts syntax och få bra programmeringserfarenhet i språket.

Lektion 1. Introduktion

Introduktionslektion. Att lära känna språket. Grundläggande datatyper. Xcode, Lekplats. Variabler, konstanter och datainsamlingar. Debugger.

Lektion 2. Swift syntax. Grundläggande operatörer

Fortsatt studie av språksyntaktiska strukturer och grundläggande operatorer

Lektion 3: Komplexa datatyper

Introduktion till komplexa data. Strukturer. Överföringar. Egenskaper och metoder. Konstruktör.

Lektion 4. Introduktion till OOP

Hur man beskriver objekt från den verkliga världen och skapar dem enligt beskrivningen. Klasser och föremål. Arv. ARC och en introduktion till minneshantering.

Lektion 5. OOP

Vi beskriver kraven för klasser. Protokoll. Tillägg. Polymorfism. Sammansättning.

Lektion 6. Avancerad OOP

Tekniker från riktiga gurus. Generika. Stängningar Prenumererar. Funktioner av högre ordning.

Lektion 7. Hantering av fel och undantag

Vi lär oss att leta efter fel och förutsäga deras förekomst. Prova/fånga undantag. Fel.

Lektion 8. Orm

Att skriva ett enkelt spel med SpriteKit

Introduktion till Git
Git Basics

Under loppet av 13 videor går vi igenom grunderna i Git versionskontrollsystemet. Låt oss ta reda på varför det är viktigt i modern utveckling och samarbetsprogrammering. Låt oss bekanta oss med de grundläggande begreppen i Git: repositories, commits, grenar och taggar. Låt oss lära oss grundläggande funktioner: skapa och klona ett arkiv, slå samman grenar, fråga om ändringshistorik och mycket mer. Låt oss se hur man skickar in läxor med Git. Detta är en grundkurs, varefter du kan börja lära dig vilket programmeringsspråk som helst. Dessutom kommer du att förberedas för intervjun, där flera frågor brukar fokusera på versionskontrollsystemet.

Lektion 1. Introduktion till versionskontrollsystem

Vad är ett versionskontrollsystem?
Typer av versionskontrollsystem
Git och dess fördelar
Dokumentation

Lektion 2. Arbeta med kommandoraden

Vad är kommandoraden?
Varför är kommandoraden viktig?
Hur öppnar man kommandoraden?
Användbara kommandon

Lektion 3. Arbeta lokalt med ett Git-förråd

Introduktion till konsolklienten
Git-inställning
Initierar förvaret
Kloning av ett arkiv
Grafiska git-klienter

Lektion 4. Grundläggande funktioner

Indexering
Publicerar ändringar
Begår
Avbryt indexering
Nuvarande status

Lektion 5. Historik om git-projektet

Historia av förändringar
Återställ enligt projekthistorik
Ändra krediter: git blame
Ignorerar .gitignore-filer
Webbplatsen gitignore.io
Att hålla mappar.Keep

Lektion 6. Grenar

Filialledning
Skapa och ta bort grenar
Växla mellan grenar
Konfliktmetoder och deras lösning
git merge

Lektion 7: Skapa ett fjärrlager för Git

Git-värd (GitHub, GitLab, Bitbacket)
Skapa ditt eget bare-git-förråd
Registrera dig på GitHub
Publicerar ändringar i ett fjärrlager

Lektion 8. Borttagna grenar

Förvarsnamn
Flera förråd i ett projekt
.git/config
Hantera filialer på ett fjärrlager

Lektion 9. Versionering

Versioneringsmetoder
Taggar och deras relation till commits
Lägger till en tagg
Ta bort en tagg
Hantera en tagg på ett fjärrlager

Lektion 10. Sammanfogning och överföringar

Vi slår samman förändringarna. git merge
Vi flyttar grenarna. git rebase
Flytt begår. git cherry pick
Vi slår samman åtagandet till ett. git squash
Krokar
Smeknamn

Lektion 11. Gitflow

Hur används det och varför?
Testcykler
Eventuellt blå/grön
Släpp grenar
Snabbkorrigeringar

Lektion 12. SSH

SSH-protokoll
Varför används den?
Skapa nycklar
Spedition
SSH agent
Kopiera filer via SSH
Windows: Git för Windows
Använder SSH med Git

Lektion 13. Lämna in läxor via Git

Grundläggande databas. 20 lektioner.
Databasdesign och SQL-frågor

Databaser (DB) är datalagrings- och bearbetningssystem som nås med hjälp av SQL-språket (Structured Query Language). Alla moderna webbplatser, spel eller stationära applikationer behöver datalagring. För tillfället finns det många olika databashanteringssystem (DBMS), det mest populära är MySQL. "Databas Basics" är 20 intensiva videolektioner (10 minuter vardera), där vi kommer att gå igenom alla stadier av databasdesign med exemplet med en onlinebutik som använder språket SQL-frågor. Efter denna kurs kommer du att kunna använda olika databaser som MS SQL och Postgre Sql som syntax SQL-språk för dem är det praktiskt taget inte annorlunda.

Lektion 1: Relationsdatabaser

Vad är skillnaden mellan en databas och en DBMS; vilka databaser kallas relationella; översikt över moderna DBMS.

Lektion 2. Installera ett DBMS

Installation DBMS MySql Och grafisk applikation Mysql arbetsbänk.

Lektion 3. Databasdesign, normala former

Datadesign i Excel; normala former; primärnyckel.

Lektion 4. SQL CREATE-kommando

Skapa tabeller i GUI MySql Workbench; CREATE kommando; datatyper; arbeta i konsolen.

Lektion 5. SQL INSERT-kommando

Fylla tabeller med data med hjälp av GUI; INSERT kommando; AUTOMATISK ÖKNING.

Lektion 7. SQL-kommandon DISTINCT, ORDER BY, LIMIT

Ta emot och filtrera data med SQL-kommandon DISTINCT och LIMIT; sortera med ORDER-kommandon FÖRBI.

Lektion 9: Datakonsistens

Begreppet konsistens eller konsistens av data.

Lektion 10. Främmande nyckel

Konceptet med en främmande nyckel och restriktioner för kolumnvärden; UTLÄNDSKA NYCKELBEGRÄNSNINGAR.

Lektion 11. Skapa tabeller med en många-till-många-relation

Lägga till en varukorg i onlinebutikens databas.

Lektion 12. Sammansatt primärnyckel

Använda en sammansatt primärnyckel när du designar en tabell med en många-till-många-relation.

Lektion 13. Sammanfoga data från flera tabeller

Hämta data från flera sammanhängande tabeller; inkonsekvens i tillvägagångssättet med flera SELECT.

Lektion 14. INNER JOIN-operatör

Sammanfoga data från flera tabeller med INNER JOIN-operatorn.

Lektion 15. Operatörer LEFT JOIN, RIGHT JOIN

Sammanfoga data från flera tabeller med operatorerna LEFT JOIN och RIGHT JOIN.

Lektion 16. UNION-operatör

Kombinera resultaten av flera SQL-frågor med UNION-operatorn.

Lektion 17. Aggregationsfunktioner

Aggregerande funktioner COUNT, SUM, MIN, MAX.

Lektion 18. GROUP BY operator

Gruppera en vald uppsättning rader med hjälp av GROUP BY-satsen.

Lektion 19. Index

Filtrera i GROUP GENOM att använda HAVING; öka hastigheten för exekvering av frågor med hjälp av index.

Lektion 20. Transaktioner

Transaktionskoncept; TRANSACTION uttalande; ACID-krav för transaktionssystemet.

Användargränssnitt för iOS-applikationer. 1 månad.
Swift 5, XCode 10

Vilka är huvuddragen i de flesta moderna mobilapplikationer? Interaktion med tjänsten. Visa och ändra data på en extern server! Det finns inga applikationer utan ett användargränssnitt. Detta är ansiktet utåt för ditt projekt. Det kan användas för att attrahera och behålla användare. Genom att implementera en koppling till tjänsten kan du organisera användarnas interaktion med varandra eller med ditt företag.

Lektion 1. Gränssnittsdesign. Del I

Analys av de huvudsakliga nätverkskapaciteterna och deras tillämpning i praktiken.

Lektion 2. Gränssnittsdesign. Del II

Lägger till skärmar. Övergångar mellan skärmar. UNavigationController. Segue.

Lektion 3. Gränssnittsdesign. Del III

Vi visar data i form av en tabell. UITableViewController, UITableViewCell, UICollectionViewController.

Lektion 4. Skapa anpassade UI-komponenter

Rita med CoreGraphics. @IBDesignable och @IBInspectable. CALayer: skuggor, gränser, mask, gradient. Omvandling. Bearbetar användargester. UIControl. UIA-utseende.

Lektion 6. Anpassning av samlingar

Skapa anpassade tabellceller, sidhuvuds- och sidfotsvyer. Skapa anpassade samlingsceller, kompletterande vyer. Arbeta med UICollectionViewFlowLayout. Skapa en anpassad layout för samlingsvy.

Lektion 7. Animationer. Del I

Enkla UIView-animationer. Animera övergångar mellan UIViews. Lageranimationer. Vårens animationer.

Lektion 8. Animationer. Del II

Keyframe-animationer. Animationsgrupper. Bezier-kurvor och deras animation. 3D-animationer. UIViewPropertyAnimator.

Lektion 9. Animera övergångar mellan skärmar

Animera övergångar mellan UIViewController. Interaktiva övergångar mellan vykontroller. Skapa din egen segue.

Klient-server iOS-applikationer. 1 månad.
Swift 5, XCode 10

Du kommer att behärska tekniker för att utveckla högbelastningsapplikationer. Du kommer att arbeta med filer och arkiv. Lär dig hantera processer i bakgrund, optimera applikationen för att ladda stora mängder data. Du får också lära dig metoder för att utveckla applikationer med ett universellt gränssnitt. Få erfarenhet av Googles populära Firebase Backend-tjänst. Du kommer också att delta i processen att publicera applikationen i AppStore.

Lektion 1. Tillämpa mönstren "observatör", "singel", "delegera".

Vi studerar implementeringen av de mest populära mönstren i iOS. Låt oss bekanta oss med NotificationCenter.

Lektion 2. Arbeta med nätverket

Lär dig arbeta med nätverksförfrågningar. Anatomi av HTTP-förfrågningar. Översikt över verktyg och bibliotek för att arbeta med nätverksförfrågningar. Skickar förfrågningar med URLSession.

Lektion 3. Kartläggning av json

Låt oss konvertera serverns json-svar till applikationsobjekt. Anatomi av json-formatet. JSONSerialisering.

Lektion 4. Datalagring

En översikt över verktyg och bibliotek för beständig lagring av data i en applikation. UserDefaults, Files. CoreData. SQLite, Realm, Keychain.

Lektion 5. Samråd med lärare 1

Lektion 6. Realm

Detaljerad recension av Realm. Spara, hämta, radera, filtrera data

Lektion 7. Realm Notifications

Övervaka förändringar i riket. Automatisk uppdatering UI

Lektion 8. Backend - Firebase

Vi använder en extern server för att lagra applikationsdata. Bemästra Firebase-ramverket. Vi kopplar ihop mekanismerna "Registrering" och "Användarbehörighet".

Lektion 10. Samråd med lärare 2

Prestanda för iOS-applikationer. 1 månad.
Swift 4.1, XCode 9

Lektion 1. Introduktion till begreppen flertrådad och asynkron kod. Flödeshantering. RunLoop. Tråd. Lektion 2. Utforska Grand Central Dispatch-biblioteket och förenkla flödeshantering. Lektion 3. Introduktion till NSOperation-biblioteket för att organisera flertrådad kod och parallellt exekvering av uppgifter. Lektion 4. Att hantera filsystem. Vi överväger standardkataloger för att spara filer. Lär dig hur du sparar bilder och andra dokument. Lektion 5. Leta efter problem i driften av tabeller och samlingar. Vi överger AutoLayout till förmån för layout på ramar. Vi bearbetar data i en parallell tråd och cachebilder.

Lektion 1. Parallell programmering. Tråd.

Introduktion till begreppen flertrådad och asynkron kod. Flödeshantering. RunLoop. Tråd.

Lektion 2. Parallell programmering. GCD

Vi studerar Grand Central Dispatch-biblioteket och förenklar flödeshanteringen.

Lektion 3. Parallell programmering. NSO-drift

Introduktion till NSOperation-biblioteket för att organisera flertrådad kod och parallellt exekvering av uppgifter.

Lektion 4. Asynkron kod. Framtider/löften

Introduktion
Löfte/Framtidskoncept
Lite teori
Öva

Lektion 5. FileManager

Låt oss förstå filsystemet. Vi överväger standardkataloger för att spara filer. Lär dig hur du sparar bilder och andra dokument.

Lektion 6. Optimera UITableView och UICollectionView

Vi söker problem i driften av bord och samlingar. Vi överger AutoLayout till förmån för layout på ramar. Vi bearbetar data i en parallell tråd och cachebilder.

Lektion 7. Nyhetsflödesmönster

Lektion 8. Asynkront skapa bilder

Asynkron bildskapande. Texture/AsyncDisplayKit-bibliotek. Historien om skapandet av ramverket. Den första asynkrona styrenheten. Skapa en rubrikcell. Layoutspecifikation. CSS Flexbox. Skapa en cell med en bild. Implementering av ASTableNode-delegatmetoder

Grundkursen "pumpar upp" grundläggande kunskaper om datavetenskap. Ger en förståelse för hur programmeringsspråket fungerar och de kommandon och lösningar som används i koden. Med C-språket som exempel kommer eleverna att kunna "känna" de mekanismer som ligger till grund för moderna ramverk. Kursen ger kunskaper som skiljer en programmerare från en ”användare” som skriver kod.

Lektion 1. Enkla algoritmer

Introduktion till C. Strukturer. Algoritmer.

Lektion 3. Söka i en array. Enkla sorter

Sök i en endimensionell array. Interpolationssökning. Sortera en array.

Lektion 4. Dynamisk programmering. Sök med retur

Största vanliga efterföljden. Dynamisk programmering. Backtracking sökning. Åtta drottningar problem.

Lektion 5. Dynamiska datastrukturer

Stack, kö. Skapa en stack med hjälp av en array. Dynamiska datastrukturer.

Lektion 6. Träd

Binära sökträd. Hash funktion. MD5. Hash tabeller.

Lektion 7. Grafer. Algoritmer på grafer.

Grafer, genomgång av grafer i bredd och djup. Vågalgoritm. "Giriga algoritmer".

Lektion 8. Komplexa sorteringar

Hoare sortering (Snabb sortering). Hög sort
Slå samman sortering. CountingSort. Algoritm med en lista (duvhålssortering). Block sortering.

Praktik på GeekBrains. 2 månader.
I webinarformat

Under praktiken måste studenterna arbeta på distans med ett Open Source-projekt eller startup. Studenterna kommer att bli ombedda att välja från en uppsättning projekt som är tillgängliga för utveckling. Studenterna kommer att lära sig att arbeta i ett team, kommunicera med andra utvecklare, produkt- och projektledare, designers, lära sig flexibla metoder, SCRUM-ramverket och behärska principerna för distansarbete. Resultatet av praktiken är förmågan att arbeta i ett team, tillägg av en portfölj och möjligheten att ange arbete på ett projekt som kärnarbetserfarenhet i ditt CV. Praktiken sker i form av deltidsarbete på distans, veckovisa statusmöten med läraren i webinarformat.

Lektion 1. Inledning, projektval

Vilka roller finns i utvecklingen? Produktchef, projektledare, utvecklare, designer. Vad är MVP. Arkitektur modern service. Hur utvecklare interagerar med varandra. REST API, Web Socket. Backend, Frontend, mobilapplikationer. Mikroservicearkitektur. Grunderna i distansarbete. Anmäl dig till lag.

Lektion 2. Utvecklingsmetoder

Genomgång av metoder. Cascade (vattenfall), Agile manifest, Kanban, Scrum. Var och till vad de används. Blandade metoder.

Lektion 3. SCRUM-metodik

Arbeta med SCRUM. Sprintplanering. Eftersläpning. Sprintmål. Ökning. Flexibel metodik i distansarbetsförhållanden. Uppgiftsspårare (Trello, Favro)/

Lektion 4. Kartläggning av användarberättelser

Typer av uppgifter. Nedbrytning av uppgifter. Kartläggning av användarberättelser. Arbetar med användarberättelser. Arbeta med tekniska specifikationer med hjälp av vattenfall och flexibla metoder.

Lektion 5. Ansvar, motivation, personlig utveckling

Vad och hur du motiverar dig själv. Vilka är nivåerna av motivation? Hur man inte blir utbränd på jobbet. Och hur man inte glömmer jobbet.

Lektion 6. Att skriva ett CV

Hur man skriver ett CV så att HR inte avvisar det. Hur man intresserar en arbetsgivare. Hur du visar de färdigheter du förvärvat i dina studier om du ännu inte har relevant arbetslivserfarenhet.

Lektion 7. Preliminär sammanfattning, förberedelse för projektförsvar

Analys av student CV. Preliminär sammanfattning. Lite om startups, monetarisering, investerare.

Lektion 8. Sammanfattning, demonstration av slutprojektet

Demonstration av en fungerande prototyp av studenter. Diskussion om erhållna resultat. Respons från läraren. Avskedsord.

Hur man blir en programmerare. 13 lektioner.
Steg-för-steg-instruktioner för att hitta ett jobb

En karriär inom programmering är en spännande resa ut i världen modern teknik. Varje utvecklare har sin egen historia och erfarenhet. Det finns dock en grundläggande algoritm som hjälper dig att ta de första stegen korrekt och leda till ditt mål. Vi har förberett 13 videolektioner där vi svarat på de mest angelägna frågorna om en programmeringskarriär i företag och på frilansmarknaden. Funderar du ofta på att skaffa ett jobb och känner att du är redo att börja tjäna pengar? Då är denna videokurs för dig.

Lektion 1. Yrke "Programmerare"

Funktioner i yrket; FAQ; efterfrågan på arbetsmarknaden.

Lektion 2. Karriärvägledning

Kommer jag att bli en framgångsrik programmerare? Framgångsfaktorer.

Lektion 3. Låt oss börja skriva ett CV

Det viktigaste är det första intrycket; vad ska man kalla positionen.

Lektion 4. Välja ett programmeringsspråk: webbutveckling

Granskning av språk för webbplatsutveckling: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; rätt val.

Lektion 5. Mobil utveckling. Universella programmeringsspråk

Översikt över språk: Java, Objective-C, Swift; C#, C++, Python: rätt val.

Lektion 6. Regler för ett effektivt CV

Lista över tekniker; portfölj; diplom och certifikat; personliga kvaliteter. Syn på en teknisk specialist och HR.

Lektion 7. Jobbsökning: vad, var, när

Drömjobb, psykologiska aspekter; begäran teknik.

Lektion 8. Intervju och provanställning

Intervjuer för programmerare: hur man beter sig, vad man ska säga, vad man ska lyssna på; prövotid och regler för att passera den.

Lektion 9. Frilansande: första stegen

Granskning av frilansande plattformar; registreringsfunktioner; kontoregistrering; hur man sticker ut bland majoriteten av artister.

Lektion 10. Frilansande: komma igång och hitta beställningar

Ordersökningsstrategi; prioritering av beställningar: vad man ska ta sig an; Förhandling; uppgifter och fallgropar i tekniska specifikationer; metoder för att kontakta kunden; skriva svar och fånga kunders uppmärksamhet; rätt frågor.

Lektion 11. Frilansande: orderuppfyllelse och betalning

Betalningsmetoder: banköverföring eller kontanter; förskottsbetalning eller efterskottsbetalning; en översikt över situationer där varje metod kommer att fungera bättre; förberedelse för arbete och bindande avtal med kunden; funktioner i arbetsprocessen; slutskedet av samarbetet; dela feedback; "konsult"-teknik.

Lektion 12. Specialiteter inom IT-området

Hur går utvecklingen in stora företag? Vilka är analytiker, designers, testare, arkitekter, projektledare, teamledare osv.

Lektion 13. Karriärstege inom IT

Hur ser karriärstegen inom IT ut? Inom vilka specialiteter är det lättare att börja din resa? Vilka är utvecklingsutsikterna?

Kursen, utvecklad tillsammans med EnglishDom-skolan, hjälper dig att bemästra viktiga engelskspråkiga ämnen som är relevanta för nybörjare IT-specialister. Maximal övning och fokus på IT-ordförråd. 10 lektioner omfattar CV-skrivning, tekniska uppdrag och affärsbrev, intervjuer och förhandlingar, internationell kommunikation när du marknadsför ditt projekt. I levande dialoger på engelska kommer eleverna att förstärka fraser som kommer att vara användbara i deras arbete för utvecklare och testare, marknadsförare och designers.

Lektion 10. Starta upp

Vi pratar om vårt projekt och presenterar teamet på engelska.

Den här artikeln inleder en serie avsedd för nybörjare. Jag vågar hoppas att nivån på presentationen av materialet gör att även personer som inte är bekanta med programmering kan förstå det. Låt oss börja vår historia med en liten lyrisk utvikning. Ansökningar för iPhone och iPad skrivs i Objective-C. Detta språk användes flitigt på NeXT och kom till Apple efter Steve Jobs återkomst. För närvarande är Objective-C huvudspråket för att utveckla OS X- och iOS-applikationer.

För att börja programmera för iOS behöver du Mac-dator på basen Intel-processor och XCode-utvecklingsmiljön. Om du inte har en Mac spelar det ingen roll. Kanske en av de beskrivna metoderna för att lösa detta problem kommer att passa dig. Vi kommer att fokusera på XCode 4 och iOS5.

Installerar XCode

Först måste vi registrera oss på Apples dev-sajt. Följ länken och klicka på registrera dig. Klicka på knappen Kom igång och slutför registreringsprocessen. Allt är ganska enkelt där, så jag ska inte uppehålla mig vid denna punkt. Efter registrering kommer du att få ett e-postmeddelande med ditt Apple-ID. Gå tillbaka till Apple Developers-sidan och använd den för att komma in i det säkra området. Klicka på iOS-länken i avsnittet DevCenters. Som du kan se erbjuder Apple dig massor av dokumentation, källor och handledning. Den här sidan har allt du behöver för att komma igång med iOS-utveckling. Längst ner finns en Ladda ner Xcode-knapp som du måste klicka på. När du har laddat ner, installera Xcode på din Mac.

Lär känna XCode 4-gränssnittet

För att starta Xcode, gå till din huvudenhet och klicka på utvecklare>Program.

När Xcode har lanserats, välj Arkiv>Nytt projekt, sedan Single View Application och ange HelloWorld som produktnamn. Som ett resultat bör du se något liknande detta

All din kod och resurser är organiserade i speciella mappar, som finns på vänster sida av Xcode-fönstret. Panelen heter "Project Navigator" och innehåller alla delar av ditt program. Filer med källkod har tillägget ".h" och ".m". Om du klickar på en sådan fil öppnas en editor med koden på höger sida av Xcode.

Låt oss inte dröja vid koden för tillfället. Vi återkommer till denna fråga lite senare. Om du tittar längst upp på skärmen kommer du att se flera knappar relaterade till ditt projekt. Låt oss studera denna panel mer i detalj.

"Kör"-knappen startar ditt projekt. Du kan testa din applikation och se till att den faktiskt beter sig som du förväntar dig. Knappen "Tasks" stoppar programmet som körs.

Med hjälp av Schemr-knappen kan du välja målplattformen där din applikation ska köras. Här kan du välja en simulator och felsöka programmet på din dator, eller köra det på din iPhone (iOS-enhet) om du betalade $99-avgiften. Den enda fördelen som denna betalning ger är möjligheten att köra programmet på en riktig enhet och publicera det i App Store. Jag skulle inte rekommendera att du spenderar pengar förrän du har ett vanligt program redo.

Brytpunkter är en mycket användbar sak. Med den här knappen kan du markera rader i källkoden, och när programmet når den markerade raden under körning pausar programmet och du kan se variablernas tillstånd. Detta är ett mycket kraftfullt och allmänt använt verktyg.

Klicka på knappen "Kör". Du kommer att se ett emulatorfönster med ditt projekt. Som du kan se, även om det inte lyser med funktionalitet, är det bara ett tomt.

Programmering för iPhone - Det första steget

Nog med att slå runt, låt oss koda något. Fönstret Project Navigator innehåller källkodsfiler. Klicka på någon .m-fil. Observera att vissa rader är gröna - det här är kommentarer som fungerar som cheat sheets. För att inte bli förvirrad i koden kan programmeraren lämna tips och förklaringar åt sig själv. För att beteckna kommentarer på C-språket används kombinationen av snedstreck //. Allt på raden till höger om dessa karaktärer anses vara en kommentar. Om du vill skriva en flerradskommentar kan du använda kombinationerna /* och */ för att indikera början och slutet av en flerradskommentar.

Innan vi börjar koda applikationen måste jag förklara några begrepp för dig med fingrarna: OOP (Object Oriented Programming), MVC (Modal View Controller), ".h" och ".m"-filer. Så... objektorienterad programmering går ut på att dela upp all kod i så kallade objekt, inom vilka data och de kommandon som bearbetar den lagras. Ett objekt i Objective-C består av två filer.h och .m. File.h kallas rubriken, den innehåller en "skiss" av objektet - alla data och namn på kommandoblock (metoder) som finns i objektet listas. .m-filen kallas implementeringsfilen och den beskriver i detalj allt som anges i headern, det är här all programlogik är programmerad.

MVC (Model View Controller) är något som separerar koden och gränssnittet som användaren ser. Modell är användardata och data du visar för användaren. View är användargränssnittet och koden som tillhandahåller kommunikation mellan View och Model. Konceptet med MVC kan tyckas för abstrut för dig nu, men med tiden kommer du att se att detta tillvägagångssätt verkligen förenklar livet för en programmerare. Detta koncept innebär följande arbetsordning: programmeraren skapar separat en applikationsdesignmall, där han placerar alla knappar, textfält och andra viktiga nonsens, och skriver program separat. Sedan visar den XCode vilken metod (kodblock) som ska anropas som svar på en viss användaråtgärd och vilket namn det eller det kontrollelementet har i programtexten.

Vi utvecklar en programdesign för iPhone

Låt oss börja skapa vår applikation genom att utveckla designen. I fönstret Project Navigator klickar du på MainStoryboard_iPhone.storyboard. Som ett resultat kommer XCode att starta gränssnittsredigeraren.

I det nedre högra hörnet ser du en lista över objekt (Bibliotek) som kan användas i ditt gränssnitt, i den centrala delen visas fönstret View, som representerar layouten på ditt programs gränssnitt. Det övre högra fönstret har flera lägen, som växlas med hjälp av ikonerna ovanför fönstret. Bilden visar läget Attribut Inspector. Här kan du ändra olika attribut för de objekt som utgör ditt gränssnitt.

Låt oss dra ett etikettobjekt från biblioteksfönstret till vår fönsterlayout. Med hjälp av musen kommer vi att ändra storleken på objektet, som visas på skärmen nedan. Inspektören visar egenskaperna för Label-objektet. Låt oss centrera texten genom att klicka på motsvarande ikon i layoutraden.

Låt oss ta bort texten i textfältet (ordet Etikett skrevs där) och ange "Some String" där.

Lägg på samma sätt till en knapp i layouten (Knappobjekt)

Så vi har utvecklat designen av vår applikation. Inget komplicerat, du kan klicka på Kör-knappen och titta på programmets arbete i emulatorfönstret.

Låt oss börja koda

Så vi har två visuella komponenter placerade på layouten. Vi vill att texten i raden ska ändras när knappen klickas. För att implementera denna idé måste vi komma åt en rad (Label-objekt) från programkoden och anropa en metod (kodblock) när knappen trycks ned.

Klicka på filen "ViewController.h" i den vänstra panelen. Vi kommer att beskriva IBoutlet. IBOutlet kopplar vår kod till ett visuellt objekt, till exempel en etikett eller knapp. Ändra koden i filen ViewController.h så att den ser ut

#importera @ interface ViewController: UIViewController(IBoutlet UILabel* etikett; //ge vår sträng namnet Label } //detta är rubriken för metoden som kommer att bli //ropade som svar på ett knappklick- (IBAction) buttonClick: (id) avsändare; @slutet

Detta är allt vi behöver skriva i rubrikfilen. IBAction låter dig koppla en metod till ett användargränssnittselement, till exempel, som svar på ett knappklick kommer programkoden vi har skrivit att anropas.

Så vi sa att vi kommer att anropa strängen med textetiketten och att buttonClick-metoden kommer att anropas som svar på användaråtgärder. Låt oss skriva koden för denna metod. Låt oss byta till filen ViewController.m i projektträdet. Efter raden @genomförande... lägg till koden

- (IBAction) buttonClick: (id) sender( label. text= @ ”Hej från Mobilab. ru”; )

Notera, om du kopierade den här koden kommer du förmodligen att få ett felmeddelande när du kör programmet, troligen ligger problemet i citattecken. Ta bort dem och ange dem från tangentbordet.

Låt oss ta reda på vad vi ser här. Vi kommer åt etikettobjektet - en textrad på skärmen. Eftersom detta är ett objekt har det olika data inuti sig (som i OOP även kallas objektegenskaper) och metoder som kan nås genom att placera en punkt efter objektnamnet. Egenskapen text är ansvarig för texten som finns i en sträng.

Vi har slutfört kodningen, allt som återstår är att associera etiketten och knappen Klicka med elementen i designlayouten. Klicka på raden MainStoryboard_iPhone.storyboard i Project Navigator-fönstret för att byta till gränssnittsdesignern. Klicka sedan på ikonen "Visa kontroller". Växla till anslutningsläge i inspektören (sista ikonen). Titta, etikettraden har dykt upp i området Outlets hos inspektören. Det här är namnet som vi angav i filen ViewController.h. Klicka på cirkeln till höger om etikettraden och dra den till raden Some Text i designlayouten.

Gör en liknande operation med knappen. Klicka på knappen med en cirkel i gruppen "Mottagna åtgärder", klicka sedan på knappen Klicka och dra den till knappen i layouten. Som ett resultat kommer den att öppnas innehållsmeny, med vilken du kan välja när metoden ska anropas. Du kan till exempel ringa koden när användaren trycker på knappen, eller när han släpper den. Det finns många alternativ. Välj "Touch up Inside".

Det är allt! Spara projektet och klicka på knappen "Kör" på den övre panelen. Om du gjorde allt korrekt bör emulatorn med ditt program starta. Klicka på knappen. Texten i raden bör ändras. Det är allt. Första lektionen är över

Vi har förberett ett urval av mobilapplikationer åt dig, tack vare vilka du kan lära dig programmering var som helst. Dela appar som inte finns på den här listan i kommentarerna!

Udacity

Khan akademin

SoloLearn

SoloLearn är en rad mobilapplikationer som lär användaren programmering med hjälp av speciella spel. SoloLearn-appar är tillgängliga gratis för iOS- och Android-plattformar.

Coursera: Onlinekurser

Gratiskurser från världens ledande universitet på Coursera finns nu som appar för Android och iOS.

EdX - Onlinekurser

Vi kunde inte missa dessa fantastiska resurser som också fokuserar på att lära ut programmering på ett roligt sätt.

CodeCombat

Ett av de mest populära spelen för undervisning i programmering. Applikationen används ofta i utbildningsinstitutioner för att lära ut utveckling. Innehåller kurser för alla åldrar.

CodeWars

En tjänst där du kan tävla i programmering med andra deltagare. Användare har tillgång till olika språk för att skriva kod och uppgifter att slutföra.

Om du tyckte att dessa resurser var intressanta rekommenderar vi att du kollar in våra gratis onlinespel som lär dig hur du programmerar.




Topp