Asp.Net Core 1.0 ile web uygulama geliştirmeye başlamak | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi
Ana Sayfa > ASP.NET > Asp.Net Core 1.0 ile web uygulama geliştirmeye başlamak

Asp.Net Core 1.0 ile web uygulama geliştirmeye başlamak

28 January 2016

Yeni adı ile Asp.Net Core 1.0 (eski adı Asp.Net 5) üzerinde geliştirdiğimiz web uygulamaları hem Windows hem MacOS işletim sisteminde hem de Linux işletim sisteminde çalıştırılabiliyor. Cross-Platform denilen bu tarz uygulamaları genelde cross-platform araçlar ile geliştiririz.

Microsoft, Asp.Net Core 1.0 ile web uygulamaları geliştirebilmemiz için ücretsiz olarak Visual Studio Code aracını da sağlıyor ve Visual Studio Code cross-platform çalışabilen bir uygulama geliştirme aracıdır.

Bu makale ile Visual Studio Code kullanarak Asp.Net Core 1.0 projeleri nasıl oluşturulur inceleyeceğiz ve ilk Merhaba Dünya uygulamamızı oluşturacağız.

Öncelikle Command Prompt (Windows) veya Terminal (MacOS, Linux) penceresi açıyoruz;

Projeyi oluşturmak istediğimiz dizine giderek komut satırına

yo aspnet

yazarak çalıştırıyoruz. Böylece Yeoman kullanarak Asp.Net Core 1.0 projesi oluşturacağız.

Eğer bilgisayarda Yeoman kurulu değilse yukarıdaki kod çalışmayacaktır. Öncelikle Command Prompt (Windows) veya Terminal (MacOS, Linux) penceresi içerisinde aşağıdaki kodu çalıştırarak yo aracını kurabilirsiniz;

npm install -g yo

Eğer bilgisayarda npm kurulu değilse, Node.js anasayfasından indirerek kurabilirsiniz.

Yeoman aspnet komutunu çalıştırırken bize ne tip bir proje oluşturmak istediğimizi sorar, listeden Empty Application seçeneğini seçebiliriz.

Yeoman çalışmaya devam ederken projemize vermek istediğimiz ismi sorar, bu makalede ben aspnetcoreornek ismini verdim;

Böylece Yeoman projeyi istediğimiz dizinde oluşturmuş oldu.

Komut satırında projenin dizinine giderek

dnu restore

komutunu çalıştırıyoruz. Böylece projedeki project.json dosyasında tanımlı olan paketler proje dizinine indiriliyor. Eğer bu komutu çalıştırmazsak, uygulamanın ihtiyaç duyduğu paketler eksik olacak ve uygulama çalışmayacak.

Proje kodlarını açmak için bir editöre ihtiyacımız var. Visual Studio Code cross-platform Asp.Net projeleri geliştirmek için gene cross-platform geliştirilmiş bir araç.

code .

komutunu çalıştırarak proje dizinini Visual Studio Code ile açıyoruz;

Visual Studio Code açıldığında soldaki panelde proje dizininde yeralan dosyalar listeleniyor.

project.json dosyası içerisine bakarsak, projenin çalışabilmek için ihtiyaç duyduğu paketlerin listesini görebiliriz.

Aynı şekilde Startup.cs dosyasını açacak olursak, gelen her request için yapılacak işleri görebiliriz. Empty Application projesi oluşturduğumuzdan gelen her request için geriye Hello World! döndürülüyor;

Projeyi bir tarayıcı içerisinde görmek istiyorsak projenin dizininde

dnx web

komutunu çalıştırmalıyız. Böylece http://localhost:5000 adresi üzerinde proje çalışmaya başlayacak.

Microsoft Edge, Internet Explorer, Google Chrome, Mozilla Firefox, Safari, Opera, vs gibi bir tarayıcıyı açıp adres satırına http://localhost:5000 yazacak olursak Hello World! cevabının görüntülendiğini görebiliriz;

Aslında gelen her request için Hello World! sonucunu döndürdüğümüzden, http://localhost:5000 ile başlayan hangi adrese gidersek gidelim hep aynı Hello World! sonucunu göreceğiz;


  • Eline saglik Hocam,

    Gayet sade ve anlasilir olmus. En yakin zamanda Mac ortaminda da ben deneyecegim. Bu yazinin uzerine “Hello Mac” demek lazim:)

  • soner

    Nodejs ye Core mu komaz mı:D

  • sonerin merakını paylaşan adam

    Açıkçası bu sorunun cevabını bende çok merak ediyorum. Hangisi core?

  • https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext adresinde yayınlanan hız yarıştırması sonuçlarına göre, 1 saniye içerisinde;

    Asp.Net Core 1.822.366 request’i,
    NodeJs ise 467.246 request’i

    cevaplayabilmiş ;)

  • Asp.Net Core, daha core. Ne de olsa isminde core geçiyor ;)

  • soner

    Hocam yanlız sadece plaintext te öne geçmiş Multiple queries JSON serialization da node önde görünüyor. Web api yapacaklar için daha önemli değil mi. Ben Core tarafındayım bana daha stabil geliyor ama şüpelerimde yok değil.

  • Bu daha ilk versiyon, ikinci, üçüncü versiyonlarda daha da hızlandığını göreceğiz muhtemelen.

    Bugün birine yatırım yapacak olsam, muhtemelen asp.net core seçerim ;)

  • nodenodenode

    ben de çok kararsız kalmıştım. Soner arkadaşımızın uyarısı sonucu sadece plaintext’te geçtiğini görünce node’cu olmaya karar verdim. Umarım doğru kararı vermişimdir.

  • sen bilirsin ama .net ile web uygulaması yapabildiğin gibi oyun,mobil,sunucu,bulut,iot,vs uygulamaları da yapabiliyorsun. çok uzaklaşmasan iyi edersin bence ;)

  • nodeforever

    Merhaba Engin hocam,
    bildiğim kadarıyla node ile de mobil (hibrit için ionic, native için nativescript), web (expressjs, restify vs) uygulamaları da yazılıyor. Zaten bulut, iot ve sunucu tarafında da zaten node oldukça güçlü (wallmart, paypal, alibaba, netflix vb büyük firmalar tarafından da kullanılıyor). Typescript ile birlikte intellisense de kullanılabiliyor artık. Tek kararsız kaldığım konu event loop dolayısıyla tek bir main thread olması ve buna bağlı olarak cpu ağırlıklı işlemleri yapmamak konusunda dikkatli olma konusu. .net core hala oturmadı diyorlar örneğin yine proje yapısında bir değişikliğe gidip project.json yerine .csproj uzantılı yapı geldi. Bir de .net core ile uygulama geliştiren büyük firmaların sayısı artacak mı acaba? Soner beyin dikkat çektiği gibi verdiğiniz sitede .net core sadece plaintext te önde. Acaba .net core’cu olsam uzun vadede ne olur kestiremiyorum :(

    Bu arada nativescript hakkında ne düşünüyorsunuz? Xamarin’e kıyasla artıları eksileri konusunda bilgi verebilir misiniz?

    Teşekkürler