#js etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
#js etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Eylül 2023 Pazar

TypeScript Nedir?

TypeScript Nedir?

Merhaba bu yazıda kod detaylarına girmeden genel çerçevede TypeScript nedir? Değinmek istiyorum. Özellikle yazılım dünyasına yeni girenler için genel çerçeveli bir yazı olacak.

TypeScript Microsoft tarafından gelişirilen JavaScript'e statik tipler ekleyen açık kaynaklı bir dildir. Bilindiği gibi JavaScript'te tip ayrımı yoktu bütün değerler object olarak tutulurdu. Yani JavaScript dinamik tiplidir. Değişkenlere hangi tip değer atanırsa o değişkenin değeri o oluyordu. Fakat TypeScript'e değişkenlere tip verebiliyoruz.  TypeScript JavaScript'in bir üst kümesi olduğu için JavaScriptin sahip olduğu bütün söz dizimlerini içerir.

TypeScript ile hem frontend(Angular, React, vb.) hemde backend(Node.js, Deno) uygulamaları geliştirilebilir. Hatta çok tercih ediliyor desekte yeridir. Ama en nihayetinde TypeScript ile yazılan kodlar derlendiğinde core JavaScript'e çevrilir. Çıktı her zaman JavaScript'tir. Bu işlem için varsayılan TypeScript Compiler(TSC) kullanılabilir. Yada Babel derleyicisi kullanılabilir. Çünkü TypeScript ile yazılan en sonunda bir JavaScript motorunda çalışması gerekir ve JavaScript mtorları JavaScript kodunu çalıştırır. 

TypeScript derleyicisinin kendisi TypeScript'te yazılmıştır ve JavaScript'e derlenmiştir. Apache Lisansı 2.0 kapsamında lisanslanmıştır. C#'ın baş mimarı ve Delphi ile Turbo Pascal'ın yaratıcısı Anders Hejlsberg, TypeScript'in geliştirilmesi üzerinde çalışmıştır.

TypeScript büyük projelerin daha mimarisel anlamda geliştirilmesi için ortaya çıkmıştır. Object oriented yapısını destekleyen bir dildir. Diğer object oriented olan dillerin sahip olduğu neredeyse bütün özellikleri barındırmaktadır. Örneğin, Kalıtım(Inheritence), Çokbiçimlilik(Polymorphizm), Soyutlama(Abstraction) ve Sarmalama(Encapsulation).

TypeScript'in bazı temel özellikleri:

  1. Statik Tipleme: TypeScript, değişkenlerin ve nesnelerin veri türlerini tanımlamanıza izin verir. Bu sayede kodunuzun derlenmesi (compile) sırasında hataları tespit etmek daha kolay hale gelir. Tip hatalarını önler ve kodun daha güvenli ve sürdürülebilir olmasını sağlar.

  2. ES6 ve Sonrası Desteği: TypeScript, ECMAScript 6 (ES6) ve sonrası JavaScript özelliklerini destekler. Bu, modern JavaScript özelliklerini kullanmanıza olanak tanır ve kodunuzun güncel ve verimli olmasını sağlar.

  3. Modülerlik: TypeScript, modüler programlamayı destekler ve CommonJS, AMD, UMD gibi modül sistemleriyle uyumludur. Bu, kodunuzu daha düzenli ve yönetilebilir hale getirir.

  4. Tooling Desteği: TypeScript, geliştirme araçları ve entegrasyonlarla zengin bir ekosisteme sahiptir. Özellikle popüler geliştirme ortamları ve IDE'ler (Integrated Development Environment) tarafından desteklenir.

  5. Hızlı Gelişim: TypeScript, geliştiricilere otomatik tamamlama, hata denetimi ve kod dökümantasyonu gibi özellikler sunar. Bu, kodun daha hızlı yazılmasını ve bakımının daha kolay yapılmasını sağlar.

  6. Geniş Topluluk: TypeScript, büyük ve aktif bir geliştirici topluluğuna sahiptir. Sorularınızı sormak, rehberlik almak ve kaynaklara erişim sağlamak için birçok kaynak bulunmaktadır.

