مقدمه ای بر Adobe Flex
  Flex، یکی از جدیدترین تکنولوژی های Adobe چیست، چه خصوصیاتی دارد و چه امکاناتی را ارائه میدهد؟
   Adobe Flex
   ۳۴۰۰۳
   این مقاله حاوی فایل ضمیمه نمی باشد
   محمد (برنا) پورحسین
   ۱۳۸۶/۱/۱۱
ارسال لینک صفحه برای دوستان ارسال لینک صفحه برای دوستان  اضافه کردن به علاقه مندیها اضافه کردن به علاقه مندیها   نسخه قابل چاپ نسخه قابل چاپ

 

مقدمه اي بر Adobe Flex:

تکنولوژي Adobe Flex جامع ترين روش براي توسعه و اجراي Rich Internet Application) RIAs ها) يا همان تکنولوژي سمت سرور (Server-Side) شرکت Adobe بر روي وب و به صورت enterprise ميباشد؛ که براي کمک به برنامه نويسان و شرکت هاي برنامه نويسي براي ارائه هر چه بهتر اين تکنولوژي (RIAs) طراحي شده است. هم اکنون در سراسر دنيا، صدها شرکت و موسسه مختلف از Flex براي اموراتي چون: data dashboard هاي محاورهاي (interactive)؛ سيستم هاي self-service کارمند و مشتري؛ سيستمهاي انتخاب، تغيير مشخصات و خريد و فروش محصولات به صورت online؛ سيستم هاي businees-to-business (نوعي سيستمهاي peir-to-peir) و ... استفاده ميکنند.
تکنولوژي Flex، دستيابي به عالي ترين و جامع ترين ماژول هاي برنامه نويسي و توسعه وب را ميسر ساخته (Flex framework)، يک محيط برنامه نويسي (IDE) کاملا يکپارچه و در عين حال Eclipse-base (ّFlex Builder)، به همراه يک سرويس مديرت داده ي بسيار قوي (Flex data service) ارائه مينمايد، که اين امکان را به تمام موسسات و شرکتهاي گوناگون ميدهد که سريعترين راه و روش، با بالاترين ميزان بهره وري را ارائه دهند و در پي آن درآمدهاي اينترنتي خود را به طرز چشمگيري افزايش دهند.

Application هايي که با تکنولوژي Flex پياده سازي ميشوند از کارآمدي بسيار بالايي برخوردارند، آنهم به دليل استفاده از Flash Player به عنوان platform اجرايي. با اطمينان ميتوان گفت که امروزه بيش از 97 درصد سيستم هايي که به اينترنت وصل هستند اين نوع runtime player را روي خود نصب دارند و از اين جهت Flash player بسيار فراگير بوده و برنامه نويس ديگر نگران عدم اجراي Application طراحي شده توسط وي، به دليل عدم نصب Flash player بر روي سيستم کاربر نخواهد بود. از طرف ديگر، Flash player يک runtime platform بسيار مستحکم ارائه ميدهد که يک ماشين مجازي (virtual machine) بسيار کارآمد را با يک پشتيباني يکپارچه براي اموري همچون: textهاي چندزبانه، چاپ (printing)، دستکاري داده و امور چند رسانه اي (Multimedia) ادغام کرده و در اختيار تمام developer ها قرار ميدهد. در راس اين ويژگي ها، Flex framework مجموعه اي از کامپوننت هاي طراحي user Interface را طبقه بندي کرده و به وسيله ي ارائه اين کامپوننتها اصلي ترين راه و رسم طراحي و قابل استفاده نمودن Application ها را به صورت مرتب و بسته بندي شده! در اختيار ما قرار ميدهد...
در ضمن، Flex و Flash player قويترين اتصالي را که در SOC مورد نياز است فراهم ميکنند. بدين طريق که Flex کامپوننتهاي سمت کاربر (client-side) ي را ارائه ميدهد که اين امکان را به تمامي Application ها ميدهد که يک Challenge کاملا محاوره اي (intertactive) با يک remote server دلخواه به يکي از طرق زير داشته باشد:
HTTP ،REST services ،SOAP web services، يا يک پروتکل socket-based دلخواه و ...
يا حتي در مواردي که ما در انتقال داده ها به يکپارچگي سطح بالاتري نياز داريم، Flex data service يک پشتيباني اضافي با Java object هاي موجود (همگي به صورت client-side) شامل مديريت پيغام ها، امنيت انتقال داده، مديريت transaction ها و ... را به بهترين نحو فراهم ميسازد.
در انتها ميتوان گفت، Flex يک ماژول بسيار کارآمد ارائه ميدهد که به آساني با پروسس هاي موجود هماهنگ (integration) شده، پايه ي آن کاملا استاندارد بوده و از بهترين تکنولوژي هاي web base ارائه شده در ده سال اخير ميباشد. ماژول توسعه دهنده Flex بر پايه ي XML بوده و از آن براي طراحي user interface، آرايش و پياده سازي ECMAScript ها استفاده ميکند. محيط برنامه نويسي اين تکنولوژي (Integrated Development Environment = IDE) يا همان Adobe Flex Builder مجموعه اي از کدها، ابزار Debug و يک محيط کاملا ويژوال (visual interface) که در آن تمامي tools ها به صورت کاملا منظم و طبقه بندي شده ميباشند، فراهم آورده است که همين امر يادگيري اين تکنولوژي را براي هر developer حتي تازه کاري بسيار ساده تر کرده و از طرف ديگر به راحتي با سيستم مديريت source code حاضر هماهنگ و يکپارچه ميشود.
و علاوه بر تمام اين موارد، Flex يک سيستم کاملا غني پشتيباني امور مربوط به تست و حتي در مواردي به صورت functional مکانيزه کردن testing را ارائه داده و پشتيباني ميکند.

 نگاهي گذرا به محصولات خانواده Adobe Flex:

