Duocode ile C# Kodunuzu JavaScript’e Dönüştürün
JavaScript dilinin ve bu dilde yazılmış kütüphanelerin son yıllardaki etkileyici gelişimi hepimizin malumu. Artık sunucu tarafında dahi JavaScript dili ile geliştirilmiş web framework’lerin kullanıldığını biliyoruz(bkz: Node.js) C#, Java, PHP gibi sunucu taraflı dilleri kullanan birçok yazılımcı için ise JavaScript, hala biraz uzak ve kullanımı biraz zor bir dil olarak kalmakta.
JavaScript diline uzak olan ve sunucu taraflı teknolojilere/dillere hakim olan yazılımcılar için son zamanlarda bir programlama dilinde yazılan kodu JavaScript diline dönüştürme araçları duyurulmakta. Örneğin C# ile yazılan bir kodu JavaScript’e çeviren veya Java’da yazılmış bir kodu JavaScript’e çeviren araçlar bulabilirsiniz. Ben de bu yazımda bu tip araçlara biraz değinmek ve C# dilinde yazılmış kodlarınızı JavaScript diline çeviren DuoCode isimli uygulamadan kısaca bahsedeceğim.
Öncelikle şunu söylemeliyim, DuoCode henüz beta aşamasında(bu yazıyı yazarken 0.5 beta sürümü yürürlüktedir). DuoCode C# dilinde yazdığınız kodlarınızı JavaScript diline çevirerek HTML5’e uygun web uygulamaları oluşturmanıza yardımcı olmaktadır. Duocode, Microsoft tarafından geliştirilen Roslyn compiler ile çalışmaktadır.
Duocode, cross-platform özelliği ile de farklı platformlar için uygulama geliştirme olanağı sunuyor. Duocode ile geliştirilen projelerin derlenme sürelerinin oldukça hızlı olduğunu da belirtmekte fayda var. Duocode ile unit test’ler de yazabilirsiniz.
Duocode, C# kodlarını Roslyn derleyicisi ile yorumladığını belirtmiştim. Roslyn derleyicisi code parsing ve syntactic tree (AST) işlemlerini performanslı bir şekilde gerçekleştirir. Sonrasında bu kodları kendi içinde dönüştürüp yenileyerek Javascript kodlarına dönüştürür. Duocode kendi içindeki yapısını sürekli güncel tutacağını vaat etmekte, dolayısıyla kodlarınızın dönüşümü sırasında herhangi bir sorun yaşamamayı umabiliriz. Şu an Duocode, C# 6.0 özelliklerini ve Visual Studio 2015 sürümünü desteklemektedir.
Piyasada bu işlemi gerçekleştiren bir çok araç olmasına rağmen Duocode’ u diğerlerinden ayıran en büyük özellikleri varolan Javascript kütüphaneleriyle uyumlu şekilde çalışması, C# kodlarını rahat bir şekilde debug edip kodların daha okunabilir hale getirilmesi olduğunu söyleyebiliriz. Ayrıca Chrome, Firefox, Safari, Opera ve Internet Explorer gibi güncel tüm tarayıcılarla da uyumlu bir şekilde çalışmaktadır.
Peki DuoCode’u nasıl kullanabiliriz?
DuoCode’u kullanmak için Visual Studio’ya bir eklentiyi kurmanız gerekiyor. “Extension and Updates” penceresine giderek Visual Studio Gallery’den “DuoCode for Visual Studio” eklentisini indirmeniz gerekiyor. Aşağıdaki resimde ilgili eklentiyi görebilirsiniz. Bu arada DuoCode’un şimdilik Visual Studio 2015’i desteklediğini hatırlatmak isterim.
Kurulumu bitirdiysek Visual Studio’da örnek bir uygulama yapmaya hazırız demektir. Aşağıdaki resimde göreceğiniz üzere New Project penceresinde Visual C# altındaki DuoCode bölümünden uygun bir proje şablonunu seçerek örnek bir uygulama yapabiliriz. Ben HTML Application seçeneğini seçerek ilerliyorum.
Proje oluşturulduğunda DuoCode tarafından hazırlanmış örnek bir çalışmayı göreceksiniz. Tabii ki kodlarımızı webden bağımsız yazmak bu tip bir projede mümkün olmayacaktır, bu nedenle HTMLElement gibi sınıfları kullanarak HTML tarafındaki tag’lere karşılık gelen nesneleri kullanmamız gerekecektir.
Bu projeyi çalıştırdıktan sonra tarayıcı üzerinde sayfanın kaynağını görüntüleyecek olursanız DuoCode ile C# dilinde oluşturduğunuz sınıfların artık bir HTML koduna, aynı zamanda da HTML kodu içerisinde çalıştırılacak JavaScript kodlarına dönüştüğünüzü göreceksiniz.
Resmin tam boyutunu görmek için üzerine tıklayınız.
Basit biçimde DuoCode’da yazılmış kodların bir HTML uygulamasına dönüştüğünü ve içerisinde uygun JavaScript tanımlamalarının/fonksiyonlarının da oluşturduğunu görebilirsiniz. Elbetteki bu tip “X dilinde yazılan kodu JavaScript’e çevirme” araçları size hiçbir zaman JavaScript’in ve HTML’in esnekliğini ve de kolaylığını sağlamayacaktır. Ancak belirli durumlarda sunucu taraflı geliştirme yapmak işinizi kolaylaştırıyorsa veya JavaScript diline çok yabancıysanız bu tarz araçlar size belirli faydalar sağlayabilir.
Eğer C# dili dışında farklı programlama dilleri kullanan programcı arkadaşlar varsa ve bu tip bir araca ihtiyaç duyarsa internetten araştırma yapabilirler, büyük ihtimalle kullandıkları dile uygun bir dönüştürme aracı bulacaklardır. Örneğin Java dilini kullananlar için Google’ın geliştirdiği Google Web Toolkit adında bir araç bulunmaktadır. Hatta Google geliştirdiği bazı resmi uygulamalarında bu aracı kullanmıştır. Şu adresten dilerseniz ilgili aracı inceleyebilir ve kullanabilirsiniz: https://code.google.com/p/google-web-toolkit Yine Scala dilini kullananlar şu linkteki yazıyı inceleyebilirler: http://www.infoworld.com/article/2898434/javascript/scalajs-lets-you-compile-scala-to-javascript.html