TypeScript, özellikle büyük ölçekli uygulamalar geliştiren geliştiriciler için güçlü bir seçenektir. Statik tipleme ve modern JavaScript özelliklerini kullanarak daha güvenli ve verimli kod yazmanıza olanak tanır. Umarım faydalı olmuştur.

Yararlanılan Kaynaklar.

https://en.wikipedia.org/wiki/TypeScript

 

9 Eylül 2023 Cumartesi

JavaScript Nedir?

 

JavaScript Nedir?

Merhaba bu yazıda kod detaylarına girmeden genel çerçevede JavaScript nedir? Ne işe yarar? Değinmek istiyorum. Özellikle yazılım dünyasına yeni girenler için genel çerçeveli bir yazı olacak.

JavaScript, web geliştirme için temel bir programlama dilidir ve modern web uygulamalarının vazgeçilmez bir parçasıdır. İlk olarak 1990'ların sonlarında Netscape Communications tarafından geliştirilen bu dil, tarayıcı tabanlı uygulamaların oluşturulmasını sağlar. JavaScript, kullanıcıların web sayfalarıyla etkileşimde bulunmasına, dinamik içerik oluşturmasına ve web uygulamalarıyla veri iletmelerine olanak tanır.  

JavaScript, tarayıcılar tarafından doğrudan desteklenir. JavaScript tarayıcılarda bulunan JavaScript motorlarının(Chrome V8 Engine, Firefox SpiderMonkey, Safari JavaScriptCore, Internet Explorer Chakra) yorumlaması sonucunda web sayfalarına dinamiklik kazandıran betik bir dildir ve olay tabanlıdır. Kullanıcıların web sayfalarında gezinirken çeşitli işlevler gerçekleştirmelerini sağlar. Bu işlevler arasında formların doğrulaması, animasyonlar, veri alışverişi (AJAX), oyunlar ve daha fazlası bulunur. Yani daha da açmak gerekirse mouse tıklama olayı, klavyeden bir tuşa basma anındaki olay veya hut sayfanın yuklenmesi olayı gibi zamanlarda web sayfasının içeriklerinin dinamik bir şekilde manupule edilmesini sağlar.

JavaScript, tarayıcıların yanı sıra sunucu tarafında da kullanılıyor. Sunucu tarafında JavaScript kodlarının çalışmasını sağlayan platform Node.js'tir. Node.js V8 JavaScriptmotoru üzerinde çalışır. V8 Google tarafından geliştirilen Chrome web browserlarının da üzerinde çalıştığı C, C++ ve JavaScript dilleri ile kodlanan açık kaynak kodlu bir motordur. V8 JavaScript motoru hakkında daha detaylı bilgi almak için buraya tıklayabilirsiniz. Node.js sunucu tarafı uygulamaları geliştirmek için kullanılır. Genellikle hızlı ve ölçeklenebilir ağ uygulamaları oluşturmak için kullanılır. Node.js JavaScript ile yazılmış bir kodu çalıştırmak için gerekli her şeyi içerir.

JavaScript'in Tarihçesi

