10/09/2019

Zdravo C# i .Net Core

Verovatno ste do sada upoznati sa činjenicom da se C# programski jezik može koristiti i na drugim platformama poput macOS i Linux operativnog sistema. Da, to nije samo moguće već se u nekim kompanijama to primenjuje i pored toga što je kodiranje u C# programskom jeziku sa .Net Core bibliotekama itekako ograničeno na spram .Net Framework-a. Isti slučaj je i sa IDE. Da bi ste kodirali u C# programskom jeziku u Linux operativnom sistemu, neophodno je da instalirate Visual Studio Code programersko okruženje koje se ne može porediti sa moćnim Visual Studio .Net okruženjem. Pa zašto onda da pored poznatog, familijarnog i veličanstvenog Visual Studio .Net-a, kodiramo u Visual Studio Code programskom okruženju? Pa i pored svojih velikih ograničenosti, prednost .Net Core aplikacija je što takve aplikacije mogu raditi pored Windows operativnog sistema i na macOSLinux operativnim sistemima. Zato što koristite macOS ili Linux i hoćete da programirate u C# programskom jeziku. Zato što je Visual Studio Code besplatan. Za potrebe učenja .Net Core aplikacija i praćenje narednih postova na ovu temu, Vi možete i iz Visual Studio .Net-a praviti .Net Core aplikacije koristeći Windows operativni sistem, ali još bolje Vi možete i da instalirate Visual Studio Code na Windows operativnom sistemu. Izbor je samo na Vama.


( Visual Studio Code se može koristiti kao IDE za mnoge programske jezike )

Da, mi smo već pisali na blogu o C# programskom jeziku i još uvek pišemo, ali isto tako treba da razumete da se C# programski jezik konstantno razvija i menja, da se isto tako kodiranje zaboravlja kad se često ne koristi. Vi koji do sada niste učili C# programski jezik, možete da počneteda učite C# programski jezik i od ovog posta ili pogledajte u sadržaju bloga C# Fundamentals – Osnovni nivo, izbor je samo Vaš. Što se tiče učenja dovoljno je da ste okrenuti ASP .Net projektu i automatski ćete potisnuti i zaboraviti većinu stvari koje ste znali kad ste radili na prethodnom projektu u WPF. Jednostavno život programera nije uvek jednostavan. Koliko puta sam nešto kodirao i kad se nisam dugo bavio sa istim kodom, ja sam ga jednostavno zaboravio. Zato Vam kažem, nemoguće je pamtiti sav kod, posebno ako uzmete u obzir da samo .Net Framework ima preko 30 000 funkcija. Ako se još bavite i drugim programskim jezicima, tek onda je neophodno da se bavite nečim što se zove arhiviranje. I da čuvate i štampate Vaše kodove i sve što ste ikad učili. Ovaj blog je veliki izvor informacija i lako me podseti kad se negde zaglavim, ali moje znanje je toliko složeno i kompleksno da prelazi 15 programskih jezika i opet ne mogu sve da znam i da ispratim sve promene. Još ako izgubim negde neki kod koji sam pre imao, to mi je najveća noćna mora. Zato Vaše učenje programiranja shvatite veoma ozbiljno i od samog starta počnite da arhivirate sve što ste ikad učili da programirate, jer jednog dana kada budete radili na nekom svom projektu biće vam veoma značajno. Zaboravite to da sve možete naći na Internetu, pogotovo ako ste Vi kodirali nešto iz Vaše glave. Što se tiče programiranja u C# programskom jeziku uvek je dobro da se podsetite i da obratite pažnju na promene koje se svake godine ugrađuju u C# programski jezik.

Šta sve i kako treba da instaliram da bi koristio C# u Linux operativnom sistemu?


Postovi na ovu temu će biti pisani kao da koristite Linux operativni sistem bez obzira šta Vi koristite. Na Vama je da se adaptirate. Pre nego što počnete da učite C# programski jezik, neophodno je da imate instaliran:

OS: Linux ili macOS ili Windows

IDE: Visual Studio Code

Framework: .Net Core

Za ljude koji instaliraju Visual Studio Code na Windows operativnom sistemu, trenutno je bolje da instalirate Microsoft .Net Core 2.2 SDK nego verziju 3.0 koja je trenutno Preview verzija. Pogledajte kako se instalira Visual Studio Code 2019 zajedno sa Microsoft .Net Core 3.1.


