react js

کدوم فریمورک برای React.js

اول، چرا فریمورک؟

ناگفته پیداست که من از اهالیِ قبیله‌ی بی‌فریمورک‌هرگز هستم. القصه لقمان را پرسیدند چه کسی از فریمورک استفاده نکرد؟ بگفتا آنکه چرخ را دوباره اختراع کرد.

الغرض من برای سمت کاربر فعلا از ReactJS استفاده می‌کنم، دلایلش رو هم قبلا تو وبلاگم نوشتم. ولی دست و دلم نمیره که همه‌ی کامپوننت‌ها رو از صفر خودم طراحی کنم، برای همین دنبال فریمورک‌هایی گشتم که بر پایه‌ی ReactJS بنا شده باشن و چندتا شون که به نظرم بهتر بودن رو مدتی تست کردم. باری تو این نوشته می‌خوام درباره‌ی این فریمورک‌ها براتون بنویسم. البته اگه واقعا بشه به همشون گفت فریمورک. در هر صورت من سخت نمی‌گیرم و بهشون میگم فریمورک، شما هم سخت نگیرین! 😉

(بیشتر…)

بیشتر بخوانید

adonis.js آدونیس

چرا AdonisJS رو برای پروژه‌م انتخاب کردم؟

به قولی بس بگردید و بگردد روزگار، دل به هیچی در نبندد هوشیار! (حالا با اندکی تلخیص).

من یه پروژه‌ی نه چندان کوچولو برای خودم تعریف کردم و امیدوارم بتونم از پسش بربیام. مطمئنا اگه بتونم وقت مناسبی روی این پروژه‌م بذارم، میتونم از آب و گل درش بیارم. حالا موضوع چیه؟ موضوع اینه که میخوام یه نرم‌افزار برای مدیریت کارها و مستنداتم بنویسم. فعلا برای این کار از Google Keep استفاده میکنم. وجدانا هم خوب، ساده و کار راه اندازه. به خصوص که متن‌ها و تصاویری که توش ذخیره می‌کنم به صورت آفلاین هم در دسترسم هستن و این وقتی تو سالن تولید هستم و اکثر اوقات دسترسی به اینترنت ندارم خیلی به کارم میاد. در هر صورت، من چندتا امکان اضافی نیاز دارم که متاسفانه Google Keep هنوز اونها رو نداره. پس می‌خوام دست به کار بشم و اپلیکیشن خودم رو بنویسم.

(بیشتر…)

بیشتر بخوانید

rethinkdb-open-source

چرا RethinkDB رو بیشتر از هر پایگاه داده‌ای دوست دارم؟

بیشتر افرادی که میرن سراغ Node.js برای پایگاه داده یه‌راست میرن سراغ MongoDB. ولی پیشنهاد من برای جاوااسکریپت‌بازها یه چیز باحال‌تره: RethinkDB

تو این نوشته میخوام دلایل اینکه چرا RethinkDB رو دوست دارم و اون رو قطعا به MongoDB ترجیح میدم براتون بگم.

(بیشتر…)

بیشتر بخوانید

goodbye php

خداحافظ PHP؟

چند وقتیه که کلا سمت php نرفتم و کارهام رو با جاوااسکریپت و node.js سر و سامون دادم. گرچه این چند وقت پروژه‌ی خاصی رو هم در حال اجرا نداشتم و کارهایی که انجام دادم چیزهای کوچیک و دم دستی‌ای بودن برای تسهیل امور روزانه‌ی خودم. با این‌حال، همین کارهای کوچیک رو هم با جاوااسکریپت انجام دادم. برای پروژه‌هایی که این روزا تو ذهنم پرورش میدم تا در آینده روشون کار کنم هم به جاوااسکریپت فکر میکنم.

خوب سوال پیش میاد: آیا php برای من تموم شده؟ من که این همه وقت صرف یاد گرفتن php و لاراول و امثالهم کردم، چرا باید ولشون کنم؟ تو ادامه‌ی این نوشته میخوام به دنبال جواب این سوال‌ها بگردم.

(بیشتر…)

بیشتر بخوانید

redux js

چطور تو React.js شاخ بشیم و شاخِ Flux رو بشکنیم؟

قبلا درمورد این‌که چرا React.js رو انتخاب کردم، توضیح دادم، تو این نوشته نمی‌خوام از مزایای React بگم، میخوام بگم که چطور می‌تونیم رفیق گرمابه و گلستان React بشیم.

