فریمورکهای جاوا اسکریپتی مبتنی بر الگوی MVC ( که در آن دادهها و تمپلت از کنترلر مستقل هستند ) در سالهای اخیر رشد زیادی کنند که فریمورکهای Angular, Ember, Backbone, knockout چهار نمونه معروف از آنها هستند که البته رغبت جهانی به سمت AngularJS بوده و به شدت در حال رشد است. به اینگونه برنامهها ( که دارای یک اسکلت ساده یا تکصفحهای هستند )، Single Page Application یا SPA گفته میشود.
برای سایتها و اپهای اطلاعاتی (که اطلاعات مختلف را حسب نیاز کاربر نمایش میدهند) مناسب است اما اگر برنامه شما عمدتا کارش بازی با DOM است، کتابخانه دیگری مثل jQuery مناسبتر است یا مثلا اگر برنامه شما مربوط به یک game است، باز هم کتابخانههای مختص این کار را باید استفاده کنید و انگولر جیاس کمک چندانی در این زمینه نمیتواند بکند. معمولا توصیه می شود از Angular JS و JQuery به صورت همزمان استفاده نکنید. پیشنهاد این است تا از جدول های کاملا Angular استفاده نمایید ، همانند ng-table ، یا نسخه بازنویسی شده ng-grid که بدون استفاده از JQuery کار می کند ، یعنی ui-grid .
زمانی که یک صفحه ی وب بارگذاری می شود، مرورگر از آن صفحه، یک مدل شیءگرا (Document Object Model) ایجاد می کند.
مدل DOM یک ساختار درختی از اشیاء موجود در صفحه HTML می سازد:
JavaScript با استفاده از مدل شیء گرای DOM، یک صفحه HTML داینامیک یا پویا ایجاد می کند:
- JavaScript می تواند، تمام عناصر یک صفحه ی HTML را تغییر دهد.
- JavaScript می تواند، تمام خصوصیات عناصر یک صفحه HTML را تغییر دهد.
- JavaScript می تواند، تمام سبک های CSS یک صفحه HTML را تغییر دهد.
- JavaScript می تواند، به تمام رویدادهای یک صفحه HTML واکنش نشان دهد.
<table ng-table="vm.tableParams" class="table" show-filter="true">
<tr ng-repeat="user in $data">
<td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
{{user.name}}</td>
<td title="'Age'" filter="{ age: 'number'}" sortable="'age'">
{{user.age}}</td>
</tr>
</table>
به مثال زیر توجه کنید:
<div ng-app="myApp" ng-controller="myCtrl">
First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
});
</script>
با توجه به ویژگی های زیر:
- دادن ساختار به اپلیکیشن ها
- data-binding دوطرفه
- تمپلیت ها
- دایرکتیو ها
- dependency injection
باید با توجه به ویژگی های سایتتان فریم ورک مورد استفاده ی خود را انتخاب نمایید.
در حالت عادی زمان نوشتن کدهای جاوا اسکریپت بیشتر از کدهای زبان های دیگر است و این هم به دلیل ساختار نامناسب برای کد های آن است که بسیار زمان بر است . هرچند که این موضوع در طراحی وب اپلیکیشن های کوچک چندان مهم نیست، ولی برای طراحی وب اپلیکیشن های بزرگ قطعا مشکل ساز خواهد بود . با انگولار می توانید برای ساختار کدهای خود از معماری mvc و یا mvvm استفاده کنید . انگولار فریمورک Mvw است که w مخفف whatever work for you است . شما می توانید کد های خود را به صورت ماژول هایی سازمان دهی کنید که به طرز چشمگیری قابلیت تستینگ و دستکاری کد های شما را بهبود می بخشد .
اما گاهی برنامه هایی ساده که با همان jquery قابل اجرا و نوشتن است را بهتر است بدون این فریم ورک(Angular)
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید