تالار گفتگوی کیش تک/ kishtech forum

نسخه‌ی کامل: ۵ فریمورک مفید جاوا اسکریپت برای Front-End و Back-End
شما درحال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب‌بندی مناسب.
جاوا اسکریپت زبان سطح بالا و مفسری است که تمام تقریبا مرورگرهای مدرن و وبسایت ها از آن استفاده می کنند. این زبان یکی از سه تکنولوژی اصلی است که از طرف شبکه وسیع جهانی در کنار HTML و CSS استفاده می شود. جاوا اسکریپت امکان برنامه نویسی شئ گرای را برای برنامه نویس فراهم می کند و همچنین با داشتن یک رابط برنامه‌نویسی کاربردی به برنامه نویس اجازه می دهد که با متون، آریه ها و regular expression ها کار کند. 
در نهایت، انجام عملیات های ورودی/خروجی برای گرافیک، شبکه و ذخیره سازی به محیط میزبانی جاوا اسکریپت بستگی دارد. فریمورک ها و کتابخانه های جاوا اسکریپت این امکان را به برنامه نویس می دهد که کارها را با سرعت و دقت بیشتری انجام دهد. 
درحال حاضر کتابخانه های زیادی برای جاوا اسکریپت عرضه شده است. در نهایت اگر هر کتابخانه دارای قابلیت های همه منظوره و ویژگی های دیگری باشد، در طبقه بندی فریمورک قرار می گیرد. توسعه دهندگان فریمورک های جاوا اسکریپت را به دو دسته Front-End و Back-End تقسیم کرده اند. فریمورک های محبوب برای دسته بندی Front-End عبارت است از Angularjs، Reactjs و Ember.js و در طرف Back-End نیز می توان به Expressjs و Meteor.js اشاره کرد. 
[font=Vazir, sans-serif]فریمورک های Front-End جاوا اسکریپت[/font]
برنامه نویسان برای اینکه بتوانند صفحات و اپلیکیشن‌های وب را تعاملی تر کنند از این دسته فریمورک استفاده می کنند. این فریمورک ها برای بالا بردن قابلیت های پروژه وب مناسب و کارا هستند. 
[تصویر:  angular.png]
[font=Vazir, sans-serif]AngularJS[/font]
AngularJS فریمورکی از دسته فریمورک های Front-End محسوب می شود. کار اصلی این فریمورک مدیریت تعاملات کاربران صفحات وب در یک مرورگر است. کار این فریمورک در ابتدا بدین گونه است که صفحات HTML را برای به دست آوردن توصیفات جاسازی شده در تگ ها که به عنوان دستوالعمل تفسیر می شود را بررسی می‌کند و بعد از آن انگولار برای نمایش اجزای ورودی/خروجی از طریق دستورالعمل ها، از متغیرها استفاده می کند. با این قابلیت مرورگر می تواند که صفحه وب را با اضافه کردن محتوا، مبنی بر درخواست اطلاعات تازه سازی بکند. در این حالت احتیاجی به ارسال و دریافت درخواست از سرور نیست.
یکی از مزایای بزرگ و مهم این قابلیت این است که انگولار این کار را بدون کمک گرفتن از یک تکنولوژی Back-End انجام می‌دهد. پس مهم نیست شما از چه تکنولوژی Back-End استفاده می کنید، در هر حالت شما قادر به استفاده از انگولار هستید. انگولار تنها با رابط API کار می کند. در نهایت یکی از قابلیت های خوب انگولار اینست که به توسعه دهندگان این اجازه را می دهد بدون تغییر در امر Front-End، تغییراتی را در Back-End وبسایت بدهند. این حالت در هنگام توسعه اپلیکیشن موبایل وبسایت بسیار مناسب و کاربردی است.
برای آموزش انگولار می توانید [font=Vazir, sans-serif]دوره انگولار راکت را مشاهده کنید.[/font]
[تصویر:  react.png]
[font=Vazir, sans-serif]ReactJS[/font]
فیسبوک در سال ۲۰۱۳ ReactJS را عرضه کرد. با عرضه این فریمورک یک رقابت میان انگولار و ری‌اکت شکل گرفت. اما ری‌اکت در حال حاضر محبوب تر از انگولار است. وبسایت ها و اپلیکیشن های فیسبوک و اینستاگرام دو نمونه بارز از محصولاتی هستند که با استفاده از ری‌اکت‌جی‌اس ساخته شده اند. پس با دیدن این محصولات می شود متقاعد شد که با استفاده از این فریمورک می توان اپلیکیشن های بزرگ و پویا را نوشت. همچنین ری‌اکت جزو قسمت View در معماری سه لایه MVC است. 
‌‌ReactJS به برنامه‌نویس ها این قابلیت را می دهد که DOM یا مدل شئ گرای اسناد را به صورت مجازی توسعه و طراحی کند. این کار به بخش سرور و کلاینت اجازه می دهد که بتوانند سریعتر ارتباط برقرار کنند. این حالت توانایی مفیدی را به اپلیکیشن هایی که به یک View قدرتمند در مدل سه حالته نیازمند هستند، می دهد. ReactJS همچنین می تواند برای فریمورک های Front-End دیگری که به یک مدل View نیازمند هستند، مفید باشد. از دیگر کارهای مفید این فریمورک می توان به حل مسائل و مشکلات جدی مربوط به بهینه سازی موتورهای جستجو (SEO) اشاره کرد.
برای آموزش ری‌اکت می توانید [font=Vazir, sans-serif]دوره ری‌اکت راکت را مشاهده کنید.[/font]
[تصویر:  ember.png]
[font=Vazir, sans-serif]Ember.js[/font]
Ember.js فریمورکی مبتنی بر معماری سه لایه است که صفحات وب را به صورت خودکار بعد از تغییر داده های صفحه بروز می کند. این فریمورک شامل یک موتور است که وب سرویس های API را انتقال می دهد. هدف اصلی توسعه این فریمورک ساختن اپلیکیشن های پیچیده وب بدون نیاز به یادگیری طولانی مدت و مطالعه زیاد روی فریمورک های مختلف بوده است. Ember.js از یک رندر به اسم Fastboot.js برای تحلیل DOM روی قسمت ServerSide استفاده می کند، کاری که تقریبا مشابه با فریمورک ReactJS است.
Emberjs در واقع انتخاب مناسبی برای پروژه هایی است که زمان و بودجه محدودی دارند، این فریمورک به توسعه دهندگان ویژگی های بسیاری را ارائه می کند. البته باید گفت که Emberjs مانند دو فریمورک قبلی به رشد و تکامل نرسیده است اما تیم توسعه دهنده آن در حال کار و بهبود آن است.
[font=Vazir, sans-serif]فریمورک های Back-End جاوا اسکریپت[/font]
از وظایف اصلی و مهم فریمورک های Back-End جاوا اسکریپت فراهم کردن سرویس RESTful API است. این قابلیت اشاره دارد به کارهایی از اپلیکیشن که با رابط کاربری در تعامل نیست. مانند کار با بانک اطلاعاتی، ذخیره سازی و احرازهویت برای دسترسی و… .
[تصویر:  meteor.png]
[font=Vazir, sans-serif]Meteor.js[/font]
Meteor.js در واقع یک فریمورک همه کار برای توسعه دهندگان است که در سال ۲۰۱۲ توسط گروه کاری Meteor عرضه شد. این فریمورک برای توسعه دهندگان قابلیتی را فراهم کرده است که بتوانند از ابتدای کار توسعه یک وبسایت تا انتهای آن فقط از جاوا اسکریپت استفاده کنند. این فریمورک جدای از دارا بودن یک موتور رندر برای محیط توسعه Front-End دارای قابلیت ها و ویژگی های یک فریمورک Back-End مانند مدیریت بانک اطلاعاتی، معماری وب و … است. جدای از آن فریمورک MeteorJS دارای پاکت ها و کتابخانه هایی است که توسعه دهندگان با استفاده از آن می توانند کارهای بیشتری را انجام دهند. یکی از نکات مثبت MeteorJS این است که توسعه دهندگان دیگر مجبور به گذراندن وقت و صرف آن برای یادگیری محیط های توسعه و زبان های برنامه نویسی دیگر ندارند. همه کارها با جاوا اسکریپت انجام می شود.
یکی از مهمترین نکات برای استفاده از Meteor.js زمان لازم برای پیاده سازی آن است. این فریمورک با بانک اطلاعاتی MongoDB و متغیرهای همگانی کار می کند، این دو از موارد مهمی است که در بالا بردن سرعت کار فریمورک نقش بسزایی دارد.  Meteor.js از مدیریت بسته های NPM برای محیط Runtime خود استفاده نمی کند. در نهایت کاربرد ها و ویژگی های بسیاری در این کتابخانه وجود دارد که کار بیشتر با آن می تواند شما را بیشتر آشنا کند.
[تصویر:  express.png]
[font=Vazir, sans-serif]Express.js[/font]
Express.js یک فریمورک back-end جاوا اسکریپت است که با آن می تواند وب اپلیکیشن ها و API های کاملی را بسازید. این فریمورک بخشی از MEAN است که از MongoDB برای بانک اطلاعاتی، AngularJS برای قسمت Front-End و NodeJS برای محیط Runtime جاوا اسکریپت استفاده می‌کند. ExpressJs نسبت به Meteor.js مینیمال تر و کم حجم تر است. همچنین با استفاده از پلاگین های آن می توانید ویژگی های بیشتری را به آن اضافه کنید. Express.js از معماری سه لایه برخوردار نیست، یکی از دلایل سبک و سریع بودن این فریمورک نیز همین است.
Express.js یک فریمورک آزاد و رایگان است که طبق لاینسنس MIT عرضه می شود، بدین معنا که برای توسعه و استفاده آزاد است.
[font=Vazir, sans-serif]نتیجه[/font]
تعداد توسعه دهنده های جاوا اسکریپت که هر روز از این زبان و فریمورک های آن استفاده می کنند به سرعت در حال افزایش است. این رشد و نمو در ابتدا به دلیل نیاز به یک فریمورک Front-End قدرتمند مانند انگولار‌جی‌اس و ری‌اکت‌جی‌اس اتفاق افتاد. از فاکتورهای مهم برای انتخاب یک فریمورک جاوا اسکریپت می توانید به نوع پروژه خودتان و منابع موجود آن فریمورک توجه کنید.