TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
12345
6789101112
13141516171819
20212223242526
272829

Mailinizi ekleyin
Haberlere abone olun:

anket: Sayfamızda En çok hangi bölüm ilginizi çekmekte
Sayfamızda En çok hangi bölüm yani programlama dili ve makaleleri ilginizi çekmekte?
PHP
C / C++ / C#
Asp ve .NET
JS / Ajax / DHTML /HTML
SQL
Visual Basic
Güvenlik
Action Script
Diğer
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

.hta dosyaları ile masaüstünde çalışan web tabanlı yazılımlar geliştirmek

by Mr. CanaWar on Ocak 05,2011

image
Bu yazımda sizlere hta dosyalarını tanıtacağım ve bu dosyalarla tercih ettiğimiz herhangi bir web programlama dili ile masaüstü ortamında çalışan uygulamalar geliştirmenin yöntemlerini ve bu yöntemlerin olası kullanım alanlarını kısaca paylaşacağım.

hta nedir?
hta bir dosya uzantısıdır ve HTML Application'ın kısaltılmışıdır. Microsoft'un kıyıda köşede gözlerden uzak kalmış hazinelerinden biridir. Hazine diyorum, çünkü ülkemizdeki işletmelerin büyük büyük büyük çoğunluğunun windows ortamında çalıştığını düşünürsek, bu işletmeler için ister basit yapılı ister karmaşık yapılı olsun, kurumsal yazılımlar geliştirme noktasında biz web yazılımcılarını adeta "kurtaran" bir altyapı olduğunu rahatlıkla söyleyebilirim. hta'nın bugüne dek yaygın olarak kullanıldığı alan ise windows kurulumu sonrası ilk oturum açılışında ekrana gelen, görür görmez kapattığımız ve bir daha da görüntülenmesini istemediğimiz, MS tarafından hazırlanmış şu ünlü "hoşgeldiniz" ya da "windows turu yapmak ister misiniz?" tarzında gereksiz zımbırtılar olmuştur.

hta altyapısı sayesinde görünürde herhangi bir masaüstü yazılımından farksız ancak içeriği web programlama dilleri ile hazırlanmış yazılımlar geliştirebilirsiniz. Başka bir deyişle, bizleri masaüstü yazılım geliştirmek için bu alanda kullanılan programlama dillerini öğrenme zahmetinden kurtarmaktadır.

Bildiğimiz üzere web tabanlı bir yazılıma erişmenin yolu bir web tarayıcıdır. hta'nın çalışma mantığında ise bu zorunluluğu ortadan kaldıran iki önemli avantaj sözkonusudur :

   1. hta uygulamaları exe mantığında çalışır
      Bir hta uygulamasını ikonuna çift tıklayarak çalıştırdığınızda windows'ta çalışan bir program penceresi açılır ve içeriği görüntülenir
   2. hta uygulamalarında içerik temel programlama dili HTML'dir.
      Bildiğimiz HTML dosyasından tek farkı, dosyanın hta uygulaması olduğunu ve pencerenin özelliklerini belirtmemizi sağlayan ek parametrelerdir. Diğer tüm kodlamalarda VB, html ve javascript kullanılır. VB bilen arkadaşlar için bu bir avantajdır, ancak basit bir yöntemle bu sınırı da ortadan kaldıracağız.

Hemen bir örnek verelim ve sonrasında seçeneklerimizi çoğaltalım. Aşağıdaki kod parçasını notepad içine yapıştırın ve dosyayı deneme.hta olarak kaydedin ve çalıştırın :

<HTML>
<HEAD>
  <TITLE>Ilk Deneme</TITLE>
  <HTA:APPLICATION
        ID="ilkDeneme"
        APPLICATIONNAME="ilkdeneme"
        BORDER="thick"
        CAPTION="YES"
        ICON="icon.ico"
        MAXIMIZEBUTTON="YES"
        MINIMIZEBUTTON="YES"
        SHOWINTASKBAR="YES"
        SINGLEINSTANCE="NO"
        SYSMENU="YES"
        VERSION="1.0"
        WINDOWSTATE="MAXIMIZE">
