• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 23.4.2016 00:55:33C programlama 2 oyun
  • 20.4.2016 16:34:41Local Database
  • 15.4.2016 14:26:15Fatura kayıt işlemi
  • 21.3.2016 01:55:30C# problem

Popüler Sorular

  • 27.5.2012 05:49:50Asp.Net ile Date time alana veri ekleyemiiyorum ?
  • 2.4.2012 00:45:18.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 12.5.2012 08:44:49Acil Yardım
  • 27.5.2012 13:46:51veri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

  • 09.07.2013 Algoritma ve Programlama Mantığı Kitabı
  • 11.05.2013 Yazılım Dilleri'ne Destek Verin
  • 12.04.2013 RFID Mimarisi ve Programlama Kitabı
  • 19.02.2013 Türkiye'nin İlk Asp.Net 4.5 Kitabı
IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

TypeScript; Tanisma

TypeScript; Tanisma

01.03.2013

Yazar: Fatih Boy (Google+)

Kategori: Diğer

1964

typescript

   Geçtiğimiz Ekim ayında resmen tanıştığımız ve 0.8.0 ön izleme sürümü ile aramıza katılan TypeScript, aradan geçen zamanda hızla yoluna devam ederken 5 sürüm çıkardı bile. Peki dün itibari ile 0.8.3 sürümünü indirebildiğiniz TypeScript nedir? Dart, CoffeeScript ve benzerlerinden ya da javascript’ten farkı nedir?

   Öncelikle TypeScript’in ne olduğuyla başlayalım. Microsoft tarafından açık kaynak kodlu olarak geliştirilen TypeScript; en basit ifade ile javascript’in süper setidir. Temeldeki çıkış amacı uygulama bazında javascript geliştirme deneyimini editör desteğini de arkasına alarak geliştirmektir. Javascript’in süper seti olmasına rağmen benzerlerinden farklı olarak tarayıcılar üzerinde çalışması için bilgisayarınıza yeni bir eklenti kurmanıza gerek yok. Aslına bakarsanız javascript çalıştıran herhangi bir tarayıcı TypeScript çıktılarını çalıştırabilir. Bunun nedeni TypeScript ile yazdığınız kodların bir yorumlayıcı/derleyici tarafında yorumlanarak javascript’e dönüştürülmesi. Hal böyle olunca doğal olarak modern tüm tarayıcılar desteklenmekte.

   Peki neden javascript dururken TypeScript kullanalım? Eğer bu soru aklınıza geliyorsa karşılık olarak benim de size bir sorum olacak; Neden assembly dururken C, C++, Java ya da C# ile uygulama geliştiriyorsunuz? Cevabı basit; bu dillerin sunduğu soyutlama sayesinde “nasıl yapacağım?” yerine “ne yapacağım?”a odaklanabiliyor ve daha verimli olabiliyorsunuz… Daha öncede javascript kullanarak geniş çaplı projelerde çalıştıysanız zaten zorluklarını biliyorsunuzdur; ama bilmeyenler için paylaşma doğru olacaktır.Javascript olabildiğine esnek bir dil; ama bu esneklik özellikle büyük projelerde başa bela da olabilir. Esneklik beraberinde analizde/yönetimde zorluğu da getiriyor. Bu sebepledir ki modern dillerde alışa geldiğimiz editor/geliştirme aracı desteği tam olarak javascript için verilemiyor. Yine modern dillerden alışkın olduğumuz nesnel tabanlı programlama yaklaşımında da uzak olması baş ağrıtan bir başka nokta. Eğer projede belirli tasarım desenlerini uygulamıyor, yazılım ekibiniz birbiriyle sıkı şekilde çalışmıyorsa ortaya bir javascript spagettisi sunmanız an meselesi demektir. Editör desteğinin olmaması da ipin ucunu bir kere kaçırdığınızda üstüne bir bardak soğuk su içmekten başka yapılacak bir şey olmadığı anlamına gelmekte.

  Javascript’in bu klasik problemlerine karşın, HTML’in sunduğu platform bağımsızlığıyla mobil, tablet ve masaüstü sistemlere hitap edebilme. Kolay kurulum, düşük konfigürasyon v.b. nedenlerle javascript kullanılan HTML tabanlı uygulamaların sayısının giderek artmakta. Sayının artması demek rekabet demek, daha büyük uygulamalar demek. Dolayısıyla da büyük oyuncularda yavaş yavaş bu alana kaymakta.  Durum böyle olunca daha modern bir script dili, daha iyi bir editör desteği aranılan bir özellik oluyor.

   Web tarayıcıları üzerinde kullanılan script dillerinin geçmişine göz attığımızda javascript yerine yukarıda saydığım özelliklere sahip dillerin kullanılma denelerini görebiliriz ve zaman gösteriyor ki bunların hepsi web’in homojen doğası nedeniyle başarısız denemeler olarak kalmıştır. Bunun en büyük örneklerinden birisi de Microsoft’un desteklediği vbscript’tir.

  Bu gerçekler ışığında Microsoft daha önceki denemelerinden önemli dersler çıkartarak javascript’i farklı bir dil ile değiştirmek yerine modernize etmeyi seçti. Bunun içinde üzerine kendi modern yapısını getiriyor ve bana sorarsanız bu defa başarılı da olacak.

