Page tree
Skip to end of metadata
Go to start of metadata


دوره آموزش انگیولار در طی ۵ جلسه دو تا سه ساعته برگزار شد. که در این قسمت می‌توانید به کلیه‌ی منابع آموزشی آن شامل ویدئوها، اسلاید‌ها و تمارین دسترسی داشته باشید. در صورتی که سوال، نظر یا هر نوع بازخوردی دارید لطفاُ در قسمت نظرات آن را بیان کنید.

جلسه اول - جاوا اسکریپت


زبان جاوا اسکریپت را می‌توان «فهمیده‌ نشده» ترین زبان برنامه‌نویسی دنیا دانست! این درحالی است که استفاده از جاوا اسکریپ به شدت در حال افزایش است. در سمت کلاینت، پیشرفت‌های وب و استانداردهای مرتبط‌ آن را تبدیل به یک بستر عالی برای توسعه‌ی نرم‌افزار کرده است. در سمت سرور نیز با ظهور NodeJS جاوا اسکریپت به سمت سرور کشیده شده و استفاده از آن به دلیل سرعت بسیار زیاد و ماژول‌های فراوان رشد بسیار زیادی داشته است. به طوری که تا لحظه‌ی نوشتن این متن بیش از ۲۷۶,۰۰۰ ماژول در رجیستری رسمی ماژول‌های node یعنی NPM ثبت شده است. با مشاهده‌ی تصویر زیر از سایت modulecounts حس بهتری از این تعداد در مقایسه با سایر زبان‌ها پیدا خواهید کرد!

یکی از علل فهمیده نشدن جاوا اسکریپت این است که مفاهیم موجود در زبان و ساختار آن با بسیاری از زبان‌های شیء‌گرای دیگری که ما عموما آن‌ها را در دانشگاه فرا گرفته‌ایم متفاوت است. مثلن وراثت در جاوا اسکریپت (prototypal inheritance) با نوع کلاسیک وراثت (classical inheritance) که در سایر زبان‌های شی‌ء‌گرا وجود دارد کاملا متفاوت است. یا جاوا اسکریپت زبانی است که به شما امکان برنامه‌نویسی به صورت functional را می‌دهد در حالی که بسیاری از ما با این پارادایم آشنا نیستیم. در جاوا‌ اسکریپت تابع نقش کلیدی دارد و دوست داشته باشید یا نه، تقریبا همه چیز با تابع پیاده‌سازی می‌شود! مفاهیمی مثل کلاس، ماژول، فضای نام (namespace) و ... همه با تابع و به وسیله‌ی الگوهای مشخصی قابل پیاده‌سازی هستند.

در جلسه‌ی اول بیشتر به جاواسکریپت و ویژگی‌های آن پرداخته شد. منابع مفید در این زمینه‌ها نیز در اسلایدها معرفی شده‌اند که برای بدست آوردن درک درست از زبان جاوا اسکریپت، مطالعه و تماشای آن‌ها به شدت توصیه می‌شود. متاسفانه ویدئوی این جلسه در دسترس نیست.

برای افزایش دانش خود در زمینه‌ی جاوا اسکریپت می‌توانید از منابع زیر استفاده کنید:

منابع

جلسه دوم - مفاهیم کلی انگیولار

در جلسه‌ی دوم بیشتر به مفاهیم کلی انگیولار پرداخته شده است. مسیری که وب طی کرده و این که چرا اساسا فریم‌ورک هایی مثل انگیولار و ... بوجود آمدند بررسی شده و ویژگی‌های اصلی انگیولار شرح داده شده است. در ادامه‌ی این جلسه، به توسعه‌ی یک مثال ساده از یک برنامه انگیولار پرداخته‌ایم. در این مثال با استفاده از ای‌پی‌آی گیت به عنوان backend‌ یک برنامه‌ی ساده مینویسیم که به وسیله‌ی آن می توان در ریپازیتوری‌های گیت‌هاب جستجو کنیم. در طول این برنامه مفاهیمی چون routing‌ را هم به صورت مختصر بررسی می کنیم.

منابع

 

AngularJS - Sec2.mp4

جلسه سوم - دیرکتیوها

 

از آنجایی که اچ‌تی‌ام‌ال به عنوان زبان مارک‌آپ استاندارد برای وب از ابتدا برای نشان دادن مستندات ثابت طراحی شده است به صورت پیش فرض بستر خوبی برای ساخت واسط کاربری برای برنامه‌های تحت وب نیست. در یک برنامه‌ی تحت وب شما دوست دارید مولفه‌های واسط کاربری خود مانند tab view، zippy و ... را داشته باشید و در جاهای مختلف از آن استفاده کنید. انگیولار به شما این امکان را می‌دهد که اچ‌تی‌ام‌ال را گسترش داده و مولفه‌های خود را تعریف کنید. به این صورت می‌توانید به صورت declarative و زیبا از اچ‌تی‌ام‌ال گسترش یافته برای ساخت واسط کاربری خود استفاده کنید و با انگیولار به مرورگر یاد بدهید که چگونه آن‌ها را نشان دهد.

در این جلسه به طور اختصاصی به دیرکتیوها در انگیولار می پردازیم و انواع روش‌های گسترش دادن اچ‌تی‌ام‌ال با استفاده از تعریف دیرکتیوهای انگیولار (component directive‌s و behavioural directives) را بررسی می‌کنیم.

در ادامه‌ی بحث دیرکتیوها موضوع ‌تعامل دیرکتیوها ‌مطرح می‌شود که به دلیل کمبود وقت در کلاس به آن نپرداختیم. ولی ضمیمه‌ای برای این جلسه در نظر گرفته شده که ابتدا تعامل دیرکتیوها را شرح داده و منابعی را برای مطالعه‌ی بیشتر بیان می‌کند و سپس چند تمرین در این زمینه ارائه می‌دهد.

منابع

AngularJS - Sec3.mp4 

ضمیمه

تعامل دیرکتیوها

جلسه چهارم - Promise و ابزارها

 

در این جلسه ابتدا به یک الگو و استاندارد به اسم Promise می پردازیم که در جایگزین الگوی callback است که در برنامه‌نویسی در محیط‌های single thread مثل محیط اجرای جاوا اسکریپت از اهمیت بالایی برخوردارند. بیش از نیمی از جلسه به تشریح مفاهیم مربوط به Promise و بیان تناظر بین برنامه‌نویسیِ sync و برنامه نویسی Async با استفاده از Promise پرداخته‌ می‌شود. در ادامه‌ی جلسه به معرفی ابزارهای مختلف از جمله ابزارهای build، پلاگین‌های مرورگرها، لایبرری های مفید و ... پرداخته شده است.

برای درک بهتر Promise‌ و مقایسه‌ی آن با callback ویدئوی زیر را ببینید:

منابع

AngularJS - Sec4.mp4 

 

جلسه پنجم - تست


“Well, we’ll just launch the app and see if everything works. We’ve never had any problem doing that.”

– No one ever

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

 

مولفه‌ها و ابزار‌های مورد استفاده در نوشتن تست برای یک اپلیکیشن انگیولار

منابع

AngularJS - Sec5.mp4

 

  • No labels