mgsmus yazdıbower install jquery deyince jquery indirip klasöre koyuyor, sonra elle sayfanıza dahil ediyorsunuz. Update yapınca da paketleri güncelliyor. Şimdi bu javascript için olmazsa olmaz bir şey mi?

Lütfeeen, burada javascript kullanımı bile yok.
Şuan daha başlangıç aşamasında olan uygulamanın bağımlılıkları.
{
"name": "Kolay Blog Client-Side App",
"description": "One Page App for Laravel 4.2.x",
"version": "0.0.1",
"homepage": "https://github.com/muratsplat/KolayBlog",
"license": "GPL-3.0+",
"private": true,
"dependencies": {
"angular": "1.3.x",
"angular-route": "1.3.x",
"angular-resource": "1.3.x",
"angular-mocks": "1.3.x",
"angular-notify": "~2.0.2"
}
}
AngularJS Framework'dür. JQuery ile kıyaslanmaz.Tüm servisler laravelde de olduğu gibi IoC yöntemi ile uygulamanın içine alınır..
Bir servis..
/*
* Page Services
*
* @author Murat Ödünç murat.asya@gmail.com
*/
'use strict';
var pageServices = angular.module('pageServices', ['ngResource']);
/*
* For more details : https://docs.angularjs.org/api/ngResource/service/$resourc
*/
pageServices.factory('Page', ['$resource',
function($resource){
return $resource('page', {}, {
all: {method:'GET', params:{}, isArray:true, cache:true},
allNoCache : {method:'GET', params:{}, isArray:true, cache:false},
// it implements according to Laravel 4.2
// Look at: http://laravel.com/docs/4.2/controllers#restful-resource-controllers
remove: {
method:'DELETE',
params:{},
url: 'page/:id',
},
});
}]);
IoC örneği
/**
* Kolay Blog
*
* @author Murat Ödünç murat.asya@gmail.com
* @package BlogInOnePage
*/
'use strict';
var blog = angular.module('blogApp', ['ngRoute', 'pageServices','cgNotify']); // bunların her biri servis 'ngRoute', 'pageServices','cgNotify'
@Roni, öncelikle söylemem gerekir ki AngularJs benim JS alanında kullandığım ilk "Framework". Belirtmek isyerim ki Jquery ile kıyaslanmaz. Bu kıyaslama Carbon kütüphanesiyle laravel kıyaslamaya benzer. Önce bunun ayrımını net bir şekilde yapmak lazım. Genellikle bu durum karıştırılıyor diye belirtmek istedim..
AngularJs öncelikle çok iyi tasarlanmış, test edilebilir bir framework. Bazı şeyleleri bir kaç satır kodla yapabiliyorsunuz. Çoğu klasik sorunlar için çözümler hazır mevcut. Sunucudan veri çekmek çok kolay. Yukardaki "PageService" buna bir örnek. Js uygulamanız daha derli toplu ve hızlı geliştirilebilir ve test edilebilir bir yapıya kavuşuyor.
İşin açıkcası IE7-8'de çalışıp çalışmaması pek umurumda değil. Sırf MS'nin gönlü olsun diye 1-2 haftada bittecek iş için 1 ay uğraşamam. Zaten yıllardır MS'nin Web'e takoz olmasıyla uğraşıyoruz. Uygulamayı kullanan güncel bir tarayıcıyı indirip kurması 5 dakikasını almıyor. Bir zahmet oturup kursunlar. Uygulamada bunun uyarısını yapılacak.
Performans açısında elbette klasik html sayfalardan kıyaslanamaz. Zira XMLHttpRequest() istekleri her zaman koca bir html sayfanın 'GET' tekrar tekrar indirilmesinden daha verimli bir yoldur. Üstelik sunucu yükünü de çok düşürüyor.
AngularJs'de ayrı ayrı uygulama yapmanıza gerek yok. Örnek olarak Sayfaları yönetmek için bir Page modeline , bir controller'a, bir route yoluna bir de view temasına ihtiyacınız var. Klasik anlamda Restfull bir yapıyı kullanıyorsanız, laravel'de en kötü ihtimalle 4'tane view yaratmalısınız. ama angularjs'de 2 adet view ile çözüyorsunuz. Çünkü angularjs html butonları delete, save gibi işlemleri yapmak çok pratik oluyor.
Bir arkadaşla geliştirmeye başlayacağımız büyük ve özgün bir proje var. Bu neden AngularJs kullanıp öğrenmek istedim. zira AngularJs ile uygulamanızı yazarken ister istemez laravel tarafını api gibi yazıyorsunuz. Proje için mobil yazılımlar apiler hazır oluyor. Angularjs, mobil uygulamalar ve diğer tüm uygulamalar ile tek bir yapı olarak resful apileri kullanabiliyor. Bu da sizi büyük bir iş yükünden kurtarıyor.
Ayrıca WebSocket ve AngularJS veya benzer bir frameworklerde yapacaklarınızın sınırı yok. Tam anlamıyla bir gerçek zamanda çalışabilen ve websitesinden çok "web uygulaması" yazabiliyorsunuz.