معرفی فریمورک انگولار
زمان مطالعه: 5 دقیقه
۱۴۰۲/۷/۱۷

معرفی فریمورک انگولار

در این مقاله بطور کامل در مورد پلتفرم انگولار صحبت کرده و با آن آشنا خوهیم شد.

انگولار یک پلتفرم توسعه  برای ساخت نرم افزار های تک صفحه ای (SPA) است که  در سال 2016 توسط گوگل معرفی شد.
این پلتفرم قدرتمند براساس زبان برنامه نویسی تایپ اسکریپت ساخته شده است.

خصوصیات اصلی و مهم انگولار عبارتند از:

  • پلتفرمی برپایه کامپوننت ها (component base) 

  • برخورداری از کتابخانه های یکپارچه که طیف گسترده ای از قابلیت ها از جمله routing، مدیریت فرم ها، ارتباط سرور - کلاینت و ... را پوشش میدهد.

  • برخورداری از مجموعه ای از ابزار های پرکاربرد توسعه که  به شما در توسعه , ساخت ، تست و بروزرسانی کد ها کمک زیادی میکند.

  • تعمیین امنیت و یکپارچگی کدها

در واقع با استفاده از انگولار، از پلتفرمی استفاده میکنید که قابلیت توسعه هرنوع پروژه ای با هرنوع مقیاسی را داراست؛ اما بطور کلی انگولار برای توسعه پروژه ها و محصولات ساختارمند و پیچیده تر مناسب تر است . 

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

تاریخچه انگولار:

یکی از سوالات رایجی که برای توسعه دهندگانی که به تازگی با این پلتفرم آشنا میشوند پیش می آید، این است که تفاوت angular  و angularjs  چیست؟

انگولار جی اس

تیم توسعه انگولار نخست در سال 2009 انگولار جی اس را که بر پایه جاوااسکریپت نوشته شده بود توسعه داد که با توجه به استقبال بی نظیر از آن، تیم توسعه دریافت که این فریمورک قابلیت توسعه و افزودن ویژگی های جدید را ندارد. در نتیجه تصمیم بر توسعه پلتفرمی کاملا جدید گرفتند و نتیجه در سال 2016، به یک پلتفرم تازه که ساختار کاملا متفاوتی با ورژن اول داشت ختم شد؛ این پلتفرن جدید برپایه تایپ اسکریپت نوشته شده بود و در نتیجه از آن به بعد به آن angular گفتند.

ساختار انگولار :

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

انگولار یک فریمورک component base  یا برپایه کامپوننت می باشد که این بدین معنی است که نرم افزار هایی که با این فریمورک نوشته می شوند از بخش های کوچکی به نام component تشکیل شده اند. انگولار تمام کامپوننت ها را با استفاده از ngModule  ماژول بندی و سازماندهی میکند.

هر نرم افزار انگولاری حداقل یک ماژول ریشه یا root module  دارد.

ساختار پوشه بندی در انگولار

مطابق تصویر بالا، می بینید ساختار فولدر های یک پروژه انگولار به ترتیب زیر است:

src : تمام فایل های پروژه در این فولدر قرار میگیرد.

app : همان ریشه و root نرم افزار ما است؛ همچنین تمام component ها زیر مجموعه آن هستند.

app.module.ts : ماژول ریشه یا root پروژه ما خواهد بود.

همچنین هر component در انگولار از سه بخش تشکیل شده که شامل موارد زیر است:

  • قالب (app.component.html)

  • استایل ها (app.component.scss) 

  • منطق (app.component.ts)

ساختار یک کامپوننت ساده:

import { Component } from '@angular/core';

@Component({
  selector: 'hello-world',
  template: `
    <h2>Hello World</h2>
    <p>This is my first component!</p>
  `
})

export class HelloWorldComponent { }

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

  • کامپوننت ها

  • ماژول ها

  • سرویس ها

مزیت های پلتفرم انگولار:

ساختارمند بودن :

Angular یک فریم‌ورک با ساختار و دارای معماری MVC می باشد که به توسعه‌دهندگان کمک می‌کند تا کد خود را به راحتی سازماندهی کرده و پروژه‌های بزرگ را مدیریت کنند. 

استفاده از تایپ اسکریپت: 

Angular با استفاده از TypeScript توسعه یافته  که یک superset از JavaScript است؛ همچنین امنیت و عملکرد بسیار خوبی را در اختیار توسعه دهندگان قرار می دهد.

ابزاهای تست قوی:

Angular از ابزارهای قدرتمندی برای تست واحد و integration test پشتیبانی  کرده که به تضمین کیفیت کد و اطمینان از عملکرد صحیح برنامه‌ها کمک شایانی می نماید.

بهینگی و راحتی در زمان استقرار و توسعه  :

انگولاردارای یک Command line interface  به نام انگولار cli می باشد که بسیاری از عملیات های زمانبر مانند ساخت یک component را برای شما ساده خواهد کرد.

پشتیبانی از انیمیشن:

انگولار قابلیت پیاده سازی انیمیشن افکت های پیشرفته را درون خود فراهم کرده است و شمارا از هرگونه پکیج جانبی بی نیاز می کند.

معایب انگولار:

پیچیدگی:

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

حجم بالا:

حجم نرم افزار های انگولاری نسبتا بالا خواهد بود، این مورد باعث کندی لود صفحات میگردد (البته که این مشکل بطور کامل در نسخه های جدید تر حل شده است).

پیش نیازهای یادگیری انگولار: 

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

  • دانش کامل HTML ,CSS  و جاواسکریپت

  • آشنایی جزئی با معماری MVC (Model-View-Controller)

  • آشنایی پایه با Node.js و npm

  • تجربه کار با Command line

  • تجربه کار با typescript

بازار کار انگولار:

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

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

در نهایت انگولار دغدغه شما برای توسعه نرم افزار هایی با مقیاس بسیار کوچک تا نرم افزار های سازمانی بسیار بزرگ از جمله Erp ها را برطرف می نماید، این بدان معناست که این پلتفرم دارای بازار کار فوق العاده ای در ایران و همچنین سایر کشور هاست.

یادگیری انگولار:

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

مسیر یادگیری انگولار:

میتوان مسیر کلی یادگیری انگولار را در تصویر زیر خلاصه کرد:

مسیر یادگیری انگولار

نرم افزار های توسعه داده شده با انگولار:

اکثر محصولات گوگل، مانند:

Gmail,Google Play Store, Google Voice app, G Suite homepage, Google Open Source, Google Play Books

اکثر محصولات ماکروسافت، مانند:

Microsoft Xbox, Microsoft homepage, Microsoft Azure, Microsoft Flow, TimeFind, Microsoft support page

و بسیاری از برنامه های دیگر، مانند:

... ,Upwork, Sony, payPal

جامعه انگولار:

در حال حاظر انگولار 90.6 هزار star  و 1779 نفر contributor در گیت هاب دارد و تا همین لحظه، 3.1 میلیون نفر این پلتفرم را برای توسعه نرم افزار های خود استفاده قرار می دهند.

نتیجه گیری:

درنتیجه یادگیری انگولار میتواند شما را خیلی سریع وارد بازار کارکرده و شرایط  همکاری شما با سازمان های بزرگ را فراهم کند.

پروفایل سجاد منشی

نویسنده مقاله

برنامه نویسی رو از سال 95 با جاوا و اندروید شروع کردم , به مدت 2 سالم با C# و .Net core کار میکردم ؛بعدش دیگه وارد حوزه وب شدمو چند ساله بطور جدی که با فریموورک انگولار کار میکنم در کنارش توی حوزه DevOps و توسعه اپلیکیشن با فلاتر هم فعالیت دارم و اینجام تا تجربیاتمو در اختیارتون بزارم.☺️

دیدگاه ها و پرسش ها