-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path01-introduction.md.erb
115 lines (66 loc) · 8.6 KB
/
01-introduction.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
---
title: Introduction
slug: introduction
date: 0001/01/01
number: 1
contents: >-
Meteor'u özel kılanın ne olduğunu öğrenin.|Bu kitabın hikayesini okuyun.|Bu
kitabın nasıl düzenlendiğini öğrenin.
paragraphs: 35
published: true
level: free
photoUrl: 'http://www.flickr.com/photos/62303607@N00/7779436538/'
photoAuthor: Richard
---
Şimdi zihinsel bir deney yapalım. 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?
Aslında kaybolacağını bilmek için bu adımları uygulamanıza gerek yok. Lokal dosya sistemimizde bir değişiklik yaptığımızda, değişiklik her yere, yenileme veya tazeleme yapmaksızın uygulanır. Bu kadar basit.
Şimdi 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 sayfa oluşturdunuz. 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.
Zaman içinde, bir web sitesinin bizimle kısa, ayrık aralıklarla iletişim kurması fikrine alışmış bulunmaktayız.
Ancak Meteor web'i gerçek zamanlı ve reaktif (tepkili) yaparak statükoya meydan okuyan, yeni akım framework ve teknolojilerin bir parçasıdır.
### Meteor nedir?
Meteor Node.js üzerine inşa edilmiş, gerçek zamanlı web uygulamaları geliştirme platformudur. Uygulamanızın veritabanı ve kullanıcı arayüzü arasında, iki tarafın senkronize olmasını sağlamak üzere konuşlanmıştır.
Meteor Node.js üzerine inşa edildiğinden, hem istemci hem de sunucu tarafında JavaScript kullanır. Daha da önemlisi Meteor, iki ortam arasında kod paylaşabilir.
Tüm bunların neticesinde, web uygulamalarında sıklıkla görülen birçok güçlük ve handıkapı 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 sadece bir kaç akşam veya haftasonu harcayarak öğrenebileceksiniz, denemeye değmez mi?
### Neden bu kitap?
Son birkaç yıldır, web den mobile, ve ticariden açık kaynağa çeşitli Meteor projeleri üzerinde çalışıyoruz.
Bu zaman zarfında tonla şey öğrendik, ancak sorularımıza cevap bulmak her zaman 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.
Burada yapacağımız uygulama, [Hacker news](http://news.ycombinator.com) veya [Reddit](http://reddit.com) gibi sosyal haber sitelerinin basit bir kopyası olan, Microscope (açık kaynaklı olarak yazdığımız bir uygulama olan [Telescope](http://www.telescopeapp.org/) isminden esinlendik) olarak adlandırdığımız bir uygulamadır. Bunu yazarken, bir Meteor uygulaması yaparken incelenmesi gereken, kullanıcı hesapları, Meteor koleksiyonları, yönlendirme vb. tüm farklı elemanları irdeleyeceğiz.
### 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 edebilirsiniz.
Ö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şamayacaksınızdır.
Eğer henüz hiç JavaScript ile çalışmadıysanız, işe [JavaScript primer for Meteor](https://www.discovermeteor.com/blog/javascript-for-meteor/) ile başlamanızı tavsiye ederiz.
### 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.
<%= image "tom-photo.jpg", "portrait" %>
**Tom Coleman** kalite ve kullanıcı deneyimine odaklanan bir web atölyesi olan [Percolate Studio](http://percolatestudio.com/)'un kurucusu ve [Meteorite](https://github.com/oortcloud/meteorite)'ın ve paket deposu [Atmosphere](http://atmosphere.meteor.com)'in yaratıcılarından, aynı zamanda pek çok açık kaynak kodlu Meteor projesinin arkasındaki beyinlerden biridir. Şu anda Meteor Geliştirme Grubu'nda full-time çalışmaktadır.
<%= image "sacha-photo.jpg", "portrait" %>
**Sacha Greif** [Hipmunk](http://hipmunk.com) ve [RubyMotion](http://rubymotion.com) gibi startup'larda ürün ve web tasarımcısı olarak çalışmıştır. [Telescope](http://telesc.pe) ve [Sidebar](http://sidebar.io)'ın (Telescope bazlı) yaratıcısıdır.
### 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ı oluşturma 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'u data detaylı ele alacak 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.
### Git Commitleri
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 daha kötüsü yoktur.
Bunu engellemek için, [Microscope için bir GitHub reposu](https://github.com/DiscoverMeteor/Microscope) yarattık, ve her birkaç kod değişikliği için ilgili git commitine bağlantı vereceğiz. İş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 checkout` 'dan diğerine gitmeniz gerektiği anlamına gelmiyor. Uygulamanızın kodunu kendiniz 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](http://docs.meteor.com/) ve [Meteor Rehberi](http://guide.meteor.com) başlamak için en iyi yerlerdir.
Sorunları giderme ve sorular için [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor)'u ve canlı yardım isterseniz #meteor [IRC kanalı](https://webchat.freenode.net/)'nı tavsiye ederiz.
<% note do %>
### 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](http://nfarina.com/post/9868516270/git-is-simpler).'ini tavsiye ederiz.
Git konusunda yeni iseniz, aynı zamanda, komut satırını kullanmadan git repolarını klonlamanıza ve yönetmenize yarayan ücretsiz [GitHub masaüstü](http://desktop.github.com/) ya da [SourceTree](http://www.sourcetreeapp.com/) uygulamalarını kullanmanızı tavsiye ederiz.
<% end %>
### Bize ulaşın
- Bize ulaşmak isterseniz, [[email protected]](mailto:[email protected]) adresine mail atabiirsiniz.
- Ek olarak, kitabın içeriğinde yazım hatası veya başka bir hataya rastlarsanız [bu GitHub reposundan hata bildirimi yaparak](https://github.com/DiscoverMeteor/book/issues) bize haber verin.
- Microscope'un kodu hakkında bir probleme rastlarsanız, [Microscope'un reposundan hata bildirimi yapabilirsiniz](https://github.com/DiscoverMeteor/Microscope/issues).
- Son olarak, diğer tüm sorularınız için bu uygulamanın yan panelinden bize yorum bırakabilirsiniz.