Neden mi; 

   En başta; projenin başında önemli başarı hikayelerine sahip ve .net’in babalarından birisi olan Anders Hejlsberg bulunuyor.  Hejlsberg ve ekibi TypeScript’in mimarisini tasarlarken .Net framework’ü örnek alıyorlar; ki bence de bu örnek web’in doğasına en uygun örnek. her ikisinin benzerliklerini hızlıca inceleyecek olursak;

  • Aynı .net framework gibi bir platform bağımsızlığı ihtiyacı süöz konusu. İstenilen bağımsızlık bu defa işletim sistemi/donanım yerine tarayıcı.
  • TypeScript’te aynı .Net framework gibi bir derleyici tarafından yorumlanarak ara bir dile dönüştürülüyor. Bu ara dil .net framework için CLR iken, TypeScript için javascript.
  • Yine .net framework’te olduğu gibi bu ara dil son kullanıcının makinesi üzerinde yorumlanarak makinelerin anlayabileceği dile dönüştürüyor. Bu yorumlama, dönüşüm işlemi/Jitting .net için framework tarafından yapılırken TypeScript için tarayıcılar tarafından yapılmakta.

   Tüm bunların üzerine editör desteğini de eklerseniz; temiz, yönetilebilir ve güçlü bir mimari ortaya çıkıyor. İşte bu noktada büyük oyuncular artık sahaya inebilir ve aslına bakarsanız bu daha bu haliyle bile Microsoft’un da aralarında bulunduğu önemli firmalar TypeScript’i büyük ürünlerinde kullanmaya başladı bile…

   TypeScript’in başarılı olacağına inanmamın bir başka sebebi de sahip olduğum deneyim. Deneyimlerim gösteriyor ki firmalar sunucu üzerinde çalışan uygulamalarını istemciye taşırken ek bir maliyete katlanmak yerine mevcut geliştirme ekibini kullanmak isteyecektir. Bu uygulamaların pek çoğunun java, .net v.b. ile geliştirildiğini düşünecek olursak böylesine nesnel tabanlı ve güçlü bir editör desteğine sahip dilleri kullanan geliştiriciler mutlaka javascript’ten kaçmak isteyeceklerdir; ki bu noktada TypeScript önemli bir seçenek olarak karşılarına çıkacaktır.

  Sanırım bu kadar bilgi TypeScript ile tanışmanız için yeterli olacaktır. Tahminimce TypeScript’i denemek için sabırsızlanmaya başladınız bile; o zaman ilk adımı atın ve resmi web sitesini ziyaret edin ;)

Yazar Hakkında

Fatih Boy

Fatih Boy

www.enterprisecoding.com

İzmir'de yaşayan bir bilgisayar mühendisi olan Fatih aynı zamanda son iki yıldır Visual C# alanında Microsoft MVP ünvanı sahibidir. Boş zamanlarında açık kaynak kodlu projeler geliştiren Fatih, masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz.

Sosyal Medya

ORANLAR

  • 1964izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Hocam Link başka sayfaya yönlendiriyor.
  • merhaba benim merak ettiğim bir konu var y...
  • Merhaba download linki çalışmıyor. Rica et...
  • Nevzat Bey selamlar, Açıkçası bizler a...
  • Parametreleri Cache İşleminden Yalıtma kon...

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 118420
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 63022
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 47236
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