من از آخر جواب ميدم:
يه چيز ديگه هم كه هست اينه كه چرا فلش نمي تونه فايلهاي exe رو درون خودش باز كنه. مگه فايلهاي exe هم نياز به مفسر دارن
البته كه نياز به مفسر دارند. مفسر زبان ماشين در windows فايلهاي exe را تفسير مي كند فايلهاي exe فقط مختص windows هستند و در سيستم عاملهاي ديگر مثل linux يا solaris كار نمي كنند. هر Operating System مفسر زبان ماشين خودش را دارد. هنگامي كه شما با زباني مثلا مثل C يك فايل Self-Executive ايجاد مي كنيد compiler زبان C آنرا به كد ماشين (Assembly) تبديل مي كند و هر جايي كه مفسر assembly مربوط به آن OS موجود باشد آن كد اجرا خواهد شد.
فلش يك زبان خيلي سطح بالا هست حداقل بايد در 3 مرحله compile بشود تا به زبان ماشين تبديل شود چطور ممكنه كه يك فايل exe را اجرا كنه؟ اين وظيفه OS هست.
همينطور هم در مورد اجراي فايلهاي HTML درون فلش! فلش يك plug-in نصب شده درون browser هست چطور امكان داره كه HTML را support كنه؟ يك صفحه ساده HTML براي اجرا نياز به دهها بلكه صدها element مختلف دارد. درون IE دهها مفسر گوناگون وجود دارند:
-HTML parser
-JavaScript Parser
-JScript Pasrser
-VBScript parser
-XML parser
-XSLT parser
-XSD parser
-CSS parser
-DOM implementor
-JPEG Decoder
-GIF Decoder
و دهها component ساده HTML!
Flash Player با حجمي حدود 400K چطور HTML رو Support كنه؟ اگر هم بخواهيم كه كد هاي HTML توسط مفسر خودشان اجرا شوند مشكلات زيادتري بروز خواهد كرد:
-دهها browser مختلف در دنيا هست. فلش كدام رو به عنوان html parser بايد انتخاب كنه؟
-در صورتي كه سيستم شخصي html parser نداشه باشد چي؟ آيا غير از اينه كه platfrom independent بودن فلش زير سوال ميره؟
-قرار دادن يك component ساده IE درون مثلا flash player مستلزم 2MB حجم اضافي است.
-به فرض موفقيت در انجام اين كار چه سودي عايد ما مي شود؟ اين همان كاري است كه browser ها انجام مي دهند. موقعي اين كار ارزش دارد كه امكان كنترل برنامه از طريق AS باشد يا بطور ساده تر امكان ارتباط بين flash player و html paser فرضي وجود داشته باشد كه باز مستلزم چند ده مگا بايت حجم اضافي است!
در مورد Java :
بعضي يا به طور كلي اكثر دستوراتي كه تو اكشن اسكريپت هستن در جاوا هم هستن
احتمالا با Java آشنايي نداريد! Java تركيبي از زبان برنامه نويسي براي client مانند C, زبان برنامه نويسي براي Application هاي Web-Based مانند ActionScript , زباني بسيار قوي براي كار با netword و همچنين قوي ترين platform تحت سرور مي باشد. تنها قسمتي از Java كه مشابه AS مي باشد Applet ها هستند. Applet ها از نظر كارايي بسيار گسترده تر از فايلهاي فلش مي باشند براي مثال از طريق يك applet به راحتي ميتوان از با يك database ارتباط برقرار كرد. همچنين applet ها بسيار خوب از socket و شبكه پشتيباني مي كنند. applet از RMI و Telnet پشتيباني مي كند كه قدرت بسيار زيادي رو به applet ها ميده. applet ها از يك زبان MultiThreaded استفاده مي كنند كه توانايي زيادي به برنامه نويس مي دهد به همراه support بسيار قوي از graphic. مثلا پشتيباني از DirectX يا توانايي texture mapping براي ايجاد بازي هاي 3 بعدي و يا توانايي image processing كه فاكتور خيلي مهمي براي كار با گرافيك است.
همونطور كه مي بينيد applet ها داراي توانايي هاي بسيار زيادي هستند كه در فلش وجود ندارد بنابراين امكان پياده سازي اونها در فلش حتي به فرض تسلط شخص به Java و AS هم اصلا وجود نداره.
من منظورم در سومي لزومي نداره كه مفسر بر روي پلير باشه.فكر نكنم ie اون طور باشه.من نمي خوان در مورد apllet ها حرف بزنيم.چون اكثر applet ها در مورد گرافيك هستن وممكنه تداخلي با فلش داشته باشن.
من منظورم برنامه نويسي و جاوا تحت وبه.
اصلا J2EE را نمي توان با فلش يا چيز ديگري مقايسه كرد. متاسفانه J2EE اونقدر گسترده هست كه من نمي توانم اينجا توضيح كاملي در موردش بدهم.
برنامه هاي روزمره اي كه مي بينيد و با اونها كار مي كنيد application هستند كه مثلا در مورد Java اين برنامه ها وقتي در صفحات وب قرار مي گيردند applet ناميده مي شوند. ولي برنامه هاي J2EE اصلا به اين صورت نيستند. J2EE بيشتر يك platform برنامه نويسي است به هيچ وجه نميتوان با فلش مقايسه اش كرد.
J2EE شامل 14 تكنولوژي گسترده بر روي سرور است مثل SOAP, RMI, Java Mail, JDBC, EJB, Servlet, JSP و ...
براي مثال اصول نرم افزار Yahoo Messenger بر RMI استوار است و از EJB و JDBC هم استفاده مي كند. و يا ColdFusion با هون همه عظمت بعد از تفسير به Servlet ها و EJB ها تبديل ميشه. از JMail ميتوان براي ايجاد يك mail server با قدرت gmail استفاده كرد و ...
اميدوارم متوجه تفاوتهاي Java و Flash شده باشيد. ممكن است كه syntax نوشتاري دو زبان بسيار به هم شبيه باشد - چون هر دو زبان از استاندارد ECMA-Script استفاده مي كنند ولي تفاوتهاي بسيار زيادي دارند.
تنها زباني كه امكان ايجاد فقط بعضي از توانايي هاي Java را دارد #Microsoft C مي باشد كه از اصول تبعيت از Java است.