A blokk · Bevezetés, környezet, Git · 1. tananyag
Eddig weboldalakat készítettél — minden a böngészőben történt. Idén olyan programokat írunk, amelyek a gépre telepítve, böngésző nélkül futnak: mint a Word, a Fájlkezelő vagy a Visual Studio. Az eszközünk a C# nyelv lesz, az év végére pedig saját játékaid lesznek — konzolon és ablakban is.
Az asztali alkalmazás (angolul desktop application) olyan program, amely:
Ismerős példák: a Windows Fájlkezelője, a Számológép, az Excel, a Visual Studio — és a legtöbb számítógépes játék.
A határ nem mindig éles. A Discord vagy a VS Code úgy néz ki, mint egy asztali program — valójában egy beágyazott böngészőben futó weboldal (a technika neve: Electron). És működik a másik irány is: van webes Word és webes Excel. A három világ (asztali, web, mobil) egyre inkább átfedi egymást.
Az alábbi táblázat lényege egy mondatban: az asztali programoknak azért van létjogosultsága, mert közel van a géphez — lát fájlokat és hardvert, (általában) nem függ a hálózattól; cserébe telepíteni és frissíteni kell.
| Szempont | Asztali | Webes | Mobil |
|---|---|---|---|
| Hol fut? | a gép operációs rendszerén | a böngészőben | a telefon rendszerén |
| Telepíteni kell? | igen (vagy egy .exe fájl) | nem, csak egy cím kell | igen, áruházból |
| Internet nélkül? | általában igen | általában nem | változó |
| Gép erőforrásai (fájlok, hardver) | teljes hozzáférés | erősen korlátozott | engedélyekhez kötött |
| Frissítés | a felhasználó gépén | azonnal, mindenkinél | áruházon keresztül |
| Példa | Excel, Photoshop | Gmail, webshop | Instagram, banki app |
Döntsd el mindegyik leírásról, melyik világba tartozik!
Az asztali programoknak két nagy megjelenési formája van:
Mert a konzolban minden sor a logikáról és a programozási nyelvről szól: nincs ablak, nincs gomb, nincs elrendezés — csak a program gondolatmenete. Előbb gondolkodni tanulunk meg, aztán ablakot rajzolni. És a konzol nem is szükségszerűen csúnya: színekkel és keretekkel meglepően jó kinézetű programok készülnek majd.
A C# (ejtsd: szí-sárp) a Microsoft által 2000-ben útjára indított, azóta folyamatosan fejlődő nyelv. Mi a C# 14-et használjuk, a .NET 10 futtatókörnyezettel — hogy ez utóbbi pontosan mit jelent, az az A3 fejezet témája.
| Terület | Példa |
|---|---|
| Asztali alkalmazások | Paint.NET, KeePass, vállalati programok ezrei |
| Játékfejlesztés | a Unity játékmotor szkriptnyelve — az osu! is C#-ban készült |
| Webes backend | ASP.NET Core — bankok, webshopok szerveroldala |
| Vállalati rendszerek | számlázók, raktárkezelők, ügyviteli szoftverek |
Így néz ki — csak hogy lásd, mire számíts:
// Az első C#-programod valahogy így fog kinézni: Console.Write("Hogy hívnak? "); string nev = Console.ReadLine(); Console.WriteLine($"Szia, {nev}! Kezdjük a C#-ot!");
A tanév íve — minden állomás a korábbiakra épül:
Fordítva: a világ szerverein futó komoly szoftverek jelentős része konzolos vagy teljesen felület nélküli. A grafikus felület csak egy réteg — az érték a logika, a szolgáltatás.
A .NET ma már Linuxon és macOS-en is fut; szerveralkalmazások tömege fut C#-ban Linuxon. A WPF valóban Windows-only — de a felhasználói felületek bemutatására és a felület tervezés alapvető szabályainak megismerésére kiváló eszköz.
Egyik nyelv sem jobb mint a másik, csak bizonyos feladatokra az egyik, más feladatokra egy másik ideálisabb. Ha megtanulsz egy programozási nyelvet, a nyelvi elemek nagyon hasonlóak lesznek egy másikban, azaz a második, harmadik programozási nyelvet már sokkal könnyebben sajátítod majd el.
cmd →
Enter. Ez egy konzolos program (a „Parancssor”) — pont ilyen fekete ablakban
futnak majd a programjaid. Írd be: ver, majd
exit.calc.exe-t vagy a
notepad.exe-t (Fájlkezelő, C:\Windows\System32).
Az .exe kiterjesztés a futtatható programot jelöli —
a tanév végére a te programjaidból is ilyen fájl készül.Ha a cmd-ben a ver parancs kiírta
a Windows verzióját, minden rendben — most használtál egy konzolos programot.
⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás
Sorolj fel 5 asztali, 5 webes és 3 mobil alkalmazást, amit te magad használsz. Van köztük olyan, amelyik több kategóriában is létezik?
Döntsd el az alábbiakról: asztali, webes vagy mobil?
A Discord asztali változata Electron-alapú (beágyazott böngésző). Írj 2-2 érvet: miért lehetett ez jó döntés a készítőknek, és mi a hátránya a felhasználónak? (Segítség: fejlesztés költsége, memóriahasználat.)
Nézz utána: a kedvenc játékod vagy programod milyen nyelven íródott? (Keresőszó: „X written in what language”.) Meglepett az eredmény?
Minden kérdésnél egy válasz helyes. A végén pontszámot kapsz.
| Fogalom | Jelentés |
|---|---|
| asztali alkalmazás | a gépre telepített, az operációs rendszeren futó program |
| konzolos alkalmazás | szöveges be- és kimenetű program, ablakok és gombok nélkül |
| GUI (Graphical User Interface) | grafikus felhasználói felület: ablakok, gombok, menük |
| operációs rendszer | a gépet és a programokat kezelő alapszoftver (Windows, Linux, macOS) |
| C# | a Microsoft objektumorientált programozási nyelve — idén ezt tanuljuk |
| .NET | a futtatókörnyezet és eszközkészlet, amelyen a C#-programok futnak (részletek: A3) |
| Electron | technika, amellyel weboldalból asztali program csomagolható |
.exe | futtatható programfájl kiterjesztése Windowson |