- SDK) Flex Software Development Kit) : کتابخانه ي کامپوننت هاي مرکزي و هسته اي، زبانهاي برنامه نويسي، کامپايلر Application هاي Flex و ...
- Flex Builder IDE : محيطي کاملا Eclipse-base شامل code editor ها، tools هاي ويژوال، tools هاي مديريت پروژه، Debugger و ...
- Flex Data Services : يک java server-based Application که امکاناتي از قبيل انتقال داده به صورت کاملا کارآمد، مديريت عدم تداخل (conflict) داده، انتقال سنکرون داده، سيستم data messaging آني و ... ارائه ميدهد.
- Flex Charting : کتابخانه ي قابل توسعه از کامپوننتهاي نمودار سازي که به سادگي امکان ساخت يک ساختمان تجسمي از Application هاي موجود را به ما ميدهد.

جمع بندي:

Flex يک قالب طراحي مدرن، کاملا استاندارد و چند زبانه ارائه ميدهد و شامل محصولاتي همچون يک محيط runtime اجرايي (Flex framework)، ماژول هاي برنامه نويسي (Flex SDK)، يک محيط برنامه نويسي (Flex Builder)، يک سرويس مديريت داده کاملا پيشرفته (Flex data service) و يک نرم افزار طراحي نمودار (Flex Charting) مي باشد. Application هاي طراحي شده توسط اين تکنولوژي از مضيت Flash player استفاده ميکنند که به تمام برنامه نويسان اين امکان را ميدهد که با طراحي يک سيستم client-side و توسعه دادن قابليت هاي browser کاربران به وسيله آن، معماري سيستمي را پايگذاري کنيد که با سرعت بالا و با دقت زياد پاسخگوي تمامي نيازهاي کاربران باشد.

در پايان، لازم به ذکر است که اين مقاله تنها مقدمه اي بر تکنولوژي Flex و خصوصيات آن بود و در اين مبحث به نکات ريزتر آن هيچ اشاره اي نشد. در مقاله هاي بعد به مسائل جزئي تر از جمله: جزئيات بيشتري از Flex، توضيحات بيشتر در مورد Flex framework، توضيح هر کدام از محصولات خانواده Flex در مقالاتي جداگانه، نحوه نصب، نحوه طراحي، ديگر تکنولوژي هاي هماهنگ با Flex و ... در اين باب خواهم پرداخت. در هر حال، در صورت به وجود آمدن هر گونه شبهه، عدم درک واژه اي خاص و يا حتي پيشنهاد يا انتقاد يا تذکر مورد خاصي ميتوانيد با استفاده از box زير مسئله مورد نظرتان را براي من ايميل کرده و من را در طيَ اين مسير ياري نمائيد. ممنون...
بر گرفته از: AdobeLab - Adobe Technical White Paper