AÖF Soru Bankası

Web Arayüz ProgramlamaÜnite 8 Soru-Cevap

Web Arayüz Programlama (BIL205U) soru-cevapları.

Geleneksel yöntemlerle hazırlanan web uygulamasında, kullanıcı farklı bir view açmak istediğinde tüm sayfanın yeniden yüklenmesi hangi sorunlara neden olmaktadır? 

Bu durum sunucunun daha fazla kaynak harcamasına neden olur. Aynı zamanda tüm sayfanın yüklenmesi kullanıcıların sayfalar arasında gezinmesini yavaşlatacak, uygulama performansını olumsuz etkileyecektir. Uygulamanın hızlı olması önemlidir çünkü kullanıcılar sayfaya girdiğinde işlemlerini bitirip çıkmayı hedefler. Sayfaların tepki süresi kullanılabilirlik için önemli etkendir.

Single Page Application (SPA) yapısının avantajları nelerdir? 

SPA yapısı sayesinde, kullanıcılar için sunucuda hazırlanan sayfalar, kullanıcı bilgisayarlarında hazırlanmaya başladı. Yani sistemin yükü sunucudan alınıp kullanıcı bilgisayarlarına devredilmiş oldu. Sistem yükü kullanıcılara dağıtıldığı için, kullanıcı sayısı arttıkça sistem kaynağı da artar. Aynı zamanda ön bellek kullanımı geleneksel web uygulamalarından daha iyidir. Kullanıcı interneti yavaş olsa dahi, yerel veriyi daha iyi kullandıkları için uygulamada gezinme daha hızlı olacaktır. SPA ile hazırlanan uygulamaların avantajlarından bir diğeri ise tüm ekranlarda sayfa yapısı aynı kalacağı için kullanıcı deneyimi artacaktır. Kullanıcı farklı sayfa tasarımları ile karşılaşmayacaktır.

Single Page Application (SPA) yapısının dezavantajları nelerdir? 

SPA, avantajlarının yanında dezavantajlara da sahiptir. Geliştiriciler için önemli olan SEO algoritmaları hâlâ SPA uygulamalarında performanslı çalışmamaktadır. Bu sorunu çözmek için farklı paketler kullanılmalıdır. Başka bir dezavantajı ise tarayıcı geçmişi kullanmak geleneksel uygulamalardaki kadar kolay değildir. Tarayıcının geri tuşuna basıldığında, uygulamadan önceki sayfa açılır. Tarayıcı geçmişini kullanabilmek için History API gibi teknikleri kullanmak gerekir.

Web sayfasındaki elemanların yapısını modelleyen ve düzenlenmesine imkân sağlayan yapıya ne ad verilmektedir? 

Web sayfasındaki elemanların yapısını modelleyen ve düzenlenmesine imkân sağlayan yapı Document Object Model (DOM) olarak tanımlanmaktadır. 

Sanal DOM'un geliştirilme nedeni nedir? 

Sanal DOM, gerçek DOM yapısının sık sık güncelleme ihtiyacından kaynaklanan sorunları daha performanslı bir şekilde çözmek için geliştirilmiştir.

Sanal DOM'un gerçek DOM yapısından farkı nedir? 

DOM yapısından farklı olarak, sanal DOM gerçek bir yapı değildir. DOM ile arayüz oluşturmanın farklı bir yöntemidir. Gerçek DOM yapısının bir temsilidir ve geçici bellekte saklanır. Geçici bellekte bulunan bu temsili DOM, DOM API’ları kullanılmadan sık sık değiştirilebilir ve güncellenebilir. Sanal DOM’da tüm güncellemeler yapıldıktan sonra, orijinal DOM’da hangi değişikliklerin yapılması gerektiğine bakılır ve optimize edilmiş bir şekilde yapılır. Bu sayede gerçek DOM yapısında yapılacak güncellemelerin maliyeti azaltılır.

Komponent tabanlı bir konsept kullanarak bildirimsel kullanıcı arayüzleri oluşturmaya odaklanan
bir JavaScript kütüphanesine ne ad verilmektedir?

React, komponent tabanlı bir konsept kullanarak bildirimsel kullanıcı arayüzleri oluşturmaya odaklanan bir JavaScript kütüphanesidir. 

React'ın web uygulamaları için kullanılan sürümleri doğrudan ne olarak adlandırılmaktadır?

Web uygulamaları için kullanılan sürümleri doğrudan React veya ReactJS  olarak adlandırılır.

React'ın mobil uygulamalar için kullanılan sürümleri ne olarak adlandırılmaktadır? 

React'ın mobil uygulama için kullanılan sürümleri React Native olarak adlandırılır.

React’ın bugünkü popülaritesinin, diğer tüm ön uç geliştirme kütüphanelerinin popülaritesini gölgede
bırakmasının nedenleri nelerdir? 

React’ın bugünkü popülaritesi, diğer tüm ön uç geliştirme kütüphanelerinin popülaritesini gölgede bıraktı. Bunun nedeni React'da dinamik uygulamaların kolay oluşturulması, gelişmiş performans, hızlı öğrenme eğrisi, hem web hem de mobil uygulamaların geliştirilmesi için kullanılabilmesi ve tek yönlü veri akışını kontrol edebilmesidir. 

Tüm dünyadaki açık kaynak geliştiricileri tarafından kaynak kodlarını yayınlamak ve paylaşmak için kullanılan dünyanın en büyük yazılım kayıt defteri nedir? 

