Applet, daha büyük bir program (çoğunlukla bir web tarayıcısı) kapsamında yürütülmek üzere tasarlanmış, çekirdek programın sunmadığı zengin, etkileşimli özellikler sağlayan bir yazılım türüdür. Java programlama dilinde yazılan uygulamalar öncelikle ağ bilişiminde kullanılır. Fare tıklamaları veya tuş vuruşları gibi kullanıcı girişlerine yanıt verebilirler ve aynı web sayfasındaki diğer uygulamalarla da etkileşime girebilirler.
Applet'in Tarihsel Arka Planı
Applet'ların geçmişi, Java programlama dilinin Sun Microsystems tarafından ilk kez geliştirildiği 1990'ların ortalarına kadar uzanır. “Applet” terimi ilk kez 1995 yılında Java'nın internet için tasarlanmış yeni bir programlama dili olarak dünyaya tanıtılmasıyla kullanıldı. Konsept, bir HTML sayfasına gömülebilecek ve bir web tarayıcısında çalıştırılabilecek küçük bir uygulama (dolayısıyla "applet" terimi) sağlamaktı.
Applet'leri Genişletmek
Applet'ler, daha önce de belirtildiği gibi, bir HTML sayfasına entegre edilebilen, istemci tarafında çalıştırılabilen ve bir Java Sanal Makinesi (JVM) tarafından çalıştırılabilen küçük Java programlarıdır. Bir uygulama, JVM'yi destekleyen herhangi bir web tarayıcısında çalışabilir. Web sayfalarını daha dinamik ve eğlenceli hale getirmek için kullanılırlar. Örneğin etkileşimli grafikler görüntüleyebilir veya kullanıcı girişine dayalı hesaplamalar yapabilirler.
Bir uygulamanın tarayıcı ve JVM tarafından kontrol edilen bir yaşam döngüsü vardır. Yaşam döngüsü dört aşamadan oluşur: başlatma, başlatma, durdurma ve imha. Bir uygulama, JVM tarafından yüklendiğinde ve başlatıldığında yaşamına başlar. Daha sonra başlatılır, başlatılır ve web sayfasında görüntülenir. Kullanıcı sayfadan ayrıldığında uygulama durdurulur ve ardından JVM tarafından yok edilir.
Bir Applet'in İç Çalışmaları
Bir uygulama, programın platformdan bağımsız bir temsili olan Java bayt kodundan oluşur ve tarayıcıda kurulu bir JVM içinde çalışır. Uygulama içeren bir web sayfası yüklendiğinde, tarayıcının Java eklentisi uygulamanın bayt kodunu indirir, bir JVM başlatır ve ardından uygulamayı JVM içinde yükleyip çalıştırır.
Uygulama, Web sayfasıyla Belge Nesne Modeli (DOM) aracılığıyla etkileşime girer ve ayrıca yüklendiği sunucuyla HTTP veya diğer internet protokolleri aracılığıyla iletişim kurabilir. Ancak güvenlik nedeniyle genellikle korumalı alana alınır ve yerel dosyalara veya belirli sistem kaynaklarına erişimi kısıtlanır.
Applet'in Temel Özellikleri
- Platform Bağımsızlığı: Applet'ler platformdan bağımsız Java dilinde yazılmıştır. JVM'yi destekleyen bir tarayıcıya sahip herhangi bir cihazda çalışabilirler.
- Ağ Bağlantısı: Applet'ler ağ üzerinden iletişim kurarak ağ bağlantılı uygulamaların parçası olmalarını sağlar.
- Korumalı Alan Güvenliği: Sistem kaynaklarına yetkisiz erişimi önlemek ve böylece kullanıcı güvenliğini sağlamak için bir güvenlik sanal alanı içerisinde çalışırlar.
- Zengin Kullanıcı Arayüzü: Applet'ler karmaşık grafik kullanıcı arayüzleri (GUI'ler) oluşturabilir ve düzgün animasyonlar üretebilir, bu da onları etkileşimli uygulamalar oluşturmaya uygun hale getirir.
Applet Türleri
Temel olarak iki tür uygulama vardır:
-
Yerel Uygulamalar: Bu uygulamaların indirildikten sonra internete bağlanmasına gerek yoktur. Kullanıcının tarayıcısında çalışırlar ve bir sunucuya bağlanmaya gerek kalmadan işlevleri yerine getirirler.
-
Uzak Uygulamalar: Bu uygulamalar sürekli internet bağlantısı gerektirir. İşlevlerini gerçekleştirmek için bir sunucuyla iletişim kurarlar.
Applet Kullanımı ve İlgili Sorunlar
Uygulamalar genellikle web sayfalarında oyunlar, hesap makineleri, animasyonlar ve etkileşimli haritalar gibi etkileşimli özellikler sağlamak için kullanılır. Ayrıca çevrimiçi oylama, e-ticaret ve uzak masaüstü uygulamaları gibi daha karmaşık görevler için de kullanılabilirler.
Ancak yıllar geçtikçe bazı sorunlardan dolayı appletlerin kullanımı azalmıştır:
- Güvenlik sorunları: Bir sanal alanda çalışmasına rağmen, uygulamalar geçmişte kötü amaçlarla kullanılmış ve bu da birçok kullanıcı ve kuruluşun bunlara karşı ihtiyatlı olmasına neden olmuştur.
- Verim: Uygulamalar istemci tarafında çalıştığından, yüklenmeleri yavaş olabilir ve önemli miktarda sistem kaynağı tüketebilirler.
- Java'ya bağımlılık: Kullanıcıların tarayıcılarında Java Runtime Environment'ın (JRE) kurulu ve düzgün şekilde yapılandırılmış olması gerekir; bu, teknik bilgisi olmayan kullanıcılar için karmaşık bir görev olabilir.
Applet'in Benzer Terimlerle Karşılaştırılması
Benzer kavramlara sahip uygulamaların bir karşılaştırması:
Terim | Tanım | Uygulamak |
---|---|---|
Uygulama | Bir web tarayıcısındaki JVM tarafından çalıştırılan, HTML sayfasına gömülü küçük bir uygulama | İstemci tarafı |
Servlet | Bir sunucuda çalışan ve genellikle dinamik web içeriği oluşturmak için kullanılan bir Java programı | Sunucu tarafı |
JavaScript | Tarayıcının JavaScript motoru tarafından çalıştırılan, web sayfaları için bir kodlama dili | İstemci tarafı |
Applet ile İlgili Gelecek Perspektifleri ve Teknolojiler
Kullanıcıların bir JVM kurmasını veya Java'nın güvenlik sorunlarıyla uğraşmasını gerektirmeden benzer işlevler sağlayan HTML5, CSS3 ve JavaScript gibi modern web teknolojilerinin yükselişi nedeniyle uygulamacıkların geleceği belirsizdir.
Ancak Java'nın tam gücünü gerektiren karmaşık uygulamalar gibi uygulamaların hâlâ üstün olduğu alanlar var. Ayrıca, Java Web Start teknolojisi, tam özellikli Java uygulamalarının doğrudan web tarayıcısından başlatılmasına olanak tanır ve bu da uygulama benzeri işlevlerin yeniden canlanmasını sağlayabilir.
Uygulamalar ve Proxy Sunucular
Uygulamalar ve proxy sunucular farklı teknolojiler olmasına rağmen belirli durumlarda etkileşime girebilirler. Bir proxy sunucusu, bir uygulama ile iletişim kurduğu sunucu arasındaki bağlantıya aracılık ederek önbelleğe alma, filtreleme ve gelişmiş güvenlik gibi avantajlar sağlayabilir. Ancak, uygulamanın proxy sunucuları destekleyecek şekilde tasarlanması ve kullanıcının tarayıcısının da proxy sunucuyu kullanacak şekilde yapılandırılması gerektiğine dikkat etmek önemlidir.
İlgili Bağlantılar
Applet'ler hakkında daha fazla bilgi için şu kaynakları göz önünde bulundurun: