Introduction to AngularJS - AngularJS ye Giriş

   Merhabalar arkadaşlar, üniversitemde son sınıfı okumak üzere ders seçimlerimi yaptığım şu dönemde AngularJS anlatıyor olacağım bir yazı dizisi yazmayı planlıyorum. Her hangi bir aksilik çıkmazsa daha detaylı anlatımlarda da bulunacağım.

   İlk önce AngularJS nedir biraz ondan bahsedeyim ve ardından giriş uygulamamızı yapalım. En basit anlmıyla MVC mimarisini kullanan bir javascript uyarlaması olarak düşünebiliriz.Bu sayede kodlarımız daha düzenli, daha anlaşılır, daha kolay yazılabilen, daha kolay bakımı yapılabilen, daha performanslı çalısan bir hale gelmiş oluyor. Ayrıca google mühendislerinide tebrik etmek gerekiyor, gayet başarılı bir iş çıkarmışlar ve doğal dile çok yakın bir programlama dili yapmayı başarmışlar.

   Öncelikle AngularJs i hızlı bir şekilde öğrenebilmek için Javascript bilginiz olsa hiç fena olmaz aslında. Ama direk Angulardan başlamakta güzel bir tercih olabilir. İlk olarak "www.plnkr.co" dan bahsederek başlayalım. Burası bize html, css, java script kodlarımızı derleyip çalıştırabileceğimiz online bir ortam sunmakta. Buradaki html sayfamız bizim dış dünyaya açılan görüntümüzü temsil edecek. Css kodları sayfamızın diyanını daha iyi yapabilmek adına html ile birlikte etkileşimli çalışacak olan kodlar. Javascript kodlarımız ise fonksiyonlarımızı yazacağımız yani client taraflı işlemlerin yapılacağı yer olacak.




   AngularJs yi kullanabilmemizin ilk koşulu angular.js kütüphanesini html sayfamıza referans olarak eklemek. Ekleme işlemi başarılı ise anında html sayfamızın içinde bir script tag' ı oluşacak ve burada angular referans edilecek. Artık angular yazmaya başlayabiliriz  :)

   Bir sonrakş yazımda MVC deseninden (pattern) daha detaylı bahsedeceğim fakat şimdi kısaca giriş yapalım.

   M: Model  >  temel olarak class larımızı temsil eder
   V: View  >  dış dünya ile iletişim kuracağımız yapı. Şu anda bizim index.html sayfamızı bir view olarak düşünebiliriz.
   C: Controller  >  modelimizdeki soyut veriyi somutlaştırarak model ile view arasında bağlantı kurduğumuz yapı.

Şimdi ekrana Hello World yazdıralım.

1) js sayfamızda controller ları içersine alan "MainModule" adında bir modül oluşturalım. Modül kavramını, namaspace kavramına benzetmek mümkün.
var module1 = angular.module("MainModule",[]);
 Köşeli parantezlerin anlamı: bir modül içerisinde bir çok controller olabilir.

2) Bu modül içinde yer alacak bir controller tanımlayalım ve bu controller içerisinde bir model tanımlayalım.
module1.controller("MainController", function($scope){

  $scope.message = "Hello World !!!";

});
$scope.xxx : $scope' dan sonra yazılan ifade bir class, bir değişken, bir object , bir attribute vb. şeyler olabilir.




   Şu anda içerisine birçok controller alabilen bir modül tanımladık. Sonra bu modül içerisine bir controller tanımlayarak yerleştirdik. Sonrada Bu controller içerisinde bir değişken tanımlayarak içerisine string bir değer atadık.

3) Sıra bu yapılan şeyleri View tarafında kullanmaya geldi.




   View' da body tagları arasına gelerek kullnacağımız namespace' in adını ng-app="xxx" diyerek veriyorun. Ve akabinden ng-controller="xxx" diyerek modüldeki hangi controller' ı kullanacağımızı belirtiyoruz. Artık bu <body> ... </body> tagları arasında belirttiğimiz controller ' ın herşeyine erişe bilme imkanına sahip oluyoruz.

{{message}} diyerek,  "message" adındaki angular modelini view a bind etmiş oluyoruz.

   AngularJS ' e giriş için güzel bir yazı olduğunu umuyorum, bu işe girmek istiyenlere yararım dokunduysa ne mutlu bana. Bir sonraki yazıda görüşmek üzere arkadaşlar :)



Facebook Authentication with Azure Mobile Services

Merhaba arkadaşlar, bu blog yazım Microsoft Yaz Okulundan sonra yazdıgım ilk teknik yazım olacak. Teknik diyorum çünkü Microsoft Yaz Okulu boyunca her gün teknik olmayan blog yazısı yazmıştım.

Windows Phone da  Web Authentication üzerine bir örnek yapmayı planlıyorum. Malum windows phone da uygulama yazan çoğu yazılımcı, uygulamasına giriş için login sayfası yapar. Burada facebook login sayfası ile ilgili bir örnek yaparak size ufakta olsa bir yol göstermeye çalışacağım.  

1) Öncelikle Visual Studio - Store App - Windows Phone yolunu izleyerek bir proje oluşturalım. Bu projemize ilk önce referansları ekleyerek işe başlayalım. Refences kısmına sağ tıklayarak Manges NuGet Packages diyoruz ve buradan "Mobile Services" aramasını yaparak Azure Mobile Sevices SDK sını projemize entegre etmiş oluyoruz.





2) App.xaml.cs kısmına aşağıdaki kodları yazıyoruz.

----------------

        public static Microsoft.WindowsAzure.MobileServices.MobileServiceClient Client = new Microsoft.WindowsAzure.MobileServices.MobileServiceClient ("https://xxxxxmobileserviceauthentication.azure-mobile.net/", "QMGpsnVKzMCcAFNJkjXdEFWYWxxxxx9");

 public static MobileServiceUser User = null;

----------------

İlk kod azure üzerindeki mobile servisimize bağlantı için gerekli olan adres ve passwork' ü içermekte. İkinci kodda ise boş bir mobile service user oluşturuyoruz.

3) MaimPage.xaml.cs kısmına geçerek aşağıdaki kodları yazıyoruz. Açılış sayfamızın OnNavigateTo(...) metodunun içine şu kodları yazarak facebook' un bizim için yapmış olduğu arayüze ulaşmış olacağız.

----------------

  protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            while (App.User == null)
            {
                try
                {
                      App.User = await  pp. Client. LoginAsync     (MobileServiceAuthenticationProvider.Facebook) ;

                }
                catch (Exception) { }
            }
            base.OnNavigatedTo(e);
        }

----------------

3) Şimdi sıra bize facebook'un sağladığı bu güzel interface servisi ile bizim Mobile Service arasında ilişki kurmamız gerekiyor. Bunun için www.developers.facebook.com adresinden temsili bir uygulama oluşturmamız gerekiyor.


 

Burada uygulamamızın hangi platform üzerinde çalıştığı bilgisini seçtikten sonra birçok şeyi başarmış oluyoruz aslında.




3) Uygulamamızı oluşturduktan sonra, bu uygulamanın ayarlarına girerek Web Service url adresimizi ve diğer gerekli bilgileri dolduruyoruz. Ardından Status and Review kısmından uygulamamızı aktif hale getiriyoruz.




4) Son olarak ise burdan alacağımız App Id ve App Secret kodlarını, Azure Mobile Services üzerindeki Identity kısmındaki uygun alana yapıştırıyoruz. Ve böylece  protocol ü aktif hale getiriyoruz.




Programı çalıştırıdığımda aşşagıdaki gibi muazzam bir facebook login interface bizi karşılıyor. Azure Mobile Services ile herşey basit herşey mantıklı :)