ABP Framework ile Ad?m Ad?m Yaz?l?m Geli?tirme – B?l?m 1: ABP Framework’e Giri? ve Kurulum

Admin 

ABP Framework Nedir?

ABP (AspNetBoilerplate) Framework, ASP.NET Core ?zerine in?a edilmi?, modern web uygulamalar? geli?tirmek i?in tasarlanm?? a??k kaynakl? bir uygulama ?er?evesidir. Kurumsal d?zeyde uygulamalar olu?turmak i?in gerekli olan bir?ok ?zelli?i haz?r olarak sunar ve geli?tirme s?recinizi ?nemli ?l??de h?zland?r?r.

ABP Framework’?n Temel ?zellikleri

  • Mod?ler Mimari: Uygulaman?z? mod?ler bir ?ekilde geli?tirebilir, mod?lleri farkl? projelerde yeniden kullanabilirsiniz.
  • ?ok Katmanl? Mimari: Domain-Driven Design prensiplerine uygun olarak d?zenlenmi? katmanl? mimari.
  • Haz?r Altyap?: Kimlik do?rulama, yetkilendirme, ?ok kirac?l?k (multi-tenancy), loglama gibi i?levler haz?r olarak gelir.
  • Kod ?retme Ara?lar?: Tekrar eden i?ler i?in kod ?retme ara?lar? sunar.
  • UI Framework Entegrasyonlar?: MVC, Angular, Blazor gibi UI framework’leri i?in haz?r entegrasyonlar.
  • Entity Framework Core Entegrasyonu: Veritaban? i?lemleri i?in haz?r repository altyap?s?.

Neden ABP Framework Kullanmal?y?z?

  1. Geli?tirme H?z?: Tekrar eden ve standart i?lemleri otomatikle?tirir.
  2. Kurumsal ??z?m: Kurumsal uygulamalarda ihtiya? duyulan ?zellikleri sunar.
  3. En ?yi Pratikler: Yaz?l?m geli?tirme d?nyas?ndaki en iyi pratiklere g?re tasarlanm??t?r.
  4. A??k Kaynak Ekosistemi: Geni? bir topluluk deste?i ve haz?r mod?ller sunar.
  5. G?ncel Teknolojiler: .NET Core, Entity Framework Core, Autofac gibi g?ncel teknolojileri kullan?r.

Geli?tirme Ortam?n?n Haz?rlanmas?

ABP Framework ile geli?tirme yapmak i?in a?a??daki ara?lara ihtiyac?m?z olacak:

Gerekli Yaz?l?mlar

  1. .NET Core SDK: En g?ncel .NET Core SDK’y? resmi sitesinden indirip kurun.
  2. IDE: Visual Studio, Visual Studio Code veya JetBrains Rider kullanabilirsiniz.
  3. Veritaban?: SQL Server, MySQL, PostgreSQL veya SQLite kullanabilirsiniz.
  4. Node.js: Baz? ?ablonlar i?in Node.js ve npm gerekli olabilir.

ABP CLI’?n Kurulumu

ABP CLI (Command Line Interface), ABP projelerini y?netmek i?in kullan?lan komut sat?r? arac?d?r. Kurulum i?in a?a??daki ad?mlar? izleyin:

bashCopydotnet tool install -g Volo.Abp.Cli

E?er daha ?nce kurduysan?z, g?ncel s?r?m? kullanmak i?in a?a??daki komutu ?al??t?rabilirsiniz:

bashCopydotnet tool update -g Volo.Abp.Cli

?lk ABP Projesinin Olu?turulmas?

ABP CLI kullanarak ilk projemizi olu?tural?m. ABP farkl? UI framework’leri i?in ?ablonlar sunar:

  • MVC (Razor Pages)
  • Angular
  • Blazor WebAssembly
  • Blazor Server

Bu seride MVC ?ablonunu kullanaca??z, ancak ayn? konseptler di?er UI teknolojileri i?in de ge?erlidir.

Yeni Proje Olu?turma

Komut sat?r?nda a?a??daki komutu ?al??t?rarak yeni bir ABP projesi olu?turun:

bashCopyabp new TodoApp -u mvc

Burada:

  • TodoApp projenin ad?d?r.
  • -u mvc parametresi UI framework olarak MVC kullan?laca??n? belirtir.

