Giriş

1

Tercüme Yüzdesi

Bu bölümde:

  • Meteor'u özel kılanın ne olduğunu öğrenin.
  • Bu kitabın hikayesini hakkında okuyun.
  • Kitabın nasıl organize olduğunu öğrenin.
  • Benim için zihinsel bir deney yapın. Bilgisayarınızın iki farklı penceresinde iki farklı klasör açtığınızı hayal edin.

    Şimdi, iki pencereden birine tıklayın ve bir dosya silin. Bu dosya diğer pencereden de kayboldu mu?

    Kaybolduğunu bilmek için bu adımları uygulamanıza gerek yok. Yerel dosya sistemimizde bir değişiklik yaptığımızda, değişiklik her yere, yenileme veya geri çağırma yapmaksızın uygulanır. Bu kadar basit.

    Oysa, hadi aynı senaryonun web'de nasıl gerçekleşeceğini düşünelim. Diyelim ki, aynı WordPress admin sayfasını iki farklı tarayıcı penceresinde açtınız ve birinde yeni bir gönderi yarattınız. Bilgisayarınızın aksine, ne kadar beklerseniz bekleyin, diğer pencere bu değişikliği, sayfayı yenilemediğiniz sürece yansıtmayacaktır.

    Yıllar içinde, bir web sitesinin bizimle kısa, ayrık aralıklarla iletişim kurmasına alışmış bulunmaktayız.

    Ancak Meteor web'i gerçek zamanlı ve reaktif yaparak statükoya meydan okuyan, yeni akım framework ve teknolojilerin bir parçasıdır.

    Meteor nedir?

    Meteor Node.js'in üzerine bina edilmiş gerçek zamanlı web uygulamaları geliştirme amaçlı bir platformdur. Uygulamanızın veritabanı ve kullanıcı arayüzü arasında, iki tarafın senkronize olmasını sağlamak üzere konuşlanmıştır.

    Node.js üzerine inşaa edildiğine göre, Meteor hem istemci hem de sunucu tarafında Javascript kullanır. Daha da önemlisi Meteor, iki ortam arasında kod da paylaşabilir.

    Tüm bunların neticesinde, web uygulamalarında sıklıkla görülen birçok güçlük ve tehlikeyi soyutlayarak çok güçlü ve çok basit bir platform olmayı başarmıştır.

    Neden Meteor?

    Neden başka bir web framework'ü yerine Meteor'u öğrenmek için vakit harcamalısınız? Tüm çeşitli özelliklerini bir kenara koyarsak, özetle tek bir neden olduğuna inanıyoruz: Meteor'u öğrenmesi çok basit.

    Meteor, gerçek zamanlı bir web uygulamasını saatler içinde çalışır hale getirip yayına sokmayı, diğer framework'lere kıyasla daha kolay bir şekilde mümkün kılmaktadır. Daha önce ön-yüz geliştirme yaptıysanız, Javascript'e zaten aşinasınız ve yeni bir dil öğrenme ihtiyacınız yok.

    Meteor ihtiyaçlarınız için ideal framework olabilir de olmayabilir de. Ama, madem ki bir kaç akşam veya haftasonu sürecince başlayabilirsiniz, neden deneyip kendiniz karar vermiyorsunuz?

    Neden bu kitap?

    Son 6 aydır, herkesin kendi, bağlantı paylaşılıp oylanabilen, sosyal haber sitesini (Reddit veya Hacker news‘u düşünün) yaratmasına olanak sağlayan açık kaynak kodlu bir Meteor uygulaması Telescope üzerinde çalışıyoruz.

    Uygulamayı yaparken çok şey öğrendik, ancak sorularımıza her zaman yanıt bulmak kolay olmadı. Çok farklı kaynaklardan parçaları birleştirmek, ve çoğu sefer de kendi çözümlerimizi üretmek zorunda kaldık. Bu kitap ile birlikte, tüm bu dersleri paylaşmak ve sıfırdan tam teşekküllü bir Meteor uygulaması yazmayı adım adım anlatan bir kılavuz yaratmak istedik.

    Yapacağımız uygulama Telescope'un kısmen basitleştirilmiş versiyonu olan, Miscroscope diye adlandırdığımız bir uygulama. Bunu yazarken, bir Meteor uygulaması yaparken incelenmesi gereken, kullanıcı hesapları, Meteor koleksiyonları, yönlendirme vb. tüm farklı elemanları irdeleyeceğiz.

    Kitabı okumayı bitirdiğinizde, daha ileri gitmek isterseniz, Telescope'un kodunu, aynı modelleri takip ettiğinden kolayca anlayabileceksiniz.

    Bu kitap kimin için?

    Kitabı yazarken hedeflerimizden biri, herşeyin ulaşılabilir ve kolayca anlaşılır olmasını sağlamaktı. Dolayısıyla, Meteor, Node, MVC frameworkleri veya genel olarak server-side kodlama deneyiminiz olmasa da takip edebilmeniz lazım.

    Öte yandan, basit Javascript sentaksı ve konseptlerine aşina olduğunuzu varsayıyoruz. Eğer biraz jQuery ile uğraşmışlığınız veya tarayıcınızın geliştirici konsoluyla oynamışlığınız varsa, problem yaşamamanız lazım.

    Yazarlar Hakkında

    Kim olduğumuzu merak ediyor ve neden bize güvenmeniz gerektiğini düşünüyorsanız, ikimizin özgeçmişi hakkında bilgiyi aşağıda bulabilirsiniz.

    Tom Coleman kalite ve kullanıcı deneyimine odaklanan bir web atölyesi olan Percolate Studio'un bir parçasıdır. Meteorite'ın ve paket deposu Atmosphere'in yaratıcılarından biri ve aynı zamanda pek çok açık kaynak kodlu Meteor projesinin (Iron Router gibi) arkasındaki beyinlerden biridir.

    Sacha Greif has worked with startups such as Hipmunk and RubyMotion as a product and web designer. He’s the creator of Telescope and Sidebar (which is based on Telescope), and is also the founder of Folyo.

    Sacha Greif Hipmunk ve RubyMotion gibi startup'larda ürün ve web tasarımcısı olarak çalışmıştır. Telescope ve Sidebar'ın (Telescope'dan baz alınmış) yaratıcısı ve Folyo'nun kurucusudur.

    Bölümler & Ek Bilgiler

    Bu kitabın hem acemi Meteor kullanıcısı hem de ileri düzey programcılar için faydalı olmasını istedik, bu yüzden bölümleri iki kategoriye ayırdık: normal bölümler (1'den 14'e numaralandırılmış) ve ek bilgiler (.5 numaralar)

    Normal bölümler size uygulamayı yapma yolunda eşlik edecek, ve sizi çok fazla detaya boğmadan en önemli basamakları açıklayarak en kısa sürede işlevsel olmanızı sağlamaya çalışacak.

    Öte yandan, ek bilgi bölümleri Meteor'un karışık taraflarına değinecek ve arka planda gerçekten neler olduğu hakkında daha iyi bir fikir edinmenize yardımcı olacak.

    Eğer yeni başlıyorsanız, ek bilgi bölümlerini ilk okumanızda atlayabilir, ve Meteor'u biraz kurcaladıktan sonra tekrar geri dönebilirsiniz.

    Commitler & Canlı Örnekler

    Bir programcılık kitabını takip edip, birden kendi kodunuzun örneklerden farklılaştığını, hiç birşeyin artık çalışması gerektiği gibi çalışmadığını farketmekten kötüsü yoktur.

    Bunu engellemek için, Microscope için bir GitHub reposu yarattık, ve her birkaç kod değişikliği için ilgili git commitine bağlantılar sağladık. Ek olarak, her commit uygulamanın ilgili commit için canlı örneğine bağlantı kuruyor, bu sayede yerel kopyanız ile kıyaslayabiliyorsunuz. İşte bunun nasıl birşeye benzediğine dair bir örnek:

    Commit 11-2

    Başlıkta bildirimlerin görüntülenmesi.

    Ama şuna dikkat etmek gerekir ki, bu commitleri sağlamamız, sadece bir 'git checkoutundan’ diğerine gitmeniz gerektiği anlamına gelmiyor. Uygulamanızın kodunu manüel olarak yazmanız, çok daha iyi öğrenmenizi sağlayacaktır!

    Diğer birkaç kaynak

    Eğer Meteor'un belli bir tarafı hakkında daha fazlasını öğrenmek isterseniz, Meteor'un resmi dokümantasyonu başlamak için en iyi yerdir.

    Sorunları giderme ve sorular için Stack Overflow'u ve canlı yardım isterseniz #meteor IRC kanalı'nı tavsiye ederiz.

    Git'e ihtiyacım var mı?

    Kitabı takip etmek için Git versiyon kontrolüne aşinalık kesin surette gerekli olmasa da, şiddetle tavsiye ederiz.

    Hızla yol almak isterseniz size Nick Farina'nın Git Düşündüğünüzden Daha Basit.'ini tavsiye ederiz.

    Git konusunda yeni iseniz, aynı zamanda, komut satırını kullanmadan git repolarını klonlamanıza ve yönetmenize yarayan GitHub for Mac uygulamasını da tavsiye ediyoruz.

    Bize ulaşın