Npm, Node Package Manager (Düğüm Paket Yöneticisi) kelimelerinin kısaltmasıdır. Bir NodeJs platformu paket yöneticisidir. Npm, yaygın olarak dünyanın en büyük yazılım kayıt defteri olarak kabul edilir. Tüm dünyadaki açık kaynak geliştiricileri tarafından kaynak kodlarını yayınlamak ve paylaşmak için kullanılır.

Create React App (CRA) ne işe yaramaktadır? 

Create React App (CRA), React uygulamasını çalıştırmak için gerekli yapılandırma dosya ve eklentileri kurulum esnasında hazırlar. Terminal ekranından yazılacak tek bir komut sayesinde gerekli tüm kurulumlar yapılır. Kurulumları yapmak için NPM paket yöneticisini kullanır. Dosyalar hazırlandıktan sonra birkaç komut daha yazarak uygulama ayağa kaldırılabilir.

CRA, React ile uygulama geliştirmeye yeni başlayanlar için neden faydalı bir araçtır? 

CRA, React ile uygulama geliştirmeye yeni başlayanlar için faydalı bir araçtır. React projesinin çok hızlı bir şekilde oluşturup çalıştırılmasını sağlar. Manuel olarak herhangi bir konfigürasyona gerek kalmaz.

CRA ile uygulama ortamını hazırlayabilmek için bilgisayarda nelerin yüklü olması gerekir? 

CRA ile uygulama ortamını hazırlayabilmek için bilgisayarda NodeJs ve NPM yüklü olmalıdır.

Oluşturulan React uygulamasının kendine özel dosya yapısı içinde uygulamaya ait logo gibi bilgilerin içerisinde tutulduğu dosyanın adı nedir? 

Public klasörü SPA için gerekli index.html dosyasının bulunduğu klasördür. React Sanal DOM yapısını index.html ile düzenler ve yayınlar. Uygulamaya ait logo gibi bilgiler bu klasör içerisinde tutulur.

Oluşturulan React uygulamasının kendine özel dosya yapısı içinde uygulamaya ait tüm paketlerin kurulduğu ve tutulduğu klasörün adı nedir? 

Uygulama altındaki diğer önemli klasör ise node_modules adlı klasördür. Burada uygulamaya ait tüm paketler kurulur ve tutulur. 

Oluşturulan React uygulamasının kendine özel dosya yapısı içinde paketlerin yönetilmesini sağlayan dosyanın adı nedir?

Paketlerin yönetilmesini sağlayan dosya ise package.json dosyasıdır. package.json içerisinde paket sürümleri tutulur. Paket yöneticisi ile yüklenen paketlerin bilgisi doğrudan burayada eklenir.

Oluşturulan React uygulamasının kendine özel dosya yapısı içinde React ile geliştirme yapılacak kodların olduğu klasörün adı nedir? 

React ile geliştirme yapılacak kodların olduğu klasör ise src’dir. Geliştiriciler, gerekli tüm bileşen ve sayfalar için kodlarını bu klasör altında hazırlarlar.

JavaScript XML kelimelerinin kısaltması ile oluşturulan JSX nedir? 

JSX, React tarafından kullanılan ve XML benzeri metinlerin JavaScript/React koduyla birlikte çalışabilmesini sağlayan söz dizimidir. JavaScript XML kelimelerinin kısaltması ile oluşturulmuştur.

Babel ne için kullanılan bir araç zinciridir? 

Babel, esas olarak ECMAScript 2015+ kodunu mevcut ve eski tarayıcılarda veya ortamlarda geriye dönük uyumlu bir JavaScript sürümüne dönüştürmek için kullanılan bir araç zinciridir.

Sayfadaki bölümlerin parçalanarak kolayca komponentlerle tasarlanabilmesi ve komponentlerin uygulamaya kolay dahil edilebilmesi neyi kolaylaştırmaktadır? 

Sayfadaki bölümlerin parçalanarak kolayca komponentlerle tasarlanabilmesi ve komponentlerin uygulamaya kolay dahil edilebilmesi, kullanıcı arayüzlerini oluşturmayı da kolaylaştırır.

React’te temel olarak kaç tür komponent vardır ve isimleri nelerdir? 

React’te temel olarak iki tür komponent vardır. Bunlar fonksiyon komponentler ve sınıf komponentlerdir. 

Sınıf komponentlerinin fonksiyonel komponentler farkı nedir?  

Sınıf komponentleri, fonksiyonel komponentlerden biraz daha karmaşıktır. Fonksiyonel komponentler, uygulamadaki diğer komponentlerle iletişim hâlinde değildirler. Ancak sınıf komponentleri birbirleriyle çalışabilir. Bir sınıf komponentinden diğer sınıf komponentine veri aktarılabilir.

React ile alt eleman olan komponentlere doğrudan veri aktarmak için hangi yapıları kullanmaktadır? 

React ile alt eleman olan komponentlere doğrudan veri aktarmak için props yapıları kullanılır.

Props veri türü olarak hangi veri türlerini taşıyabilir?

Props veri türü olarak number, boolean, string, dizi gibi veri türlerini taşıyabilir.

Web sunucusundan alınan veriler ile nasıl döngü oluşturulabilir? 

Komponentler çağrılırken sıklıkla döngüler kullanılabilir. Web sunucusundan alınan veriler, alt komponentlere prop olarak verilerek döngü oluşturulur.

React’ın önemli yapılarından biri olan State nedir?

React’ın diğer bir önemli yapısı da State nesneleridir. Durum anlamına gelen State, komponentin davranışını kontrol eden bir dizi gözlemlenebilir özelliğin nesnesi olarak tanımlanabilir. Başka bir deyişle State, komponentin ömrü boyunca değişebilecek bazı bilgileri tutan bir nesnedir.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında