EN

موستانگ، وحشیِ دوست داشتنی

بهترین فریم ورک های جاوا

بهترین فریم ورک های جاوا - موستانگ

جاوا هنوز هم از محبوب ترین و پرکاربردترین زبان ها برای توسعه انواع اپلیکیشن های موبایل و وب است. انواع زیادی از فریم ورک های جاوا ساخته شده اند تا برنامه نویسان راحت تر و سریع تر بتوانند پروژه های خود را بسازند. وقتی از یک فریم ورک استفاده می کنید، دیگر نیازی به نوشتن کدهای پیچیده ندارید، بلکه می توانید از کدهای آماده آن استفاده کرده و تغییرات مورد نظر خود را بدهید (بدون نیاز به برنامه نویسی مجدد). در این صورت، فرآیند توسعه نرم افزار بسیار راحت تر می شود. با موستانگ در این مقاله هم قدم شوید تا تعدادی از بهترین فریم ورک های جاوا را بررسی کنیم. 1- اسپرینگ (  Spring ) | یکی از بهترین فریم ورک های جاوا   اسپرینگ ، یک فریم ورک سبک و ماژولار است که می توانید در هر لایه از پروژه خود از آن استفاده کنید. یکی از قدیمی ترین فریم ورک های جاوا است که برای تولید برنامه ها در سطح سازمانی یا enterprise مناسب است. در ابتدا اسپرینگ به عنوان ابزاری برای dependency injection یا تزریق وابستگی استفاده می شد. اما به مرور تبدیل به یک فریم ورک تمام عیار برای توسعه برنامه ها شد. Dependency injection یا تزریق وابستگی چیست؟ الگویی است جهت تزریق وابستگی های خارجی به یک کلاس به جای استفاده مستقیم از آن وابستگی ها در درون کلاس. به مثال زیر توجه کنید: class SendSingleSMS { private $gateway; public function __construct() { $configs = new Configs(‘gateway_attributes’); $this->gateway = new Gateway($configs); } public function send() { $this->gateway->sendSingle(); } } در اینجا کلاس SendSingleSMS به شیئی از کلاس Gateway وابسته است. ولی اگر متغیری به کلاس Gateway اضافه کنیم، چه می شود؟ مجبوریم تا کد تمام کلاس هایی که از آن استفاده می کنند ( مثل SendSingleSMS) را تغییر دهیم. با استفاده از تزریق وابستگی ، می توان کلاس بالا را به شکل زیر نوشت (در اینجا متغیری از نوع Gateway را به تابع سازنده تزریق می کنیم): class SendSingleSMS {    private $gateway;      public function __construct(Gateway $gateway)    {           $this->gateway = $gateway;    }      public function send()    {        $this->gateway->sendSingle();    } } فواید اسپرینگ : پشتیبانی از xml و annotation-based configuration قوی ، منعطف و سبک 2- هایبرنت ( Hibernate )   هایبرنت یکی از محبوب ترین و بهترین فریم ورک های جاوا در میان برنامه نویسان است. عمدتاً برای ارتباط با پایگاه داده استفاده می شود. چون می تواند این نوع از تسک ها را آسان تر و مرتب تر انجام دهد. هایبرنیت به راحتی کانفیگ و شخصی سازی می شود و مخصوص تکنیک ORM (Object Relational Mapping) است ( ORM تکنیکی است برای نگاشت داده های پایگاه داده به اشیا و کلاس ها و عملاً به برنامه نویس این امکان را می دهد که بدون نیاز به کد sql و از طریق اشیا به پایگاه داده دسترسی داشته باشد) تنها ضعفی که فریم ورک هایبرنیت دارد، اینست که به محض این که شما این فریم ورک ORM را باز می کنید، زمان بسیار زیادی می برد تا به آخرین جایی که کار می کردید برسید. فواید هایبرنیت : آخرین نسخه آن از پایگاه داده های noSql  پشتیبانی می کند ابزارهای برنامه نویسی بسیاری دارد، نظیر: Mapping editor و  Hibernate console در اصل برای RDBMS ( Relational DataBase Management System ) طراحی شده است در این قسمت از مانژ ، می توانید با نمونه کد های هایبرنیت آشنا شوید. 3- JSF ( Java Server faces ) یکی از بهترین فریم ورک های جاوا که مختص اپلیکیشن های وب است. هدف اصلی  JSF ، آسان کردن فرآیند طراحی رابط های کاربری وب است. JSF یک تکنولوژی طراحی است و بر پایه معماری MVC ( Model View Controller  ) بنا شده. معماری JSF بگونه ای است که منطق یا logic برنامه را از طراحی آن جدا می کند. فواید JSF : از xml  ( به جای جاوا ) در طراحی view ها ( یا رابط کاربری ) استفاده می کند می تواند برای هر client یک تگ منحصر بفرد بسازد کامپوننت های از پیش طراحی شده دارد     در این قسمت از مانژ ، می توانید با نمونه کد های JSF آشنا شوید.   اگر با زبان جاوا آشنایی ندارید و می خواهید در کمترین زمان ممکن با آن آشنا شوید، می توانید از این دوره رایگان آموزش جاوا استفاده کنید.   3- GWT  ( Google Web Toolkit ) GWT یک فریم ورک متن باز است که برای کار front end مناسب است و توسعه اپلیکیشن های front end را بسیار آسان می کند. طوری که با کمترین دانش برنامه نویسی ، می توانید رابط های کاربری بسیار زیبایی طراحی کنید. همان طور که از نامش مشخص است، گوگل توسعه دهنده این فریم ورک است و به دلیل قابلیت های منحصر بفردی که دارد، بسیار از آن استفاده می شود. برنامه های تحت وب بسیاری با استفاده از این فریم ورک جاوا نوشته شده اند، نظیر: Google Analytics ، Google Adsense و Blogger . فواید GWT: مستندات و پشتیبانی خوبی دارد پایدار است و قابلیت پشتیبانی از مرورگرهای مختلف را دارد با وجود آن، استفاده از API های گوگل آسان تر می شود 4- Dropwizard این فریم ورک جاوا ابزارهای مختلفی در اختیارتان می گذارد که می توانید به سرعت و با پیچیدگی کمتری، اپلیکیشن هایتان را طراحی کنید. متن باز است و برای ساخت سرویس های وب RESTFUL استفاده می شود (سرویس های وب RESTFUL یا Restful Web Services ، یک سرویس سبک و مقیاس پذیر ( scalable ) است که بر مبنای معماری REST کار می کند). فواید Dropwizard: پشتیبانی از بسیاری از کتابخانه های متن باز 5- Vaadin   Vaadin  یکی از بهترین فریم ورک های جاوا است که می توانید با استفاده از آن انواع برنامه های تحت وب را با کامپوننت های قابل شخصی سازی ( customizable ) بسازید. این فریم ورک از لحاظ کارایی با نمونه های قدیمی جاوا یا جاوا اسکریپت خیلی فرق می کند. Vaadin بسیار سبک است و تاکیدش بر روی کارایی ، تجربه کاربر ( UX )  و قابلیت دسترسی است. فواید Vaadin: می توانید رابط های کاربری غنی و قوی با آن بسازید