JavaScript, Netscape Communications tarafından 1995 yılında geliştirilmeye başlandı. O dönemde "Mocha" olarak adlandırılan bu dil, daha sonra "LiveScript" ve sonunda Java dilinin o dönemki popülerliğinden faydalanmak için "JavaScript" olarak adlandırıldı.

  1. Netscape ve Internet Explorer Savaşı (1990'lar): JavaScript, Netscape Navigator tarayıcısında popülerlik kazandı ve web geliştiricileri tarafından kullanıldı. Bu, Microsoft'un Internet Explorer tarayıcısını piyasaya sürmesiyle bir rekabet dönemine yol açtı.

  2. ECMAScript Standardının Oluşturulması (1997): JavaScript'in standartlaştırılması amacıyla European Computer Manufacturers Association (ECMA) tarafından çalışmalar başladı. Bu çalışmalar sonucunda ECMAScript adı verilen bir standart oluşturuldu. JavaScript, bu standart üzerine inşa edildi ve resmi adı "ECMAScript" oldu.

  3. Ajax ve Web 2.0 (2000'ler): JavaScript, web geliştirme için önemli bir araç haline geldi. Özellikle Ajax (Asynchronous JavaScript and XML) teknolojisinin ortaya çıkması, web sayfalarının daha hızlı ve dinamik hale gelmesini sağladı.
     
  4. jQuery ve Diğer Kütüphaneler (2000'ler): jQuery gibi JavaScript kütüphaneleri, web geliştiricilerinin JavaScript'i daha kolay ve etkili bir şekilde kullanmasına yardımcı oldu. Bu kütüphaneler, tarayıcı uyumsuzluklarını ele alarak geliştirme sürecini kolaylaştırdı.
  1. Node.js'in Ortaya Çıkışı (2009): Node.js, sunucu tarafında JavaScript çalıştırmak için kullanılan bir platform olarak ortaya çıktı. Bu, JavaScript'i sadece tarayıcıda değil, sunucu tarafında da kullanılabilir hale getirdi.

  2. Modern JavaScript (ES6 ve Sonrası): ECMAScript 6 (ES6) ve sonraki sürümleri, JavaScript'i daha güçlü ve modern bir dil haline getirdi. Arrow fonksiyonları, sınıflar, modüller gibi yeni özellikler ekledi ve JavaScript'i daha geliştirici dostu hale getirdi.

  3. Bugünkü Kullanım (2020'ler): JavaScript, web geliştirmenin temel taşıdır ve sayısız web sitesi, web uygulaması ve hatta mobil uygulama geliştirmek için kullanılır. Modern web geliştirme çerçeveleri ve kütüphaneleri, JavaScript'i daha güçlü hale getirirken, geliştiriciler için daha verimli bir deneyim sunar.

JavaScript, web geliştirme dünyasının vazgeçilmez bir parçası olarak varlığını sürdürüyor ve sürekli olarak evriliyor. Günümüzde, tarayıcı tabanlı uygulamalardan sunucu tarafı geliştirmeye kadar birçok farklı alanda kullanılıyor.

JavaScript Frameworkleri

Javascript şuan yazılım geliştirme dünyasında öyle bir yere oturmuş ki neredeyse her alanda çalışan bir yazılım geliştiricisinin yolu illaki bir şekilde JavaScript ile kesişmektedir. Farklı uygulamalar geliştirmek için JavaScript üzerine yazılmış bir sürü framework ve kütüphanaler bulunmaktadır. Kısaca değinecek olursak bunlardan bazıları şöyledir;

  1. Angular: Google tarafından geliştirilen Angular, büyük ve karmaşık web uygulamaları oluşturmak için kullanılan bir JavaScript çerçevesidir. Bağlayıcı veri bağlama, modülerlik ve güçlü bir bileşen tabanlı mimari sunar.

  2. React: Facebook tarafından geliştirilen React, kullanıcı arayüzlerini oluşturmak ve yönetmek için kullanılan bir JavaScript kütüphanesidir. Component tabanlı bir yaklaşım sunar ve sanal DOM (Virtual DOM) kullanarak performansı artırır.

  3. Vue.js: Vue.js, JavaScript tabanlı bir açık kaynaklı frameworktür. Kolay öğrenilebilir ve kullanımı basittir. Vue, bileşen tabanlı bir yaklaşım sunar ve hızlı geliştirme için mükemmel bir seçenektir.

  4. Ember.js: Ember.js, büyük ölçekli uygulamalar oluşturmak için tasarlanmış bir JavaScript frameworktür. İyi tanımlanmış bir klasör yapısı ve kod organizasyonu ile geliştiriciye rehberlik eder.

  5. Backbone.js: Backbone.js, web uygulamaları oluşturmak için kullanılan hafif bir frameworktür. Model, görünüm ve denetleyici bileşenlerine dayanır ve uygulamanın ön yüzünü organize etmeye yardımcı olur.

  6. Express.js: Express.js, Node.js tabanlı bir web uygulama çerçevesidir. Özellikle sunucu tarafı geliştirmek için kullanılır ve hızlı ve hafif bir yapı sunar.

  7. Meteor: Meteor, hem sunucu hem de istemci tarafı kodunu aynı dil olan JavaScript kullanarak geliştirmenizi sağlayan bir platformdur. Gerçek zamanlı uygulamalar ve hızlı prototipleme için uygundur.

  8. Svelte: Svelte, web uygulamaları oluşturmak için kullanılan bir frameworktür. İlginç bir özelliği, kodun derlenmiş olmasıdır. Bu, daha hızlı çalışan uygulamalar oluşturmanıza olanak tanır.

Bu frameworklerin her biri farklı gereksinimlere ve kullanım durumlarına yöneliktir. Geliştirme ihtiyaçlarınıza ve tercihlerinize bağlı olarak en uygun olanını seçebilirsiniz.

JavaScrip'in Avantajları 

JavaScript, web geliştirmenin vazgeçilmez bir parçasıdır ve birçok avantaja sahiptir. İşte JavaScript'in bazı avantajları:

  • Tarayıcı Desteği: JavaScript, neredeyse tüm modern web tarayıcıları tarafından desteklenir. Bu, web uygulamalarını farklı platformlarda ve tarayıcılarda sorunsuz bir şekilde çalıştırmanıza olanak tanır.

  • Hızlı Geliştirme: JavaScript, hızlı prototipleme ve geliştirme için uygundur. Hızlı sonuçlar almanızı ve projelerinizi hızla iterasyonlara tabi tutmanızı sağlar.

  • Geniş Topluluk ve Kaynaklar: JavaScript, büyük ve aktif bir geliştirici topluluğuna sahiptir. Bu, sorularınızı sormak, rehberlik almak ve sorunları çözmek için geniş kaynaklara erişim sağlar.

  • Modülerlik ve Kütüphaneler: JavaScript ile birçok modülerlik sağlayan kütüphane ve framework bulunmaktadır. Bu, kodunuzu yeniden kullanmanıza ve geliştirme sürecini hızlandırmanıza olanak tanır.

  • Etkileşimli Kullanıcı Arabirimi: JavaScript, kullanıcılarla etkileşimde bulunmanızı sağlar. Form doğrulamaları, animasyonlar, oyunlar ve gerçek zamanlı güncellemeler gibi etkileşimli özellikler eklemek için kullanılır.

  • Sunucu Tarafı ve İstemci Tarafı: JavaScript, hem sunucu tarafında (Node.js) hem de istemci tarafında kullanılabilir. Bu, tam yığın (full-stack) web geliştirme için idealdir.

  • ES6 ve Sonrası Güncellemeler: ECMAScript 6 (ES6) ve sonraki sürümleri, JavaScript'i daha güçlü ve modern hale getirdi. Bu güncellemeler, kodun daha okunabilir ve sürdürülebilir olmasını sağlar.

  1. Veri İletişimi: AJAX (Asynchronous JavaScript and XML) kullanarak veri alışverişi yapmak için JavaScript kullanılabilir. Bu, web uygulamalarının veritabanlarıyla iletişim kurmasını ve dinamik içerik sağlamasını sağlar.

JavaScript, web geliştirme süreçlerini hızlandıran ve daha iyi kullanıcı deneyimi sunan birçok avantaja sahiptir. Ancak, iyi bir kod yazımı ve güvenlik uygulamalarına dikkat etmek önemlidir.

JavaScript'in özelliği, tarayıcılarla etkileşimde bulunmanın ötesinde, öğrenmesi ve kullanılması kolay bir dil olmasıdır. Ayrıca, büyük bir geliştirici topluluğu tarafından desteklenir ve sürekli olarak geliştirilmektedir. Bu nedenle, web geliştirme dünyasında önemli bir yer tutar ve web uygulamalarının interaktif, kullanıcı dostu ve işlevsel olmasını sağlar. Umarım faydalı olmuştur.

Yararlanılan Kaynaklar.

https://tr.wikipedia.org/wiki/JavaScript

8 Eylül 2023 Cuma

Node.js Nedir?

 

Node.js Nedir?

Bu yazıda kısaca Node.js' den bahsedeceğim fakat JavaScript'e detaylı girmeyeceğim. Bilindiği gibi JavaScript tarayıcıların JavaScript motorlarının(Chrome V8 Engine, Firefox SpiderMonkey, Safari JavaScriptCore, Internet Explorer Chakra) yorumlaması sonucunda web sayfalarına dinamiklik kazandıran betik bir dildir ve olay tabanlıdır. Yani mouse tıklama olayı, klavyeden bir tuşa basma anındaki olay veya hut sayfanın yuklenmesi olayı gibi zamanlarda web sayfasının içeriklerinin dinamik bir şekilde manupule edilmesini sağlar.

Node.js ise JavaScript tabanlı bir platformdur ve sunucu tarafında V8 JavaScript motoru üzerinde çalışır. V8 Google tarafından geliştirilen Chrome web browserlarının da üzerinde çalıştığı C, C++ ve JavaScript dilleri ile kodlanan açık kaynak kodlu bir motordur. V8 JavaScript motoru hakkında daha detaylı bilgi almak için buraya tıklayabilirsiniz. Node.js sunucu tarafı uygulamaları geliştirmek için kullanılır. Genellikle hızlı ve ölçeklenebilir ağ uygulamaları oluşturmak için kullanılır. Node.js JavaScript ile yazılmış bir kodu çalıştırmak için gerekli her şeyi içerir.

 İşte Node.js'in bazı temel özellikleri:

  1. Hızlı ve Verimli: Node.js, V8 JavaScript motoru tarafından desteklenir ve hızlı bir şekilde çalışır. Bu, yüksek performanslı uygulamaların oluşturulmasına yardımcı olur.

  2. Olay İşleme: Node.js, olaylar temelinde çalışır. Bu, çok sayıda eşzamanlı bağlantıyı yönetmek için uygundur, bu nedenle gerçek zamanlı uygulamalar için idealdir.

  3. Paket Yönetimi: Node.js, npm (Node Package Manager) adlı güçlü bir paket yöneticisine sahiptir. Bu, binlerce hazır paketin kullanılmasını ve kodun hızlı bir şekilde genişletilmesini sağlar.

  4. Çapraz Platform Desteği: Node.js, Windows, macOS ve Linux gibi birçok platformda çalışabilir, bu da geliştiricilerin farklı işletim sistemlerinde uygulama geliştirmesini kolaylaştırır.

  5. Topluluk Desteği: Node.js'in geniş ve aktif bir topluluğu vardır. Bu, sorunlarınızı çözmek veya yeni özellikler eklemek için yardımcı olabilecek kaynakların bolca bulunduğu anlamına gelir.

Node.js, özellikle web sunucuları, API'ler ve gerçek zamanlı uygulamalar gibi ağ yoğun uygulamalar geliştirmek için popüler bir seçenektir. JavaScript dilini kullanmanın yanı sıra, sunucu ve istemci tarafında aynı dili kullanmanın avantajlarından birine sahiptir.

.Net Core'da Swagger UI Kullanımı

  Web API geliştirirken API de yazılan metodların ne iş yaptığı? Hangi parametreleri aldığı? Ne cevap döndüğü? Gibi bilgilerin yer aldığı ...