Di?er se?enekler i?in:

  • -u angular Angular i?in
  • -u blazor Blazor WebAssembly i?in
  • -u blazor-server Blazor Server i?in

Ek Parametreler

Proje olu?tururken kullanabilece?iniz baz? yayg?n parametreler:

  • -d sqlite: SQLite veritaban? kullanmak i?in (varsay?lan: Entity Framework Core ile SQL Server)
  • --mobile none: Mobil uygulama olu?turmamak i?in
  • --tiered: Katmanl? mimari i?in (Web ve API katmanlar?n? ayr? projeler olarak olu?turur)
  • -dbms mysql: MySQL veritaban? kullanmak i?in
  • -dbms postgresql: PostgreSQL veritaban? kullanmak i?in

Olu?turulan Proje Yap?s?

ABP CLI, a?a??daki yap?da bir ??z?m (solution) olu?turur:

CopyTodoApp/
  +?? src/
  -   +?? TodoApp.Domain/             # Domain katman?
  -   +?? TodoApp.Domain.Shared/      # Domain i?in payla??lan s?n?flar
  -   +?? TodoApp.Application/        # Uygulama servisleri
  -   +?? TodoApp.Application.Contracts/ # DTO'lar ve servis aray?zleri
  -   +?? TodoApp.EntityFrameworkCore/ # EF Core yap?land?rmalar?
  -   +?? TodoApp.DbMigrator/         # Veritaban? migrasyon arac?
  -   L?? TodoApp.Web/                # Web katman? (MVC)
  +?? test/                           # Test projeleri
  -   +?? TodoApp.Domain.Tests/
  -   +?? TodoApp.Application.Tests/
  -   +?? TodoApp.EntityFrameworkCore.Tests/
  -   L?? TodoApp.Web.Tests/
  +?? TodoApp.sln                     # Visual Studio solution dosyas?
  L?? ...

Projeyi ?al??t?rma

Veritaban?n? Haz?rlama

?lk olarak veritaban?n? olu?turmam?z gerekiyor. Bunun i?in:

  1. TodoApp.DbMigrator projesini ba?lang?? projesi olarak ayarlay?n.
  2. Projeyi ?al??t?r?n. Bu, veritaban?n? olu?turacak ve ba?lang?? verilerini ekleyecektir.

Alternatif olarak, TodoApp.EntityFrameworkCore projesinde Package Manager Console a??p a?a??daki komutu da ?al??t?rabilirsiniz:

CopyUpdate-Database

Web Projesini ?al??t?rma

Veritaban? olu?turulduktan sonra, TodoApp.Web projesini ba?lang?? projesi olarak ayarlay?n ve ?al??t?r?n. Taray?c?n?zda ABP Framework’?n ho? geldin sayfas?n? g?receksiniz.

Varsay?lan olarak, a?a??daki kullan?c? bilgileriyle giri? yapabilirsiniz:

  • Kullan?c? ad?: admin
  • ?ifre: 1q2w3E*

Temel Yap?land?rmalar

appsettings.json

TodoApp.Web projesindeki appsettings.json dosyas?, uygulaman?z?n temel ayarlar?n? i?erir:

jsonCopy{
  "App": {
    "SelfUrl": "https://localhost:44352"
  },
  "ConnectionStrings": {
    "Default": "Server=localhost;Database=TodoApp;Trusted_Connection=True"
  },
  "AuthServer": {
    "Authority": "https://localhost:44352",
    "RequireHttpsMetadata": "false"
  },
  "StringEncryption": {
    "DefaultPassPhrase": "..."
  }
}

Bu dosyada a?a??daki ayarlar? yap?land?rabilirsiniz:

  • ConnectionStrings: Veritaban? ba?lant? dizesi
  • App.SelfUrl: Uygulaman?n URL’si
  • AuthServer: Kimlik do?rulama sunucusu ayarlar?

Mod?l Yap?land?rmas?

ABP, mod?ler bir yap?ya sahiptir. Her projenin bir mod?l? vard?r ve bu mod?ller ConfigureServices ve OnApplicationInitialization metodlar? arac?l???yla yap?land?r?l?r.

TodoApp.Web projesindeki TodoAppWebModule s?n?f?, web mod?l?n? yap?land?r?r:

