
خب عزیزان تو دورهمی دوستانه امروز میخوایم درباره انگولار چیست، صحبت کنیم که حتما اسم اونو بین فریمورکهای جاوا اسکریپت شنیدهاید، اما شاید اطلاعات زیادی راجعبه اون نداشته باشید. پس تا آخر این دورهمی ما رو همراهی کنید.
از انگولار به عنوان فرزند طلایی فریمورکهای جاوا اسکریپت نام برده میشه که توسط کمپانی Google در سال 2012 معرفی شد. طراحی مدل این فریمروک قدرتمند، بر اساس MVC و با جاوا اسکریپت نوشته شده که به راحتی میتونید صفحات داینامیک خودتون رو طراحی و مدام اونا رو به روزرسانی کنید. موضوع جالب اینه که با امکانات گسترده انگولار میتونید اپلیکیشنهای تک صفحهای ایجاد کنید.
فریمورک انگولار تونست در زمان کوتاهی، مخاطبای زیادی رو به خودش جذب کنه و نسخههای مختلفی از Angular JS رو وارد بازار کنه.
AngularJS، در بروزرسانی بعدی با نام Angular 2 معرفی شد و دیگه خبری از پسوند JS نبود که باعث شد افراد بسیاری فکر کنن که نسخه دیگهای از انگولار هست، در صورتی که اینطوری نبود و همون Angular سابق بود. اما این بار کاملا بازنویسی و بهینه شد و طراحی جدیدی رو به خودش گرفت و بسیاری از موارد در انگولار 2 بهبود یافت.
بالاخره نسخه قابل استفاده از Angular 2 در سال 2016 منتشر شد و از اون به بعد همه، نسخه جدید انگولار رو برای استفاده انتخاب کردند. اما مهمترین ویژگی Angular 2، کراس پلتفرم بودن آن یا پشتیبانی از چند دستگاهی بودن اون هست که میتونید به طور همزمان برای پلتفرمهای وب، موبایل و حتی دسکتاپ طراحی کنید.
به روز رسانیهای فریم ورک انگولار تا جایی پیش رفت که سرانجام در نوامبر سال 2017، انگولار 5 وارد بازار شد و امکانات تقریبا مشابهای برای کاربرانش عرضه کرد که تفاوت چندانی با نسخههای قبل نداشت. ولی باید ببینیم تو به روز رسانیها و نسخههای آینده شاهد چه تغییراتی خواهیم بود.
پیشنهاد ویژه: صفر تا صد آموزش html css را می توانید به صورت کاملا حرفه ای و آسان یاد بگیرید و متخصص شوید
اگر بخوایم یه تعریف از AngularJS بر اساس مستندات رسمی داشته باشیم:
"انگولار، یک فریمورک ساختیافته برای وباپلیکیشنهای پویاست که علاوه بر استفاده از HTML برای طراحی قالب، باعث میشه بتوانید سینتکسهای HTML رو طوری گسترش بدین تا جزئیات وباپلیکیشنها هم به وضوح بیان بشه."
از اونجایی که هسته انگولار از جاوا اسکریپت هست شما باید برای ایجاد محتویات فریمورک، از زبان جاوا اسکریپت استفاده کنید. پس اگه با جاوا اسکریپت آشنا باشین یادگیری انگولار برای شما راحتتر خواهد بود.
نوبتیم که باشه میرسیم به مزایا انگولار که عبارته از:
سادگی در یادگیری: فقط کافیه به CSS ،HTML و JavaScript مسلط بشید.
نوشتن کدنویسی کم
دایرکتیوها: یکی از جذابترین بخشای آنگولار به حساب میاد که با اون میتونید تگهای جدید به وجود بیارین.
ادغامپذیری: یعنی به سادگی با سایر فریمورکها و ابزارها ادغام میشه و این یه نکتهی مثبت برای توسعهدهنده هاست.
تستپذیری راحت: این فریمورک با داشتن unit testهای آماده، فرآیند تست رو بسیار سریع و آسون میکنه.
همون طور که گفتیم پایه الگوی طراحی انگولار جیاس MCV و حالا این یعنی چی؟
Model، اطلاعات و دادهها رو از منابع بازیابی میکنه و view هم بهعنوان یه نمایشگر به من و شما که مخاطب وبسایت هستیم، اطلاعات رو نشان میده که در UI(رابط کاربری) کاربردیست.
اما یه نکته وجود داره، زمانی که شما تغییری رو تو model انجام میدید باید تو view هم تغییرات رو اعمال کنین. این کار میتونه در دادههای زیاد کار بسیار وقتگیری باشه؛ پس اگر از انگولار جیاس استفاده میکنین نباید نگران این موضوع باشید. چرا که انگولار جیاس هر داده رو به view مشخص مرتبط و در هنگام تغییرات، این view هست که بهصورت خودکار آپدیت میشه.
این جمله رو حتما یادتون باشه:
"هرجا که سخن از سفارشیسازی و به کارگیری ابزارهای جدید است نام دایرکتیوهای انگولار میدرخشد"
به همین خاطر یکی از جذابترین بخشهای انگولار جی اس دایرکتیوها به شمار میره که با اون میتونید عناصر و تگهای جدید رو نمایش بدین.
فرضا تو خونه نشستین و دارین یه وسیله برقی رو تعمیر میکنید که به طور اتفاقی یه پیچ رو گم میکنید. چیزی که ما اینجا دوست داریم اینه که بهجای پیدا کردن پیچ، سیستمی باشه که به اون طبق تعریفی که قبلاً براش داشتیم، دستور میدادیم تا مشابه اون پیچ رو تحویلمون بده.
حالا بیایین بریم سراغ دنیای برنامهنویسی. گاهی ما دوست داریم یه سری دستورات رو که قبلا تعریف کردیم هنگام نیاز، دوباره از همونها استفاده کنیم. اینجاست که خاصیت تزریق وابستگی خودش رو نشان میده و باعث میشه که علاوه بر صرفهجویی تو زمان، خیلی راحتتر و سریعتر دستوراتمون رو اجرا کنیم که آنگولار جیاس این قابلیتو در اختیار ما قرار داده.
یکی از نکات مهمی که در طراحی وب وجود دارد، بحث قالبهاست یعنی همان شکل کلی که از یک وبسایت مشاهده میکنیم. انگولار جی اس با ابزارهای قدرتمند خود از جمله الگوی طراحی mcv، دایرکتیوها و ... توانسته است به آسانی طراحی قالب را بر عهده داشته باشد.
شاید بشه گفت بزرگترین نقص این فریم ورک، بودن راه های زیاد برای انجام یک کار است.وقتی که شما از AngularJS برای پروژه های نسبتا بزرگ استفاده میکنین، پیدا کردن بهترین راه برای انجام کارها خیلی سخته و باید مراقب باشین که اگه از رویداد ها و المانهای DOM به روش غیر انگولار استفاده میکنین، اونارو پاکسازی کنید که دچار نشت حافظه (memory leak) نشید.
نکته دیگه این که، اگه بحث سئوی صفحه ای برای شما خیلی اهمیت داره، استفاده از آنگولار گزینه مناسبی نیست.
خب دوستان به پایان دورهمی امروز رسیدیم و گفتیم که انگولار چیست، چه مزایا و معایبی داره و کاربردهای مهم این فریم ورک چیه. حالا میخوام این دورهمی رو اینجوری به پایان برسونم که با انگولار دیگه لازم نیست کارای زیرو انجام بدین:
پاک کردن کد های پر تکرار مثل callback ها؛ این کار به شدت مقدار کدهای جاوا اسکریپت رو که شما باید بنویسید، کاهش میده و دیدن اینکه کد شما چه کاری انجام میده رو آسون میکنه.
بیشتر نرم افزارایی که با انگولار نوشته میشن هیچ وقت نیاز به برنامه نویسی تغییر DOM ندارن، ولی اگر شما بخواین، میتونید این کار را انجام دهید.
HTML DOM، يک مدل شيء استاندارد و رابط کاربري برنامه نويسي براي HTML هست که موارد زير رو تعريف مي کنه:
عناصر HTML به عنوان اشياء
خصوصيات همه عناصر HTML
متدهايي براي دسترسي به تمام عناصر HTML
رويدادهاي تمام عناصر HTML
به عبارت ديگه HTML DOM، استانداردي براي دسترسي، تغيير، اضافه و يا حذف کردن عناصر HTML هست.
معمولا برای نوشتن یک نرم افزار AJAX ساده Hello world”" نیاز به نوشتن کدهای اولیه زیادی هست. اما برنامه نویسی انگولار، به عنوان یک پاداش کنترل کامل روی مقدار دهی اولیه در تست خودکار را برای شما فراهم میکند.
خب عزیزان امیدوارم که مطالب دورهمی ما مورد پسندتون باشه و اگه شما هم تجربه کاری ویا اطلاعات بیشتری درباره انگولار دارین، در قسمت کامنت با ما درمیون بزارید؛ موفق باشین.

هنوز اینجا کامنتی ثبت نشده
شما تا به حال با پیش پردازنده های css کار کرده اید؟ در این مقاله بایکی از پیش پردازنده های css به نام sass آشنا می شوید،می خواهیم بدانیم sass چیست و چه کاربردهایی دارد؟