Flex فلکس چیست ؟

فلکس چیست؟ خب ، فلکس ابزاری است برای تولید برنامه های کاربردی تحت فلش ، با فلکس می توان فایلهای SWF تولید کرد که Flash player وظیفه رندر آن رو به عهده داره .

اساس و فلسفه وجودی فلکس به خاطر تولید آسان و سریع برنامه های اینترنتی غنی یا همان RIA می باشد یعنی برنامه هایی که با این تکنیک درست می شوند این خاصیت رو دارند، که بدون نیاز به Ping کردن سرور یا به عبارت دیگه بدون نیاز به بار گذاری مجدد صفحه ای که آن را مشاهده میکنیم ، اطلاعات برای کاربر تغییر کند. یعنی تمام المانهای گرافیکی که در برنامه ثابت هستند تغییر نمیکنند و فقط اطلاعات بنابر رفتار کاربر تغییر میکنند. برای رسیدن به این هدف یکسری کامپوننت در اختیار توسعه دهنده قرار گرفته مثل Button , list box , data grid و با استفاده از این کامپوننت ها برنامه نویس بیشتر وقت خود را روی تنظیمات این کامپوننتها و مورد های دیگری صرف میکند و برای توسعه گرافیکی برنامه می تواند به Flash Professional اتکا ورزد.

در حال حاضربرای برنامه نویسی تحت فلش دو ابزار داریم یکی فلش و دیگری فلکس می باشد. فلکس به شکل یک برنامه J2EE و کتابخانه بر چسب یا همان تگ JSP که با یک زبان مبتنی برچسب به نام استMXML و یک زبان شیئ گرا به نام AcionScript3 را پشتیبانی می کند و این زبان رو مستقیما در داخل برنامه های کاربردی فلش کامپایل میکند و برنامه های کاربردی SWF باینری را به وجود می آورد.

از MXML نام برده شد، خب یک زبان نشانه گذاری رابط کاربر مبتنی بر XML است ، بسیار شبیه به تگ های MXML .Html اولین بار توسط شرکت ماکرو مدیا در سال ۲۰۰۴ معرفی شد از امکانات این زبان می توان تولید رابط های کاربری که همان کامپوننت ها می باشند نام برد و همین طور برای ایجاد رفتارها در برنامه ها از این زبان استفاده کرد. خب ، بریم سراغ تفاوت این ابزار با محیط توسعه فلش.

تفاوت بین Flash professional و Flex: در فلش مفهومی به نام تایم لاین داریم که در آن به اشیاء می توان حرکت داد بر اساس زمان. ولی در فلکس تایم لاینی وجود ندارد در عوض آن زبان MXML برای کد نویسی در اختیار برنامه نویسان قرار دارد در حالی که Flash Professional فاقد این زبان می باشد. به دلیل نبود تایم لاین در فلکس امکان استفاده از اشیاء به صورتی که در فلش دیده میشه وجود ندارد مثلا استفاده مووی کلیپ در تایم لاین و حرکت دادن به آن! ولی در عوض اگر برنامه نویس خوبی هستید می توانید از کدنویسی برای امکان ایجاد شی ها در محط قلش پلیر استفاده کنید مثل مووی کلیپ ها و دیگر انواع شیئ ها. تفاوتهای دیگری هم این دو ابزار دارند که از ذکرشان می پرهیزم و موکول می کنم به آینده. در آینده به صورت عملی کار با محیط فلکس را با هم تجربه خواهیم کرد.

خب حالا که اختلاف محیطهای توسعه را می دانیم! به راحتی قابل حدس است که ابزار Flash Professional برای گرافیست ها بهینه شده و فلکس برای برنامه نویس ها!

ابزار برای توسعه:

شرکت ادوبی SDK این محصول را در سال ۲۰۰۸ ، تحت لیسانس Mozilla Public License منبع باز کرد. با این کیت نرم افزاری براحتی میتوانند برنامه نویس ها برنامه های خود را توسعه دهند. برای راحتی و سرعت بیشتر توسعه برنامه ها می توان از Flex builder که اخیرا در نسخه جدید تغییر نام داده به Flash builder (در حال حاضر در نسخه آزمایشی به سر می برد) استفاده کرد.این IDE به صورت پلاگینی برای Eclipse توسعه داده شده است.

فلکس با چندین تکنولوژی دیگر رقابت دارد ، این تکنولوژیها هم برای توسعه برنامه های اینترنتی غنی می باشند:

WPF تحت Silverlight وJavaFX,Openlaszlo,Xul,Ajax,Curl

روند توسعه برنامه ها:

۱٫طراحی و پیکر بندی: در این قسمت می توانید محیط رابط کاربری را پیاده سازی کنید برای این کار در خود فلکس بیلدر کامپوننت ها آماده برای پیاده سازی هستند و یا حتی می توانید کامپوننت را سفارشی و یا نوع جدیدی از این کامپوننت را بسازید ، از دیگر محصولات شرکت ادوبی هم میتوان برای ساخت رابط کاربر کمک گرفت محصولاتی مثل Flash professional, Illustrator, Flash catalyst, Fireworks و بعد به هر یک از المانهای گرافیکی می توان با کد نویسی جان تازه ای داد. و بعضا ارتباط بین چند کامپوننت برقرار کرد و… قابل ذکر است که از CSS هم برای رابط گرافیکی و سفارشی سازی می توان کمک گرفت.

۲٫کامپایل: مکانیسم کامپایل برنامه ها در فلش همانند کامپایل در (برای اطلاع از روند کامپایل به فلش پلیر به این مقاله می توانید مراجعه کنید) Flash Professional است و تنها تفاوت نحوه کامپایل در فلکس و Flash professional تبدیل تگ های MXML به اکشن اسکریپت در زمان کامپایل می باشد.

فلکس را می توانید به این شکل در نظر بگیرید: در یک مدل چند لایه ای: مانند لایه Server application , لایه منبع اطلاعاتی , لایه خدمات گیرنده , برنامه های فلکس در لایه Presentation قرار دارد یعنی در لایه نمایش درست می شود و بدون احتیاج به سرور خاصی در کامپیوتر کاربر به راحتی قابل اجرا می باشد.

دو کامپایلربرایFlex داریم: mxmlc مخفف MXML Compiler یا compc مخفف Component Compiler این کامپایلرها می توانند هم در محیط Flex builder و هم در خط فرمان اجرا شوند (در صورتی که از SDK استفاده می نمایید)
منبع : فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]