(C# & .NET Core - 1x. How to install Microsoft Studio Code 2019 & Microsoft .Net Core SDK 3.1) 

Vi koji instalirate Visual Studio Code na macOS operativnom sistemu, instalirajte Visual Studio Code za macOS operativni sistem ali pratite instrukcije kao da radite na Linux operativnom sistemu. Za ljude koji koriste Linux operativni sistem, u zavisnosti koji distro koristite; pogledajte sledeći video kako se instalira Visual Studio Code i .Net Core na Kali Linux operativnom sistemu. Ukoliko bilo ko od Vas negde zapne prilikom instaliranja obavezno potražite pomoć na Google. Pogledajte video:


( Linux - 3. How to Install Visual Studio Code and .Net Core to Kali Linux )

Kad ste završili sa instalacijom, otvorite Visual Studio Code zatim pronađite i kliknite u meniju:

File -> Open Folder…

Ili sa leve strane Vašeg razvojnog okruženja, kliknite na ikonicu Search; imate plavo dugme Open Folder. Kreirajte hello_world folder kao folder Vašeg projekta, tamo gde želite da čuvate .Net Core aplikacije. Kad ste kreirali i otvorili novi folder pronađite i kliknite u meniju:

View -> Terminal

U donjem desnom uglu razvojnog okruženja otvoriće vam se Terminal panel ukoliko koristite Linux operativni sistem ili powershell panel ako koristite Windows operativni sistem. S obzirom da nismo ni proverili da li je .Net Core uspešno instaliran, prvo ćemo to proveriti tako što će te otkucati komandu dotnet i pritisnuti Enter na tastaturi.

dotnet

Ukoliko niste dobili identičan sledeći navedeni rezultat, znači da imate negde grešku prilikom instalacije i nećete biti u mogućnosti da programirate .Net Core aplikacije. To znači da će te morati ponoviti instalaciju Visual Studio Code-a i .Net Core SDK-a. sve dok ne dobijete sledeći rezultat:

Usage: dotnet [options]

Usage: dotnet [path-to-application]

Options:

-h|–help              Display help.

–info                    Display .NET Core information.

–list-sdks            Display the installed SDKs.

–list-runtimes   Display the installed runtimes.

path-to-application:
The path to an application .dll file to execute.

Ukoliko je sve u redu, možete nastaviti tako što će te otkucati novu komandu i pritisnuti Enter:

dotnet new console

Čim se navedena komanda izvrši, možete primetiti da u Explorer panelu sa leve strane razvojnog okruženja; da razvojno okruženje kreira par fajlova u hello_world folder. Kliknite na kreirani fajl Program.cs i u gornjem desnom panelu obratite pažnju da je razvojno okruženje već ispisalo neki kod u C# programskom jeziku.

using System;
namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

        }
    }
}

Kao što možete videti ovaj kod predstavlja mali program koji vrši ispis na konzoli Hello World!. Da bi ste pokrenuli taj kod ukucajte sledeću komandu u Terminal panel:

dotnet run

Sačekajte malo i program će se izvršiti:

Hello World!

Ukoliko ste sve ovo uradili kako treba. Čestitam! Upravo ste napisali Vaš prvi .Net Core program; Zdravo svete!, na engleskom jeziku; a da faktički niste napisali nikakav kod. Razvojno okruženje je to automatski generisalo. I u sledećim programima, taj kod će biti polazna tačka, svim našim .Net Core konzolnim aplikacijama. S obzirom da niste pisali nikakav kod, to je dobro kad radite na nekim velikim projektima i radno okruženje generiše neki deo koda za Vas, ali za učenje programiranja to nije dobro. Gledanje i čitanje samo koda neće nikad od vas napraviti programera, zato je najbolje da ceo generisani kod napravimo kao jedan komentar da se ne može izvršavati. Ali krenimo redom.

Zašto da učim C# programski jezik?

Reći ću vam kratko i jasno što sam i pre govorio. Zato što je C# programski jezik najbolji programski jezik. Možete sa njime programirati sve i svašta. Prva i najvažnija stvar po pitanju C# programskog jezika jeste da shvatite da je on popularan, jednostavan, moderan, programski jezik opšte namene i objektno orjentisan programski jezik iza kojeg stoji Mikrosoft korporacija i hiljade zaposlenih. To znači da svi ti ljudi rade upravo na tome da bi Vi mogli da programirate što lakše, bolje i udobnije. C# programski jezik jeste baziran na C++ programskom jeziku ali je mnogo jednostavniji. Za C# programski jezik kažemo da je case-sensitive; što znači da morate obratiti pažnju na velika i mala slova jer na primer Knjiga i knjiga nisu isto.

Komentari u C# programskom jeziku

C# programskom jeziku postoje dve vrste komentara, ali postoji još jedna vrsta komentara koja se često koristi u XML dokumentima, koja se ponekad umetne i u C# kod kad nešto treba posebno istaći ili dokumentovati.

·         Single Line Comment – se koristi ukoliko želite da komentarišete jednu liniju koda.

// Line Comment

·         Multiline Comment – se koristi ukoliko želite da komentarišete više linija koda.

*/ Multiline
     Comment */

·         XML Documentation Comment – XML komentari za dokumentaciju

       ///
       /// XML Documentation Comment
      ///

Sad kad znamo kako se prave komentari u C# programskom jeziku, selektujte celi generisani kod u fajl panelu i pronađite u meniju i kliknite:

Edit -> Toggle Block Comment

Kad ste to izvršili primetićete da je sav selektovan generisan kod pretvoren u Multiline Comment komentar. Mogli smo to i sami ručno izmeniti tako što bi dodali na početku koda /* i na kraju koda */.

/* using System;
namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
} */

Međutim ja sam ovo namerno uradio preko razvojnog okruženja da bi ste znali šta je Toggle Block Comment. Naravno, ukoliko želite da pretvorite samo jednu liniju koda u komentar za to možete koristiti sledeći meni:

Edit -> Toggle Line Comment

Ili jednostavno možete ispred linije koda ukucati //

Da prethodni kod za Vas ne bi bio neshvatljiv ukoliko ste početnik u programiranju, obratite pažnju da je taj kod sastavljen od komandi, Main funkcije i blokova razdvojenih vitičastim zagradama { }. Prvo imate imenski prostor, u ovom programu hello_world, klasu Program, glavnu Main funkciju i u njoj komadu da ispiše Hello World! na konzolu. Kad se pokrene ovaj program, prvo se izvršava Main funkcija. Main funkcija je posebna funkcija i u celom Vašem projektu mora da postoji samo jedna Main funkcija. Nju morate pisati identično prvim velikim slovom, main funkcija nije Main funkcija. Međutim, ni jedna funkcija se ne može pisati izvan klase. Zato prvo napišite klasu pa u nju stavite Main funkciju i sve to snimite.

 class Program
{
        static void Main(string[] args)
        {

        }
}

Ukucajte u Terminal panel ponovo komandu:

dotnet run

Ukoliko niste snimili vaš kod koji ste uneli, izvršiće se prethodni koji je snimljen, to znači da će te dobiti rezultat koda koji je pretvoren u komentar.

Hello World!

Da se ovo ne bi dešavalo, najbolje je da čekirate u meniju sledeću opciju:

File -> Auto Save

Sad će se kod izvršiti ali se na ekranu neće ništa prikazati. Poenta je da se takođe neće pojaviti ni jedna greška, jer ste pravilno napisali kod iako je delimičan i ne prikazuje ništa. Unesite sada sledeću liniju koda:

class Program
{
     static void Main(string[] args)
    {
        System.Console.WriteLine("Hello C# 7.3 and .Net Core 2.1");
        
    }
}

Pokrenite sada program i dobićete rezultat:

Hello C# 7.3 and .Net Core 2.1

Ovo je sve što vam je potrebno da bi vaš program radio. Međutim, šta ako želite da se ovaj program pokreće iz nekog drugog programa? Tada je neophodno da imenujete namespace – imenski prostor za vaš program. Po defaultu ime vašeg imenskog prostora je isto kao ime vašeg projekta, ali vi to naravno možete da organizujete i promenite kako vi to želite. Na primer ja mogu svim mojim programima dodeliti imenski prostor Manuel i zatim dodati tačku . i produžiti svoj imenski prostor. Na primer:

namespace Manuel.HelloWorld
{

}

Ja sam stavio svoje ime Manuel, međutim u praksi tu bi stajalo ime kompanije za koju radite i naziv projekta. Za naš primer, stavićemo samo naziv projekta hello_world:

namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello C# 7.2 and .Net Core 2.1");
        
        }
        
    }
}

Da li se Vama čini da je komanda za ispisivanje predugačka? Zato ćemo uvesti imenski prostor komandom using koji će nam omogućiti da kraće pišemo naredbu za ispisivanje na konzolu.

using System;

namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello C# 7.2 and .Net Core 2.1");
        
        }
    }
}

Šta mislite, da li bi mi ovo mogli još da napišemo kraće? Na primer da probamo ovo:

using System;
using System.Console; 

namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello C# 7.2 and .Net Core 2.1");
        
        }
        
    }
}

Žao mi je, ali predhodni kod neće raditi, prijaviće grešku jer komandna reč Console nije naziv imenskog prostora. Ne može se koristiti na ovaj način. Međutim ako dodate direktivu static ispred ključne reči Console, onda će da radi.

using System;
using static System.Console; 

namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine("Hello C# 7.2 and .Net Core 2.1");
        
        }
        
    }
}

Kako ovo sve izgleda možete pogledati i na video-u:


( C# & .NET Core - 1. Hello World )




















Nema komentara:

Objavi komentar