csharpCopy[DependsOn(
    typeof(TodoAppApplicationModule),
    typeof(TodoAppEntityFrameworkCoreModule),
    typeof(AbpAutofacModule),
    typeof(AbpAccountWebModule),
    typeof(AbpIdentityWebModule),
    typeof(AbpAspNetCoreMvcUiBasicThemeModule),
    // ...di?er ba??ml?l?klar
)]
public class TodoAppWebModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        // Servis yap?land?rmalar? burada yap?l?r
    }

    public override void OnApplicationInitialization(ApplicationInitializationContext context)
    {
        // Uygulama ba?lat?l?rken yap?lacak i?lemler burada yap?l?r
    }
}

?rnek Bir Sayfan?n ?ncelenmesi

ABP ?ablonlar?, bir?ok haz?r sayfa i?erir. ?rne?in, kullan?c? y?netimi sayfas? TodoApp.Web/Pages/Identity/Users dizininde bulunur.

Users dizininde:

  • Index.cshtml: Kullan?c? listesi sayfas?
  • Index.js: Sayfa i?in JavaScript kodlar?
  • CreateModal.cshtml: Yeni kullan?c? olu?turma modal?
  • EditModal.cshtml: Kullan?c? d?zenleme modal?

Bu sayfalar? inceleyerek ABP’nin sayfa yap?s?n? anlayabilirsiniz.

ABP Framework Dok?mantasyonu

ABP Framework ile ilgili daha fazla bilgiye ihtiya? duyarsan?z, resmi dok?mantasyonu ziyaret edebilirsiniz.

Sonraki Ad?mlar

Bu b?l?mde ABP Framework’?n temel ?zelliklerini, kurulumunu ve ilk projenin olu?turulmas?n? ??rendik. Bir sonraki b?l?mde, ABP’nin katmanl? mimarisini daha detayl? inceleyece?iz.

Herhangi bir sorunuz varsa, yorumlarda belirtebilirsiniz. ABP Framework ile geli?tirme serimize devam edece?iz!

Recommended Posts

Bilgi G?venli?i

Sosyal M?hendislik

” Bir bilgisayar sistemini hacklemek zor olabilir. Ama bir insan? kand?rmak ?o?u zaman ?ok daha kolayd?r. “ ??te sosyal m?hendislik tam olarak burada devreye girer. G?n?m?zde bir?ok siber sald?r?, karma??k yaz?l?mlardan ?ok insan psikolojisini hedef al?r. ??nk? en g??l? g?venlik sistemleri bile, yanl?? ki?iye verilen tek bir ?ifreyle etkisiz hale gelebilir. Sosyal m?hendislik; insanlar?n g?ven, […]

Admin 

ABP Framework ile Ad?m Ad?m Yaz?l?m Geli?tirme ? B?l?m 7: Kullan?c? Aray?z? Geli?tirme

Uygulaman?n kullan?c?larla etkile?im kurdu?u katman olan Kullan?c? Aray?z? (UI) Katman?, genellikle ASP.NET Core MVC (Razor Pages), Angular veya Blazor gibi teknolojilerle geli?tirilir. ABP Framework, se?ti?iniz UI teknolojisiyle sorunsuz entegrasyon sa?layarak geli?tirme s?recinizi h?zland?r?r ve ortak UI ihtiya?lar?n? kar??lar. Bu b?l?mde, ABP ile kullan?c? aray?z? geli?tirmenin temel y?nlerini ele alaca??z. Se?ilen UI Teknolojisine G?re Temel Yap?land?rma […]

Admin 

ABP Framework ile Ad?m Ad?m Yaz?l?m Geli?tirme ? B?l?m?6: API Katman? Geli?tirme

Modern uygulamalarda API (Application Programming Interface) katman?, hem istemci uygulamalar (mobil, web) hem de di?er servislerle ileti?im kurmak i?in kritik ?neme sahiptir. ABP Framework, g??l? ve kolay yap?land?r?labilir bir API katman? olu?turman?z? sa?lar. Bu b?l?mde, ABP’nin API geli?tirme ?zelliklerini ve en iyi pratikleri inceleyece?iz. Auto API Controller ?zellikleri ABP Framework’?n en kullan??l? ?zelliklerinden biri Auto […]

Admin 

Leave A Comment