قطعا منابع زیادی تو اینترنت برای یادگیری React.js وجود داره، از مقاله و کتاب گرفته تا فیلم و کلیپِ آموزشی. من مدتی میشه که هی میگردم منابع مختلف رو پیدا میکنم تا ببینم کدوم بیشتر به کارم میاد. چندتا فیلم آموزشی از PluralSight و Tutsplus پیدا کردم، تماشاشون کردم، ولی کفاف کار من رو نمی‌دادن! این فیلم‌ها خیلی ساده فقط به مقدمات React پرداخته بودن و با دیدنشون کار عملی خاصی تو دنیای واقعی نمی‌شد انجام داد! بعد از کلی گشت و گذار و دانلود فیلم‌های آموزشی مختلف. چندتا منبع خوب، ساده و کاربردی برای یادگیری React از مبتدی تا یخورده حرفه‌ای‌تر پیدا کردم، گفتم لینک این منابع رو در اختیار شما هم قرار بدم تا اگه صلاح دونستید ازشون استفاده کنید.

(بیشتر…)

بیشتر بخوانید

html5 localStorage

ذخیره کردن داده‌ها تو localStorage با store.js ساده و دوست‌داشتنی!

وقتی داریم یه سایت یا یه اپلیکیشن تحت وب طراحی می‌کنیم، خیلی اوقات پیش میاد که نیاز داریم یه سری داده رو سمت کاربر ذخیره کنیم. به طور معمول کوکی‌ها رو برای انجام این کار مدنظر قرار میدیم و داده‌هامون رو میچپونیم تو اون‌ها. ولی دیگه دوره زمونه تغییر کرده، شاید بهتر باشه که ما هم یخورده تغییر کنیم. با توجه به توسعه روزافزون اپلیکیشن‌های تحت وب، بالطبع استفاده از روش‌های ذخیره کردن داده سمت کاربر هم هر روز داره مرسوم و مرسوم‌تر میشه، گرچه این روش‌ها از قدیم در دسترس بودن (البته نه خیلی قدیم)، ولی چندان مورد اقبال نبودن. البته امروز دیگه قضیه فرق داره!

(بیشتر…)

بیشتر بخوانید

mathematics in javascript

جاوااسکریپت به روایت آمیرزا: فاجعه‌ی اعداد بزرگ!

هشدار: رویت هلالِ روی ماهِ اعدادِ بزرگ در جاوااسکریپت با چشم غیرمسلح امکان‌پذیر نمی‌باشد!!

اگه شما یه دانشجوی رشته‌ی فنی مهندسی مثل برق یا مکانیک باشید، حتما یکی از دغدغه‌هاتون انجام محاسبات فنی یا به قول فرنگی‌ها Technical Computation هست. از طرفی اگه شما علاوه بر یه مهندس برق یا مکانیک، یه گیکِ علاقه‌مند به برنامه‌نویسی هم باشید، ممکنه دوست داشته باشید به جای کار با Matlab سنت‌شکنی کنید و با یه چیز شادتری پروژه‌هاتون رو انجام بدید. مثل چی؟ مثل جاوااسکریپت!

(بیشتر…)

بیشتر بخوانید

js data types javascript

جاوااسکریپت به روایت آمیرزا: همه تنبلا! (یا به قول فرنگی‌ها Lazy ways)

تو جاوااسکریپت یه سری راه ساده و سرراست برای تبدیل کردن یک متغیر از یک نوع به نوع دیگه هست که فرنگی‌ها بهش میگن lazy ways و درصورت نیاز میتونیم ازشون برای تبدیل یک متغیر از یک نوع داده به یک نوع داده دیگه استفاده کنیم. مثلا وقتی یک عدد که در قالب رشته (string) هست ضربدر یک عدد دیگه کنیم، نتیجه از نوع عدد میشه. این حالت برای عملگر منها یا همون تفریق هم حاکمه!

(بیشتر…)

بیشتر بخوانید

ES2015 ES6

ES2015 یا ES6 چیه؟

ES2015 مخفف ECMAScript2015 هست، که همون ES6 هست، یا به عبارت دیگه ECMAScript6. اگه اهل برنامه‌نویسی و طراحی وب باشید حتما میدونید که ECMAScript همون جاوااسکریپت خودمونه! یا بهتر بگیم: جاوااسکریپت همون ECMAScript هست! این زبون جاوااسکریپت که اینقدر محبوب‌القلوب شده، در واقع اسم اصلیش ECMAScript بوده و هست، حالا اینکه چرا بهش میگن جاوااسکریپت خودش داستانیه! تو طول تاریخ این ECMAScript به اسم‌های مختلفی ظهور کرده، از جمله Mocha، LiveScript و در نهایت JavaScript، که البته همین جاوااسکریپت یه نسخه‌ی مایکروسافتی هم داشت که بهش میگفتن JScript.