</HEAD>
<BODY>
<p>Merhaba!</p>
</BODY>
</HTML>

Ekranımızda bize html kodlama ile yazdığımız, "merhaba" diyen tam sayfa bir uygulama penceresi açıldı. Aslında pencerede içeriği görüntüleyen alan bildiğimiz Internet Explorer'dan başka bir şey değil. Ancak görüldüğü üzere HTA etiketinin attribute'ları ile penceremizin özelliklerini düzenleyebiliyoruz, hatta uygulamamıza bir ikon dosyası bile atayabiliyoruz. Bu attribute'ların alabileceği değerleri ve ne işe yaradıklarına dair bilgileri burada bulabilirsiniz.

Daha ileri seviyelerde Javascript ve AJAX kullanabileceğimizi düşünürsek şu haliyle bile gayet güçlü uygulamalar oluşturabiliriz. İçeriği görüntüleyen kısım IE olduğundan Flash ve Silverlight objelerimizi de kullanma imkanımız var. Ancak sınırları zorlamakta her daim fayda var.

Örnek dosyamızda ;

<p>merhaba!</p>

yazan satırı silip yerine aşağıdaki satırı yazıyoruz :

<IFRAME NAME="myframe" FRAMEBORDER="no" SRC ="http://www.google.com.tr" WIDTH="100%" HEIGHT="100%">

ve uygulamamızı yeniden çalıştırıyoruz.

Tahmin edebileceğiniz üzere, ekranımızda gördüğümüz Google Amca'nın fonksiyonel anlamı, hta altyapısından yararlanarak, LAN üzerinde bulunan bir web sunucuda (işletim sistemi farketmez) barındırabileceğimiz, herhangi bir web programlama diliyle yazılmış, ağ üzerinden çalışan web tabanlı uygulama geliştirebilmenin mümkün olduğudur. Bu uygulamalarımızda özgürce istediğimiz veritabanını kullanabilir, Flash ve Silverlight ile uygulamamızı güzelleştirebilir, AJAX ve hatta JAVA Applet'ler ile yazılımımıza ileri seviye fonksiyonellik katabiliriz. VB ile istemcinin kendi bilgisayarı ya da Yerel Ağ (LAN) çapında (Active Directory düzeyine varabilen) daha da ileri seviye işler çıkartabiliriz.

hta'nın bir diğer güzelliği ise IE'nin güvenlik engellemelerine takılmaması, bir diğer deyişle uygulamamızı çalıştırdığımızda IE açısından Yerel Intranet düzeyinde güvenlik seviyesinin geçerli olmasıdır.

hta'nın dezavantajları arasında HTML form'larımızda AutoComplete özelliğinin ve bir de external objesine erişimin kapalı olması bulunuyor. Son dezavantaj olarak, ki oldukça can sıkıcı olabilir, IE'nin kendisi var. hta uygulamalarında ne yazıkki Firefox ya da başka herhangi bir tarayıcıyı içeriği gösteren bileşen olarak kullanmamız mümkün değil.

Kullanım riski olarak, dış kaynaklardan uygulamanıza çağıracağınız herhangi bir içerik ağ güvenliği açısından risk taşıyor, bu yüzden bu altyapıyı kullanırken güvenlik tarafında dikkatli davranmak gerekiyor.

Daha çok Sistem & Network uzmanlarını ilgilendireceğini düşündüğüm ufak bir ek not : hta dosyaları ile kullanıcılara oturumlarını açtıklarında şık mesajlar gösterilmesini sağlayabilirsiniz, zira exe mantığında çalıştığından Active Directory ortamlarında logon script olarak atanabilmektedirler.

Herkese faydalı olabilmesi dileğiyle

306 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00 (Toplam 42 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar