addim-addim-asp.net-core-ders-1.-asp.net-core-a-giris

Addım-Addım ASP.NET CORE Dərs 1. ASP.NET CORE-a giriş

                        Addım-addım ASP.NET CORE

Bu məqaləmizdən etibarən brain2brain.net saytımızda ,sadəcə .NET texnologiyasına aid random postlar yox, həmçinin ardıcıl dərslər(tutorials) də yayımlanmağa başlayacaq. Bloqumuzda  Asp.NET CORE, Javascript və SQL üzrə ardıcıl dərsləri oxuya  biləcəksiniz. Bu tip məqalələr sadədən mürəkkəbə, 0 bilikdən müyyən bir işə düzələnə qədər lazım olan bütün informasiyaları əhatə edəcək.

İlk dərsimizdə aşağıdakı suallara cavab verməyə çalışacaq?

1)Asp.NET nədir?

2)Asp.NET Core nədir?

 3)Asp.NET core və Asp.NET-in fərqi nədir?

4)Hansını öyrənməli?


ASP.NET nədir?

           Asp.NET platforması Microsoftun Web mexanizmlər(Web sayt, Web servis və.s) hazırlamaq üçün relizə buraxdığı .NET  texnologiyasıdır. ASP.NET -->  .NET dll-lərinin  serverdə host olunan variantıdır. Asp.NET vasitəsilə .NET platformasını istifadə edərək Web saytlar(MVC və Web Form), Web servislər(Web APİ) və runtime kommunikasiya proseslərini(SignalR) təmin etmək mümkündür.

Yadda saxlayın ki,ASP.NET ümumi texnologiyanın adıdır. O, öz növbəsində Web Form,MVC, Web Pages, Web APİ və SignalR kimi böyük alt-texnologiyalardan ibarətdir.

 

           PS: ASP və ASP.NET texnologiyalarını qarışdırmaq olmaz. ASP -- .NET platforması yaradılmamışdan  əvvəl Microsoftun Web tətbiqlər hazırlamaq üçün istifadə etdiyi texnologiyası olub. ASP – Active Server Pages olaraq açılır və indiki php developerlərin yazdığı kimi(*.php), sadəcə *.asp formatlı səhifələr formalaşdırmaqla interpretasiya olunurdu. Klassik ASP 1998-ci ildə relizə buraxılıb və adətən VBScript dilini istifadə edib.

           Asp.NET texnologiyası .NET-in Web development üçün istifadə olunan macro frameWorkudur, 2002-ci ildə relizə buraxılıb. Format olaraq *.aspx  istifadə edir və əsas proqramlaşdırma dili C#-dır. ASP.NET-in son versiyası Asp.NET 4.6-dır. ASP.NET 5.0 versiyası gözlənilsə də onun əvəzinə ASP.NET CORE buraxılıb.

 ASP.NET texnologiyası köhnəlməyib ,sadəcə tendensiya ilə bağlı Microsoft krosplatformalı texnologiyalara daha çox üstünlük verir.

 Yuxarıdakı şəkildən göründüyü kimi , ASP.NET özündə bir neçə texnoloji vahidi birləşdirir:

ASP.NET MVC (klassik MVC)–  MVC arxitektur şablonu istifadə edərək  böyük arxitekturalı proqram təminatları hazırlanması üçün istifadə olunur.

ASP.NET Web Form – kiçik və orta həcmli,RAD (Rapid Application Development) –yəni qısa zamanda tez  Web saytların hazırlanması üçündür.

ASP.NET Web Pages – klassik ASP və php developerlərinin istifadə etdiyi səhifə-səhifə development prosesi üçündür. Web Pages vasitəsilə adətən yeni başlayanlar və kiçik proyektlərdə səhifə sayı 10-15 keçməmək şərtilə tələblər olarsa ozaman bu texnologiyanı işlətmək olar.

Asp.NET Web API- web servislər yazmaq üçün Microsoftun tövsiyə olunan texnologiyasıdır.