از قدیم گفتن بازگشت همه به سوی اوست یا به قولی هر کسی کو دور ماند از اصل خویش، باز جوید روزگار وصل خویش! القصه همه اون زبون‌ها شدن همون جاوااسکریپت و تحت یه استاندارد جمع و جور شدن که همون ECMA هست. درواقع این جاوااسکریپتی که این روزا داره جولان میده، همون ES5 هست، یا بهتر میگم ES5.1.

الغرض، این زبون نازنین تو سال ۲۰۱۵ دستخوش تغییراتی اساسی شد، تغییراتی که میتونه دانشی که از جاوااسکریپت دارید رو تا حدودی به چالش بکشه! این تغییرات تحت نسخه ES6 ارائه شدند که چون تو سال ۲۰۱۵ انجام شد، معروف شده به ES2015.

اگه خوشحالتون میکنه باید بگم تو نسخه‌ی جدید جاوااسکریپت حمایت از Unicode هم بیشتر شده و حتی امکان Unicode Regex هم فراهم شده. البته تغییرات ES2015 خیلی خیلی بیشتر از این حرفاست. برای دیدن لیست ویژگی‌های جدید ES2015 بهتون توصیه میکنم تا صفحات زیر رو چک کنید:

ECMAScript 6 — New Features: Overview & Comparison

Overview of ECMAScript 6 features

اگه از دوستداران جاوااسکریپت هستید، بهتون توصیه میکنم شروع کنید به آپدیت کردن خودتون و با زیر و زِبَر ES2015 آشنا بشید، گرچه هنوز همه چی روی شاخ ES5 میچرخه، اما طوفان تغییرات تو راهه، و به قولی دیر و زود داره ولی سوخت و سوز نداره.

یه فیلم خوب برای یادگیری ES2015 تو سایت دانلودها هست، میتونید دانلودش کنید و ببینیدش:

دانلود فیلم آموزش ضروریات JavaScript ES6

سایت Babel هم محل خوبیه هم برای یادگیری ES2015 و هم برای آشنا شدن با روشهایی که همین الان هم بتونید از این زبون مدرن تو کاراتون استفاده کنید. این سایت راهنمایی‌تون میکنه تا از همین الان بتونید هم سمت سرور و هم سمت کاربر از ES2015 استفاده کنید. برای سمت کاربر فعلا میتونید با پیوست کردن یه فایل جاوااسکریپت به کدهاتون امکان حمایت از ES2015 رو فراهم کنید. ولی سمت سرور یخورده دنگ و فنگش بیشتره. در هر صورت سایت Babel بهتون کمک میکنه تا این امکان رو فراهم کنید.

درضمن، موقع نوشتن این مطلب متوجه شدم که حمید فرجی تو بابون یه مطلب خوب درمورد ES6 نوشته، بهتون توصیه میکنم که این نوشته رو هم مطالعه کنید.

جاوا اسکریپت نسخه جدید ES6 – نصب و راه اندازی ‌‌‌Babel JS (حمید فرجی)

شاد باشید و به‌روز تا همیشه جوون بمونید!

قربان شما،

آمیرزا

بیشتر بخوانید

React.JS

چرا من React.js رو انتخاب کردم؟

همونطور که قبلا گفتم، چند وقتیه که پا گذاشتم تو سرزمین جاوااسکریپت. برای همین دارم سرکی به گوشه کناراش میکشم و از بین فریمورک‌ها و کتابخونه‌های مختلف سمت کاربر و سمت سرور، فریمورک‌ها و کتابخونه‌های موردنظرم رو انتخاب میکنم. امروز میخوام راجع به React.JS صحبت کنم که بهمون کمک میکنه تا بتونیم وب اپ دلخواهمون رو سمت کاربر پیاده‌سازی کنیم.

راستش اول فکر می‌کردم برای فریمورک سمت کاربر، انتخاب‌های زیادی ندارم. از قبل آشنایی مختصری با Angular.JS داشتم و فکر میکردم هرچی هست و نیست همینه! چرا؟ چون هنوز جز اون چیز دیگه‌ای رو نمیشناختم. در هر صورت، قبل از شروع کار با Angular تصمیم گرفتم جست‌جویی کنم، بلکه بهتر از اون رو پیدا کنم. تو جست‌جوهام خیلی زود به چهارتا اسم رسیدم: Angulr, Ember, Backbone, React. باز دوباره من موندم و یه انتخاب سرنوشت‌ساز!

الغرض، وقت گذاشتم و مقالات مختلفی رو درمورد هر کدوم از اونها خوندم و نمونه‌ی کدها و مثال‌هاشون رو بررسی کردم. با توجه به وضعیت خودم و نیازهام، React رو انتخاب کردم. اگه میخواهید بدونید چرا، میتونید دلایلم رو در ادامه بخونید.

(بیشتر…)

بیشتر بخوانید