-
Notifications
You must be signed in to change notification settings - Fork 1
/
01-introduction.md.erb
99 lines (57 loc) · 15.8 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
---
title: Introduction
slug: introduction
date: 0001/01/01
number: 1
contents: Learn what makes Meteor special.|Read about the story of this book.|Learn how this book is organized.
paragraphs: 35
---
আসুন আপনি একটি ঘটনা চিন্তা করুন। ভাবুন যে আপনি আপনার কম্পিউটারে দুটি আলাদা উইন্ডো তে একই ফোল্ডার খুলছেন। এখন আপনি দুটো উইন্ডোর ভিতরে যে কোন একটিতে ক্লিক করে, এবং একটি ফাইল ডিলিট করুন ।
এখন একটু খেয়াল করুন তো যে আরেকটি উইন্ডো থেকে কি ফাইলটি ডিলিট হয়েছে কিনা? আসলে এই কাজটির ফলাফল বুঝতে আপনাকে এই কাজ গুলো করতে হবে না । আপনি যখন আপনার লোকাল ফাইল সিস্টেম এ কিছু পরিবর্তন করেন,এই পরিবর্তনটি সব জায়গায় হয়ে যায় , কোন ধরনের কলব্যাক বা রিফ্রেশ ছাড়াই। এটি অনেকটি স্বাভাবিক ভাবেই হয়ে যায়।
আবার , আসুন ভাবা যাক , ঠিক একই ধরনের একটি ঘটনা কিন্তু এবার ওয়েব এর জন্য।
উদাহরণ স্বরূপ , ধরি আপনি একটি একই ওয়ার্ড-প্রেস সাইট এর এডমিন দুটি আলাদা ব্রাউসারে খুলেছেন এবং একটি ব্রাউসারে আপনি একটি
পোস্ট লিখেছেন। কিন্তু ডেস্কটপ এর মতন এখানে হয় না, আপনি যতক্ষণই অপেক্ষা করুন না কেন, আরেকটি উইন্ডো এই পরিবর্তনটিকে গ্রহণ করে না ব্রাউসার উইন্ডোটি রিফ্রেশ না করা পর্যন্ত।সময়ের সাথে , আমাদের ভিতর একটি ধারণা শক্ত ভাবে জন্মে গেছে একটি ওয়েব সাইট এ শুধু মাত্র কিছু ছোট এবং আলাদা আলাদা কাজের মাধ্যমে কাজ করা সম্ভব।
কিন্তু মেটেওর একটি নতুন ধারনার ফ্রেম ওয়ার্ক ও প্রযুক্তির ফল যা কিনা এই বাঁধাধরা নিয়মকে ভেঙ্গে ওয়েবকে বানাতে চায় Real-Time & Reactive ।
### What is Meteor?
Meteor এমন একটি প্লাটফর্ম যা কিনা তৈরি করা হয়েছে Node.js উপর ভিত্তি করে যাতে করে Real-Time Web App তৈরি করা যায়।এটি আসলে আপনার App এর ডাটাবেস ও ঐ একই App এর ইউজার ইন্টারফেস এর মাঝে অবস্থান করে পুরো প্রক্রিয়াটাকে সব সময় নতুন রাখে ও হালনাগাদ করে ।
যেহেতু এটি Node.js এর উপর ভিত্তি করে তৈরি তাই স্বাভাবিক ভাবেই বলা যায় , Meteor ক্লায়েন্ট ও সার্ভার এর কাজ গুলোর জন্য জাভাস্ক্রিপ্ট ব্যাবহার করে। শুধু তাই নয়, Meteor এই দুটি মাধ্যমেই তাদের কোড গুলো শেয়ার করবার ক্ষমতা দেয়।
এই সব কিছুর ফলাফল হল এমন একটি প্ল্যাটফর্ম যা কিনা খুবই শক্তিশালী এবং খুবই সরল প্রকৃতির Web App তৈরি করা , যার সব কঠিন ও বাজে ব্যাপার গুলোকে নির্ধারণ করে দূর করে দেয়া হয় ।
### Why Meteor?
তো আপনি ভাবতে পারেন যে আপনি কেন অন্য কোন ফ্রেম ওয়ার্ক না শিখে Meteor কেন শিখবেন ? তাহলে সকল অত্যাধুনিক সুবিধা আর মজার সব বিষয় গুলো দূরে রেখে বলতে হবে যে , এটি শিখার একটি অন্যতম কারন " Meteor শিখা খুবই সহজ"।
তার উপর বলতে হয় , আর যে কোন ফ্রেম ওয়ার্ক এর তুলনায় , Meteor আপনাকে খুব সহজে আর কম সময়ে Real-Time App তৈরি করবার সুজগ করে দেয়। আর শুধু তাই নয় , আপনি যদি এর আগে কখনো Front End Develop করে থাকেন তাহলে আপনি Javascript এর সাথে বেশ পরিচিত , যার মানে হল আপনাকে নতুন করে কোন ভাষা শিখতে হচ্ছে না ।
এমনটা মনে হতে পারে , Meteor আপনার কাজের জন্য আসলে প্রয়োজন নেই , ধরে নেই হয়তোবা তাই। কিন্তু যেহেতু আপনি কিছু সন্ধার অল্প সময় বা, শুধু ছুটির কিছু দিনে চেষ্টা করেই পুরোটা শিখে নিতে পারবেন , তাহলে কেন নয়?
### Why This Book?
গত কিছু বছর ধরে আমরা প্রতিনিয়ত আমরা অসংখ্য Meteor Project নিয়ে কাজ করছি ,এবং এর বিস্তৃতি করছি ওয়েব থেকে মোবাইল প্ল্যাটফর্ম-এ , এমনকি ব্যাবসায়িক থেকে বিভিন্ন ওপেণ-সোর্স ক্ষেত্রে ।
আমরা অনেক কিছু জেনেছি আর শিখেছি , কিন্তু আমাদের সমস্যা গুলোর সমাধান সবসময় পাওয়া সম্ভব হয় না । আমাদের অনেক জায়গা থেকে তথ্য যোগার করতে হয়, আবার অনেক সময় কিছু সমস্যার সমাধান নিজেদের তৈরি করে নিতে হয়। এই বই এর সাহায্যে আমরা এই অভিজ্ঞতা গুলোকে সবার সাথে শেয়ার করতে চাই,এবং ধাপে ধাপে সহ্জ কিছু নিয়মে একটি পরিপূর্ণ Meteor App বানাতে চাই।
যে App আমরা তৈরি করতে চাইছি, সেটি আসলে Hacker News বা Reddit এর মতন সোশ্যাল সাইট এর একধরনের ছোট রূপ , যার নাম আমরা দিব, Microscope ( এই নামটা এই কাজের বড় রূপ Telescope এর একটি ছোট সংস্করণ )
যখন আমরা এই Meteor App টি নিয়ে কাজটি করব, তখন আমরা প্রায় সব ধরনের উপায় নিয়ে কাজ করব যেমন উল্লেখ্য হল, User Accounts , Meteor Collections , routing আরও অনেক কিছু।
### About the Authors
আপনি হয়তোবা ভাবছেন আমরা আসলে কে অথবা আপনারা আমাদের কথাতে বিশ্বাস করবেনই বা কেন, আসুন তাহলে আমাদের পরিচয় আরেক্তু ভাল ভাবে দেয়া যাক।
<%= image "tom-photo.jpg", "portrait" %>
**Tom Coleman** একজন প্রধান ব্যাক্তিতু [Percolate Studio](http://percolatestudio.com) এর , এই প্রতিষ্ঠান মূলত ওয়েব ডেভেলপমেন্ট এবং ইউজার এক্সপেরিয়েন্স নিয়ে কাজ করে। তিনি Atomsphere প্যাকেজ এর একজন তত্ত্বাবধায়নকারী , এবং আরও বলতে হয় এটি অন্যতম উৎস Meteor এর ওপেন - সোর্স প্রোজেক্ট এর।
<%= image "sacha-photo.jpg", "portrait" %>
**Sacha Gerif** তিনি কাজ করছেন বিভিন্ন স্টার্ট আপ এর সাথে যেমন [Hipmunk](http://hipmunk.com) এবং [RubyMotion](http://rubymotion.com) এ একজন প্রোডাক্ট ও ওয়েব ডিজাইনার হিসেবে। তিনি Telescope এবং Sidebar ( যা কিনা তৈরি করা হয়েছে Telescope অনুসরন করে ) এর প্রস্তুতকারী । এবং শুধু তাই নয় , তিনি Floyo এর ও প্রতিষ্ঠাতা ।
### Chapters & Sidebars
আমরা চাই এই বইটি নতুন Meteor ব্যাবহারকারি থেকে শুরু করে অভিজ্ঞ প্রোগ্রামার সবার কাজে আসুক। তাই এই বিষয়টি মাথায় রেখে আমরা চ্যাপ্টার গুলোকে দুই ভাগে ভাগ করেছি, সাধারণ চ্যাপ্টার ( Numberd 1 through 14 ) এবং সাইডবারস ( .5 Numbers) ।
রেগুলার চ্যাপ্টার গুলো আপনাকে App তৈরির কাজ গুলো শুরু করিয়ে দিবে এবং আপনিও খুব বেশি বিস্তারিত না জেনেই পুরো কাজে হাত দিতে পারবেন ।
আরেক দিকে , সাইড বার গুলো আরও বিস্তারিত আলচোনা করে আপনাকে পুরো বিষয়টার একটি ভাল বিবরণ তুলে ধরবে।
তাই বলতে হয় আপনি যদি মাত্র শুরু করে থাকেন , তাহলে বলতে চাই শুরুতেই সাইড বার গুলো পড়বার দরকার নেই এগুলো আপনি পুরো কাজটা সহজ ভাবে বুঝতে পারবার পরে দেখলেই হবে।
### Commits & Live Instances
আসলে এর থেকে খারাপ কিছুই হয় না যখন দেখা যায় আপনি একটি প্রোগ্রামিং বই নিয়ে কাজ করে যাচ্ছেন ও পড়ে যাচ্ছেন কিন্তু একটা সময় পরে আপনার কোড গুলো সব এলোমেলো হয়ে গেছে এবং ঠিক জেভাবে কাজ করবার কথা সেভাবে কাজ করছে না।
এধরনের ঘটনা এড়াতে , আমরা একটি রিপসেরটোরি তৈরি করেছি [Github এ শুধু Microsope ](https://github.com/DiscoverMeteor/Microsope) এর জন্য, এবং আমরা চাই আপনাদের দেয়া ডিরেক্ট লিঙ্ক গুলো ব্যাবহার করে আপনারা আপনাদের কোড গুলোর চেঞ্জ এখানে দেয়া কোড গুলোর সাথে মিলিয়ে নিবেন এবং কাজের অগ্রগতি ঠিক রাখবেন।
<%= commit "11-2", "Display notifications in the header." %>
তার মানে এই নয় যে আপনি এই কাজ গুলো শুধু দেখে নিবেন এবং `git checkout` করে পরের অংশে যাবেন । সবচাইতে ভাল হবে যদি আপনি এই পুরো কাজগুলো হাতে হাতে টাইপ করে করেন ।
### A Few Other Resources
যদি আপনার মনে হয় যে আপনার আরও বিস্তারিত কিছু জানবার দরকার তাহলে [ অফিসিয়াল Meteor Documentaion](http://docs.meteor.com) হবে সবচাইতে ভাল স্থান।
আমরা আরও বলতে চাই [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor) অনেক ভাল জায়গা আপনার সমস্যা আর প্রশ্নের জন্য , তাছাড়া #meteor [IRC Chanel](https://webchat.freenode.net/) সবসময় তো আছেই।
<% note do %>
### Do I Need Git?
যদিওবা Git version control এই কাজের জন্য অব্যশিক নয় তবুও আমরা চাই যে আপনি এটি ব্যাবহার করুন।
আপনি যদি খুব জলদি কাজ শুরু করতে চান তাহলে , আমরা বলব আপনি Nick Farina's [ Git Is Simpler Than You Think ](http://nfarina.com/post/9868516270/git-is-simpler) এর উপর চোখ বুলিয়ে নিন।
যদি এই ব্যাপারে একে বারেই অপারগ হয়ে থাকেন , তাহলে বলতে চাই আপনি [Github For Mac](http://mac.github.com/) ব্যাবহার করুন, যা কিনা আপনাকে কমান্ড লাইন এর ব্যাবহার ছাড়াই রিপো সমন্বয় আর ক্লোন করতে দিবে।
<% end %>
### Getting in Touch
- যদি আপনি আমাদের সাথে যোগাযোগ করতে চান , তাহলে আপনি আমাদের মেইল করতে পারেন , [[email protected]](mailto:[email protected])
- এছাড়া যদি আপনার এই বই এ কোন ত্রুটি বা সংশোধন এর প্রয়োজন দেখেন তাহলে দয়া করে আপনারা আমাদের জানাতে পারেন [ গিটহাব এ একটি বাগ রিপোর্ট করে ](https://github.com/DiscoverMeteor/book/issues)
- যদি আপনার চোখে Macroscope এর কোড এর কোন সমস্যা পরে , তাহলে আপনি একিভাবে [ বাগ রিপোর্ট করতে পারেন Microscope Repo তে](https://github.com/DiscoverMeteor/Microscope/issues)
- এছারাও আপনি যেকোনো প্রশ্ন এর জন্য আপনার মতামত দিতে পারেন। Comment Section এ।