Angular Nedir? Angular JS İle Farkları Neler?

Angular hızlı, verimli ve etkili çalışan web ve mobil uygulamalar oluşturmak amaçlı TypeScript yapılı bir JavaScript kütüphanesidir. Günümüzde kullanılan en popüler framework’lerden biridir. Arkasına Google’ı alarak popüler bir hale gelmiş olan Angular, yazımızın ardından bir sonraki yazılım proje tercihiniz olabilir. Sıkça karıştırılan Angular ve Angular JS arasındaki farklar, onu özel yapan yanları ve daha fazlasını yazımızda bulacaksınız. O halde başlayalım!

Framework Nedir?

Yazımıza geçmeden önce framework teriminden kısaca bahsedelim. Bugün bir kek yapmak için fırın, kek kalıbı, hazır kek harcı gibi bileşenler kullanıp kek yapabilirsiniz. Yeniden ateşi bulup, fırını yaratmak gibi bir sürece girmeye gerek yok. Bunu teknoloji dünyası için uyarlarsak bir web projesi için gerekli olan bileşenleri paket haline getiren ve geliştiricilere sunan yapılara framework denilmektedir. Bazı framework’ler içinde tüm bileşenleri barındırırken, bazıları sadece en temel gereken bileşenleri içermektedir. Bu konudaki seçim projenin büyüklüğü, geliştiricinin deneyimi gibi konulara bağlı olmaktadır.

Angular JS Nedir?

Google tarafından 2010 yılında yayımlanmış olan Angular JS, JavaScript kullanılarak geliştirilen bir web framework’üdür. Öğrenmesi kolayhali ve basit yapısıyla fazlasıyla ilgi toplamıştır. Çıktığı zamanlarda, sevilse de zamanla kullanımı arttıkça eksiklikleri farkedilip ardından yeni bir versiyona ihtiyaç duyulmuştur. Bu doğrultuda Google yeni bir versiyon olan Angular (Angular 2) framework’ünü yayınlamıştır. Bu framework’te JavaScript yerine TypeScript kullanmayı tercih etmişlerdir.

Angular JS günümüzde hala kullanılan, ilk sıralarda yer alan bir framework’tür. Hali hazırda onu kullananlardan oluşan bir topluluğu vardır. Google güncellemelere devam etmektedir.

Angular üzerine yeni özellikler katılmış ve de kendine farklı bir yol çizmiş bir başka framework’tür. İkisinin kullanıldığı ortak alanlar, ayrıldığı noktalar olmaktadır.

angular vs angular js

TypeScript vs JavaScript

İlk yayınlanan versiyonda JavaScript ve sonrasında TypeScript tercih edildiğinden bahsetmiştik. Bu nedenle bu iki programlama dili arasındaki farklardan bahsetmekte yarar var.

JavaScript 1990 ortalarında ortaya çıkmış, uzun bir süreç geçirerek günümüze kadar ulaşmış bir programlama dilidir. Ortaya çıkış amacı dinamik web sayfaları yaratmak olmuştur. İlk başlarda HTML ve CSS kullanılarak yapılan sayfalar, kullanıcı ile etkileşime giremiyordu. Bu konuda çözüm üretmek isteyen teknoloji firmalarından Netscape on gün içerisinde bir dil tasarlanmasını istedi, ortaya çıkan dil JavaScript idi. Ön yüz dediğimiz, web sayfalarının görünür kısmında çalışacak olan kodun hızlı olması en temel ihtiyacıydı. Bu nedenle bazı özellikler eklenmemiş ya da tercih edilmemişti. Bu haliyle kullanılmaya başlayan JavaScript dilinin zaman içerisinde teknoloji dünyasının her alanına girmesi yeni ihtiyaçları peşinde getirdi. Bu ihtiyaçları karşılamak için TypeScript programlama dili ortaya çıktı. JavaScript’i kapsayan ve de içinde JavaScript içinde olmayıp gereksinim duyulan yapıları barındırmaktadır.

Daha fazlasına ulaşmak için TypeScript Nedir başlıklı yazımıza göz atabilirsiniz.

Angular Nedir?

Angular ücretsiz, herkesin erişimine açık olan, TypeScript kullanılan PWA altyapılı bir kütüphanedir. Github üzerinde 32,000 bin yıldıza sahiptir.

“Yapmayı düşündüğümüz şey, web dizayn edenler ve web geliştiricileri için daha kolay bir sistem yaratmaktı. HTML’in içine katacağımız birkaç parça ekleme ile statik olan bir form’dan email ile gönderebilecekleri bir hale çevirmek gibi.”

SPA Özelliği (Single Page Application)

Angular SPA özelliğini desteklemektedir. Peki SPA nedir? Tek Sayfa Uygulaması olarak çevirebileceğimiz SPA’yı sizler için açıklayalım.

Teknoloji.org sayfasına girdiniz ve de içerikleri okumaya başladınız. Bir içeriğe tıkladığınızda sayfanın yenilendiğini görüyorsunuz. Bu çoklu sayfa uygulamasının bir örneğidir. Birçok sayfayı içinde barındırır. Eskiden (ve hala) web sayfaları bu şekilde çalışırdı. Bilgileri çekmek sunucuya bağlanırdı. Fakat JavaScript ve onunla ilgili kütüphaneler, framework’ler ve AJAX çıktıkça bu düzen değişmeye başladı. İstemci, kullanıcı taraflı veriyi tutma ya da sunucu işlemlerini istemli taraflı yapabilme fırsatları doğdu. Bu fırsatlar da beraberinde Tek Sayfa Uygulamalarını, SPA’yı getirdi. SPA olan bir sitede farklı içeriklere girseniz de, ekran değişse de sayfanın yenilendiğini görmezsiniz. URL kısmı ise değişir. Peki neden SPA ihtiyacı doğdu? Sunucu taraflı istekler gönderildiğinde zaman aşımına uğradığı için yeni bir yöntem ortaya çıktı. Bu şekilde daha hızlı erişim sağlanmaktadır. Angular SPA bazlı uygulamalar yaratmak için kullanılabilir.

Two-Way Data Binding (Çift Yönlü Veri İletişimi)

Bu özelliği açıklamak için bir örnek kullanalım. Bir alışveriş sitesinde olan bir ürünü düşünün. Giyim, İndirimli, Ana sayfa gibi kategorilerde yer almakta. Stokta olma, fiyat değişikliği gibi durumların bu bilginin ilgili alanlarının hepsinde değişmesi gerek. İşte bu değişimi sağlayan yapıya çift yönlü veri iletişimi demekteyiz.

Angular ile birlikte bunu gerçekleştirmek fazlasıyla kolay ve de pratik.

Progressive Web Uygulamaları Yapabilmek (PWA)

Web dünyasının yenilikçi fikirlerinden biri olan progressive web uygulamalarından bahsedelim. PWA, web uygulamalarını indirilen mobil uygulamalar gibi tasarlamayı amaçlamaktadır. Peki bunu neden yapmaktadır? Günümüzde çoğu insan zamanını native (uygulama tabanlı) uygulamalarda geçirmektedir. Sadece azınlık dediğimiz bir kısmı web tabanlı mobil uygulamaları kullanmaktadır.

Native uygulamaları öne çıkaran yapısını ele alırsak, etkileşim konusunda daha fazla imkan sunmaktadır. Bildirimlerin, ikonların, çevrimdışı da çalışabiliyor olması ve daha iyi bir ara yüze sahip olması bu nedenlerden birkaçıdır.

PWA sistemiyle web teknolojileri için mobil uygulamaların özelliklerini kullanabilecekleri bir sistem ortaya çıktı. Tamamıyla bir mobil uygulama yaratmadan; çevrimdışı, iyi bir arayüz ve de bildirim özellikleri alınarak web tabanlı uygulamalar geliştirilebilmektedir.

Angular PWA tabanlı uygulama yaratmaya olanak sağlamaktadır. Kendi sloganları olan “tüm ortamlar için tek framework” olayının çıkış noktasıdır. Bazı belirli kütüphaneler eşliğinde Angular ve JavaScript temelli; web, android, iOS uygulaması çıkartabilirsiniz.

MVC Yapısı

Angular MVC yapısıyla daha düzenli ve planlı uygulama geliştirme imkanı tanımaktadır. MVC yani model – view – controller yapısından bahsedelim. Bir uygulamada etkileşime geçtiğimiz, gördüğümüz alan view kısmıdır. Burada bununla ilgili kodlar bulunmaktadır. Model dediğimiz kısım verinin tutulduğu kısımdır. Üye olduğumuz bir uygulamada kullanıcı bilgilerimizi tutan kısım gibi düşünebilirsiniz. Siz her defasında giriş yaptığınızda arayüz üzerinden gönderdiğiniz isteğin, veri ile eşleşmesi arasında yaptıklarınızı kontrol eden de controller adlı sistemdir. Bu şekilde ilgili kodlar kendi dosyaları içinde yer alır, düzeltme ve ekleme gibi işlemler uygulanabilir.

Angular Kullanmayı Tercih Eden Şirketler

angular hakkında

Google – Gmail

Youtube – Youtube TV

Microsoft  Microsoft Office, Xbox

Udacity 

Autodesk

Apple

Nike

Telegram

Adobe

Yazımızda birçok geliştirici tarafından sevilen Angular framework‘ünden bahsettik. Angular JS ile farklarına değindik. Siz hangi framework’leri kullanmaktasınız? Öğrenmeyi düşündüğünüz framework’ler hangisi? Yorumlarınızı bizimle paylaşın!

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

teknoloji, hayal gücü ve sanat dünyalarını seven, üçünü bir araya getirmeye hevesli bir bilgisayar mühendisliği öğrencisi.