İçeriğe atla

JavaServer Faces

JavaServer Faces
Güncel sürüm2.2.9 (Mojarra Reference Implementation) / 19 Aralık 2014 (2014-12-19)
Programlama diliJava
TürWeb uygulama framework
Resmî sitesijavaserverfaces.java.net
Kod deposu Bunu Vikiveri'de düzenleyin

JavaServer Faces (JSF), Java tabanlı web uygulamalarını kolaylaştırmak için Model-View-Controller (MVC) yapısına uygun olarak geliştirilmiş bir şartnamedir (framework).

MVC örüntüsünün uygulanmasının event mekanizması ile mantığı üzerine kurulmuş bir API'dir. JavaServer Faces güçlü ve dinamik web uygulamaları geliştirmeyi kolaylaştıran web tabanlı ara yüzler hazırlamak için tasarlanmıştır. JSF Swing gibi bir takım standart bileşenler (butonlar, linkler, secim kutuları gibi) ya da özelleştirilmiş bileşenler oluşturmak için model sunmasının yanı sıra istemci taraflı olayların (event) işlenmesi için yöntemler sunar. Java için birçok web ara yüz uygulama çatısı bulunmasına karşın JavaServer Faces Java API olması ile öne çıkmaktadır. JSF “Java community” standardıdır. JavaBean bileşenleri paradigmasının, web arayüz tasarımında kullanılmasına olanak verir.

Ancak JSF'in doğrudan HTML kodlarının kullanımına getirdiği kısıt çözülmesi zor ekran problemlerine yol açmaktadır. JSF bir diğer olumsuz yanı ise hızlıca kullanılamamasıdır. Bir projede tam anlamıyla kullanılabilmesi için oldukça uzun süreçli bir eğitim sürecini gerektirmektedir.

JavaServer Faces teknolojisinin farklı uygulamaları bulunmaktadır. Bunlar:

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

Java EE, özellikle büyük çaplı projelerin ihtiyaçları için geliştirilmiş Java teknolojilerinin bütünün oluşturduğu çerçevenin ve standardın ismidir. Java EE servislerini sunan yazılımlara uygulama sunucusu denir. Java EE'yi oluşturan teknolojilerin bir kısmı aşağıda sıralanmıştır:

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

Uygulama programlama arayüzü, bir yazılımın başka bir yazılımda tanımlanmış işlevlerini kullanabilmesi için oluşturulmuş bir tanım bütünüdür. API; web uygulaması, işletim sistemi, veritabanı, donanımlar yahut yazılım kütüphanesi için kullanılabilir. Günümüzde yoğunlukla web tabanlı uygulamalarda istemci ve sunucu arasındaki iletişimi sağlayan bir sözleşme olarak kullanılmaktadır. Öyle ki istemci spesifik bir formatta veri talep eder ve her halükarda sunucudan yine belirli bir formatta cevap alır. Bu durum API'nın özel bir formu olarak WebAPI olarak da adlandırılır.

JSF İngilizce bir kısaltma olup şu mânâlara gelebilir:

Google Developers Google'ın yazılım geliştirme araçları ve platformları, uygulama programlama arayüzü (API'ler) ve teknik kaynaklar sitesidir. Site, Google'ın geliştirici ürünlerini kullanan geliştiriciler için tartışma grupları ve bloglar dahil olmak üzere Google geliştirici araçlarının ve API'larının kullanımına ilişkin belgeler içerir. Google Haritalar, YouTube, Google Workspace ve diğerleri gibi Google'ın neredeyse tüm popüler tüketici ürünleri için sunulan API'ler vardır. Google, çoğunlukla web geliştiricileri için web API'leri olmak üzere çeşitli API'ler sunar. API'ler, Google Haritalar, Google Earth, Google AdSense, Adwords, Google Apps ve YouTube dahil olmak üzere popüler Google tüketici ürünlerini temel alır. Google Veri API'leri, programcıların Google hizmetlerinden veri okuyan ve yazan uygulamalar oluşturmasına olanak tanır. Şu anda bunlar arasında Google Analytics, Blogger, Google Base, Google Books, Google Takvim, Google Code, Google Earth, Google Notebook API'leri bulunmaktadır.

<span class="mw-page-title-main">Enterprise JavaBeans</span>

Enterprise JavaBeans (EJB) veya Türkçe karşılığı ile işe yönelik yeniden kullanılabilir Java elemanları iş uygulamalarının modüler bir şekilde kurulması için tasarlanmış yönetilebilir sunucu-yanı (server-side) eleman mimarisidir.

Oracle Application Development Framework ya da bilinen adıyla Oracle ADF, Oracle'nin özellikle Forms uygulamalarını yeni nesil web tabanlı teknolojilere yükseltmek için geliştirdiği yazılım iskeletidir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Nokia Asha platform</span>

Nokia Asha platform, düşük sınırlı akıllı telefonlar için tasarlanmış bir mobil işletim sistemi (OS) ve bilgisayar platformudur, Nokia tarafından satın alınmış Norveç merkezli Smarterphone yazılımına dayalıdır. Nokia Asha serisi telefonlarında desteklenmekdedir. Platform Symbian, Maemo ve MeeGo sistemlerinden UI benzerliklerini devralır ve Nokia low-end cihazlarında Seri 40-ın yerini alır. Kullanıcı arayüzünün tasarım ekibine open webOS ve Nokia N9 için MeeGo tasarımında işinde çalışmış Peter Skillman, başkanlık etti. Platform, Nokianın Seri 40 sisteminin yerine bir Linux platformu olarak geliştirdiği Meltemi projesinin halefidir, ancak Temmuz 2012'de iptal edildi.

Cocoa Touch Apple' tarafından yapılan iOS, Apple Watch için watchOS ve dördüncü nesil Apple TV için tvOS üzerinde çalışan yazılım programlarını oluşturmak için bir UI Kullanıcı arayüzü çerçevedir. macOS üzerinde mevcut değildir. Cocoa Touch iPhone, iPod Touch ve iPad için iOS işletim sisteminin bir soyutlama katmanını sağlar.

Apache Velocity Java kodlarındaki nesnelerle etkileşimde kullanılan Java temelli bir şablon motorudur.

<span class="mw-page-title-main">Windows Live Connect</span>

Windows Live Connect Microsoft'un Windows Live hizmetlerinin bir parçasıydı. API'lar ve ortak kontrollerin bir toplamıdır. Geliştiricilere daha derin bir denetime sahip olmasını, açık ve kolayca erişilebilen uygulama programlama arabirimleriyle (API'ler) çekirdek Windows Live hizmetlerine ve verilere erişmesini sağlar.

Microsoft Office Live Meeting Microsoft tarafından işletilen ve durdurulan bir ticari aboneliğe dayalı web konferans hizmetidir. Live Meeting, istemci bilgisayarlara yüklenmiş olan yazılımları içerir ve tüm istemcilerin bağlanmak için merkezi bir sunucu kullanır. Microsoft, kurum içi veya bulut ortamında kullanılabilen bir Kurumsal Birleşik İletişim ürünü olan Skype for Business'ı üretiyor.

<span class="mw-page-title-main">Apache Tomcat</span>

Apache Tomcat, Apache Yazılım Vakfı tarafından geliştirilmiş açık kaynak bir Java Servlet Container uygulamasıdır. Tomcat Java Servlet, JavaServer Pages (JSP), Java EL ve WebSocket dahil olmak üzere birçok Java EE belirtimlerini gerçekleştirir ve Java kodunun çalışabileceği sadece Java ile yazılmış HTTP ağ sunucu çevrelerini sağlar.

Carbon, Macintosh bilgisayarları çalıştıran işletim sistemi olan Mac OS X için Apple'ın C tabanlı uygulama programlama arayüzlerinden (API) biridir. Carbon, Mac OS 8 ve Mac OS 9 işletim sistemlerinde çalışan programlar için iyi bir geriye dönük uyumluluk sağlamıştır. Geliştiriciler, “klasik” Mac OS ve Macintosh işletim sistemleri yazılımlarını OS X platformuna taşımak için uygulamayı azami çaba harcayarak çok az bir çaba ile kullanabilirler. OpenStep'te ortaya çıkan tamamen farklı Cocoa API sistemidir.

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

<span class="mw-page-title-main">Angular (Framework)</span>

Angular, web uygulamaları geliştirmek için kullanılan açık kaynak ve özgür yazılım bir framework'tür. Google tarafından geliştirilmiş ve desteklenmektedir. İlk olarak 2010 yılında AngularJS adıyla piyasaya sürülen framework, 2016 yılında Angular 2 olarak yeniden tasarlanmış ve bu sürümle birlikte daha modern bir mimariye geçiş yapılmıştır. Angular, özellikle dinamik ve tek sayfa uygulamaları (SPA) oluşturmak için tercih edilmektedir.

PrimeFaces, Türk şirketi PrimeTek Informatics tarafından oluşturulmuş JavaServer Faces tabanlı uygulamalar için açık kaynak kullanıcı arayüzü (UI) bileşen kitaplığıdır.