SignalR- real-time kommunikasiya üçün , adətən online çatlar, online oyunlar, online notification-lar yazan zaman istifadə olunur.

Müəllif qeydi: Web Pages Web Forma nisbətən daha yaxşı müşayiət olunma xüsusiyyətinə malikdir. Belə ki , Web Form mümkün qədər bizi html,css, http-dən izolyasiya edərək əsas diqqəti backend developmentə yönəltməyə çalışır amma Microsoftun “yeni” texnologiyası olan Web Pages ilə adları çəkilənlər üzərində daha çox hakimiyyətə malik oluruq, bu isə bir növ clean Web app yazma hissi formalaşdırır.

ASP.NET MVC yoxsa Web Form?: Bir çox hallarda təəssüfki seçim imkanı bizim əlimizdə olmur. İşlədiyimiz şirkətdə çox vaxt hazır proyektləri support etməli, əlavə modullarını yazmalı oluruq. Amma əgər 0-dan bir layihə başlanacaqsa , layihədəki biznes qaydaların dəyişilmə tezliyi, layihənin həcmi, şirkətdəki proqramçıların təcrübəsi və.s nəzərə alınmalıdır. İşlədiyim bir sıra layihələrdə Web Form app-ləri support etməli olmuşuq. Onların böyük proqramlar yazan zaman istifadəsi fikrimcə doğru deyil. Asp.Net Web Form bizi html,css,javascript-i məhdud istifadəyə sürükləyir.HTTP protokolu üzərində məhdud hakimiyyətə malik oluruq və proseslərin “dərinliklərini” dərk etmədən kod yazmaq,sonradan çıxan problemlərini həllini də çətinləşdirir.  Dizayn üçün komponentyönümlü yol seçməyimizə ,axırda da DevExpress kimi mexanizmləri işlətməyə, nəticədə müasir texnologiyadan uzaqlaşmağa, “пазлшик” olmağa  gətirib çıxardır. Buna baxmayaraq Web Form qısa zamanda tez effekt almaq üçün yaxşı seçimdir. Əgər tez bir zaman bir neçə səhifəlik Web səhifə yaratmaq istəyirsinizsə, html,css,javascript kimi texnologiyaları, Web-in necə işlədiyini tam yaxşı bilmirsinizsə seçiminiz Web Form-dan yana olmalıdır. İşlədiyim iş yerlərində Web Formda yazılmış bloqlara, ERP sistemlərə, daxili intranet applərə çox rast gəlmişəm. Baxmayaraq ki, tərəfdarı deyiləm, ammaki Azərbaycanda bu dəqiqə bir çox böyük şirkətlərdə support olunmağı gözləyən çox Web Form app-lar olduğunu tam əminliklə deyə bilərəm.(İnan mənə, düşündüyünüzdən də çoxdur...)

           İndinin trendi isə ASP.NET MVC-dir. Hamının Web texnologiyanı məhz MVC-dən başlayaraq öyrənməsi halı çox yayğındır. Məsələ odurki ,MVC Web Form-a nisbətən:

-Daha modulyardır

-Daha rahat müşayiət olunandır

-HTML,CSS, HTTP üzərində tam hakimiyyətə malikik

-Arxa planda “bilmədiyimiz qəribə hadisələr” baş vermir

-Open source-dur(açıq qaynaqlı)

-Böyük və orta proyektlər üçün daha çox məsləhət görüləndir

-Arxitektur baxımdan daha mükəmməldir

-Həm İİS, həm də digər serverlərdə host oluna bilir

-Modul strukturu baxımdan zəif asılı modulları daha rahat yazmağa imkan verir

-HTML,CSS-i bilsək DevExpress kimi sistemlərə ən azından daha az ehtiyac duyuruq :)


ASP.NET core nədir?

 Asp.NET Core--> Microsoftun krosplatformalı(birdən artıq əməliyyat sistemində işləyə bilmə) texnologiya yolunda atdığı ən iri addımlardan biridir. Qeyd etdiyim kimi , Asp.NET-in 5.0 versiyası əvəzinə ASP.NET CORE 1.0 versiyası relizə buraxılıb.

           ASP.NET CORE yüksək sürətli, krosplatofmalı, bulud əsaslı texnologiyadır. Onun vasitəsilə biz mobil tətbiqlər üçün backendlər, web saytlar, web servislər və İOT(İnternet of Thinks)-(ağıllı qapılar, ağıllı avadanıqlar vəs.) yazabilərik.

Asp.NET CORE texnologiyası özündə Razor Pages, MVC, Web API, SignalR kimi alt-texnologiyaları saxlayır.

ASP.NET Razor Pages- Microsoftun web səhifələr hazırlayan zaman əsas tövsiyə olunan texnologiyasıdır. Beləki sələfi web Formdan fərqli olaraq daha yaxşı struktura, daha mükəmməl arxitekturaya malikdir. Kiçik və orta həmcli səhifələr üçündur.

ASP.NET CORE MVC – Böyük web səhifələr üçündür. Microsoft tövsiyə edir ki, kiçik lahiyələri məhz Razor Pages-də yazaq.

3)Asp.NET core və Asp.NET-in fərqi nədir?

ASP.NET CORE ASP.NET-ə nisbətən:

-Daha sürətlidir

-Krosplatformalıdır(birdən artıq əməliyyat sistemində işləyə bilir)

-Open source-dur(açıq qaynaqlı)

-Daha modulyar struktura malikdir

-Build-in(üzərində quraşdırılmış) Dependency injection imkanına malikdir

-System. Web dll-indən asılı olmadığına görə daha modulyar lifecycle-a malikdir

-ASP.NET-dən fərqli olaraq console appdir

-Müstəqil paketlər şəklində nuget-dən endirilmə imkanına malik olduğundan üzərində “lazım olandan artıq” funksiyalar saxlamır.

-ASP.NETin yenidən dizayn olunmuş variantıdır.

-Həm .NET həm və .NET core-da işləyə bilir

-Sidebyside versioning dəstəkləyir(bir kompyuterdə birdən artıq versiya)

-həm visual studio, həm də visual studio code ilə developmenti dəstəkləyir

-ASP.NET dən daha sürətlidir

-Onurğa sütünü ASP.NETdə olduğu kimi HTTPModule-lara yox, Middleware məntiqinə dayanır( irəlidəki məqalələrdə bunlar haqqında detallı məlumat veriləcək)

Asp.NET və ASP.NET CORE arasındakı fərqləri buradan daha detallı oxuya bilərsiniz.

4)Hansını öyrənməli?

Bir proqramçı kimi hər iki texnologiyanı (Asp.NET və ASP.NET CORE) bilməyiniz lazımdır. İşə başlayacağınız şirkətlərdə gümanki sistem artıq var, sadəcə onu davam etdirmək, dəyişmək, müşayiət etmək lazım olacaq çox vaxt. Belə olan halda böyük ehtimal ki ,həmin sistemlər ya web Form ya da klassik MVC-dir(MVC 5) Xüsusən Azərbaycanda, bir çox böyük şirkətlərdə web Form ilə yazılmış proqramlar çoxdur. Bir proqramçı kimi onları müşayiət etməyiniz üçün “klassik” ASP.NET-i bilmək lazımdır.Əgər yeni proyekt üzərində işləyəcəksinizsə ozaman seçimin ASP.NET CORE olma ehtimalı böyükdür.

Bizim ardıcıl dərslər özündə həm Razor Pages, həm Asp.NET CORE MVC, həm də web API-ni saxlayacaq.


Tural

Tural Süleymani

Süleymani Tural Microsoft-un MCSD statuslu mütəxəssisidir, 2008-ci ildən bu yana proqramlaşdırma üzrə tədris aparır

Müəllifin bu dildə ən son postları

Bu yazıları da bəyənə bilərsiniz