ساخت نرم افزار با فلش

oopp

New Member
با سلام
من یک فلش کار مبتدی هستم. البته یک کتاب پونصد صفحه ای و همچنین آموزش های مقدماتی اکشن اسکریپت رو خونده ام و یاد گرفته ام.

اما هنوز بسیاری از چیزهایی رو که میخواستم توی آموزش ها ندیده ام
برای همین، این شبهه برام پیش اومده که مبادا فلش پروفشنال اون چیزی نیست که من دنبالشم

بذارید واضحتر بگم
آیا با فلش میشه یک نرم افزار تحت ویندوز قدرتمند ساخت؟ ( همون کاری که مولتی مدیا بیلدر انجام میده)
آیا خروجی فلش فقط فایل های swf هست؟ نمیشه خروجی فلش بصورت exe باشه؟
آیا با اکشن اسکریپت میشه عکسی رو بکگراند دسکتاپ ویندوز قرار داد؟
آیا با فلش میشه به رجیستری ویندوز دسترسی پیدا کرد و داده های اون کم و زیاد کرد؟
آیا میشه برنامه ای ساخت که بجای تسکبار، آیکن اون توی ترای بار (کنار ساعت ویندوز) نمایش داده بشه؟

اگر جواب مثبته، آموزش این کارها رو از کجا باید گیر بیارم؟
و اگه جواب منفیه، این کارها در کدوم برنامه کمکی فلش پرفشنال انجام میشه؟ در فلش کاتالیست؟ یا فلش بیلدر؟ یا ادوبی ایر؟

.................
این اولین مبحث من در این انجمنه. اگه زیاد حرف زدم یا جای ارائه ی پرسشم مناسب نبوده، به بزرگواری خودتون ببخشید...
 

benyamin_pc

Well-Known Member
سلام دوست عزیز
راهی که انتخاب کردین خوبه , منظورم مطالعه و پشتکارتونه
و این راه کلا خوبه و از شما چیزی میسازه که اولین ویژگیه خوبش اینه که راه محقق بودن و یادگیریو به خوبی بهتون یاد میده برا همین انتخابت درسته و درمورد درست بودنش شک نکن
اما انتخاب فلش :
فلش اولین و قدرت مند ترین نرم افزار مولتی مدیا ساز بوده و هست که ویژگی اصلیه قدرتش تحت وبه و تو این سکو و این ویژگی(مولتی مدیا) بهترینه
دومین زمینه قدرتش مالتی پلت فرم بودنش مثل جاوا هست که از موبایل تا انواع سیستم عامل ها و وب براتون قابل اجراست
نرم افزار قوی برای انیمیشن 2 بعدی و بسیاری از ویژگی های دیگه که احتمالا باهاش آشنائین
برای نوشتن یک برنامه قدرت مند تحت سیستم عامل خاصی می تونین از فلش به عنوان اینترفیس زیبا و منعطف استفاده کنین و از دستورات قدرتمندی مثل C# استفاده کنین البته اگه بخاین تو رجیستری تغییر بدین یا فایلی کپی کنین و یا چیزی مثل این توابع داس داخلی میتونه بهتون این امکان رو بده که همچنان فایلتونو swf نگه دارین و توسط فقط ی نت پد که اون دستورارو توش مینویسین و به صورت فایل اجرائی bat ذخیرشون کنین بهتون امکانات محدودی اضافه کنه اما این پافشاری روی فرمت swf نیازی نیست چون خود ادوب محصولی به نام ایر تولید کرده که توسط اون میتونین به راحتی همون فلشو با دستورات بیشتری تحت فرمت Air خروجی بگیرین که برای دسکتاپ قوی تره و تو آیندش چیزی شبیه C# باید باشه که میشه با دستورات as خروجی دسکتاپ قدرتمند تری گرفت اما فعلا هنوز ضعیفه
بالاترین مشکل اصلی فلش و ایر میشه فعلا تو نبود مالتی تردینگ دونست که از انجام کارهای سنگین جلوگیری میکنه که البته ی جورائی میشه شبیه سازیش کرد که بازم البته در این صورت هم کلی پرفورمنس پائین میاد
 

benyamin_pc

Well-Known Member
ضمنا فلش تحت تمام فرمت های نیتیو خروجی میده , مثل exe ویندوز یا فرمت dmg مک یا apk اندروید یا ipa آیفون
 
آخرین ویرایش:

oopp

New Member
دوست عزیز، بخاطر جواب سریعتون خیلی خیلی ازتون ممنونم

اما چند سؤال دیگه:
نرم افزاری که میخوام بسازم محتوی صدها فیلم و عکس و صداست. پس احتمالا بخاطر جلوگیری از سنگین شدن نمیتونه فرمتش swf باشه. درسته؟

آیا با اکشن اسکریپت میتونیم اطلاعاتی رو توی فایلی از ویندوز ذخیره کنیم (مثلا ذخیره اسم کاربر) یا این کار ساده هم باید با سی شارپ انجام بشه؟

چطوری میشه بین فلش و سی شارپ رابطه برقرار کرد؟ آیا باید کدهای سی شارپ همون جایی کپی بشه که کدهای اکشن اسکریپت رو می نویسیم؟

من که اول راه برنامه نویسی هستم اولویت یادگیریم، اکشن اسکریپت باشه یا سی شارپ؟ اگه سی شارپ، اونوقت اول باید ویژوال بیسیک یاد بگیرم یا میتونم از همون اول سی شارپو یاد بگیرم؟

گفتید: "فلش تحت تمام فرمت های نیتیو خروجی میده , مثل exe ویندوز "

آیا این خروجی exe مستقیما توسط خود فلش پروفشنال انجام میشه یا توسط برنامه ای دیگه؟ (مثل ادوبی ایر)

..................
بازم بخاطر حوصله تون تشکر میکنم (ولی لطفا ایندفعه زیاد از اصطلاحات فنی استفاده نکنید تا من مبتدی بهتر متوجه منظورتون بشم!)
 

benyamin_pc

Well-Known Member
فرمت های نیتیو تمام توسط خود فلش پرو خروجی داده میشن و Air هم یک نوع فرمت از خروجی هائی هست که فلش میده که ی سری دستور بیشتر توش اجرا میشه نسبت به اینکه خروجی swf باشه و Air کاری به exe نداره و 2 نوع خروجی جدا هستند
-------
شما میتونین اول فلش یاد بگیرین بعد C# یا اول C# بعد فلش و اینا بهم کاری ندارن و برای یادگیری C# کاری به vb یا چیزی ندارین و مستقیم از خودش شروع کنین چون این زبان اصلا پیشینه ای نداره و خودش از نو نوشته شده و حتی C++ هم پیشینش نیست
-------
نحوه ارتباط هم توسط flash ocx هست و محل کد نویسیشم وقتی با سی شارپ آشنا شدید دستتون میاد و نه همش تو سی شارپه نه همش تو فلش
-------
توسط فلش به راحتی میتونین چیزی توی فایل ذخیره کنین
-------
نرم افزار شما هرچی میخاد فیلم و عکس داشته باشه همشو با خود فلش میشه انجام داد منظور بنده از کار سنگین کار پردازشیه که این پردازش به درازا بیانجامه
فقط اینه که فلش شدیدا توش نقطه ضعف داره و برای انجامش نیاز به مالتی ترد هست که فلش نداره , البته ی جورائی میشه شبیه سازیش کرد و توسط همین شبیه سازی برنامه هائی از این قبیل که پردازش های چند روزه هم دارن باش طراحی کردم اما مشکلاتی همچون استفاده نکردن کامل از cpu و بعضا نمیشه پردازشیو توسط این تکنیک بهش حالت مالتی ترد داد و بازم فایده نداره
 

benyamin_pc

Well-Known Member
البته فلش هنوز نقاط ضعف زیادی داره و ایر هم برای تبدیل شدن به سکوئی قوی برای طراحی برنامه دسکتاپ راه درازی داره اما منظور من از نقطه ضعف شدید اینه که تو چیزهائی که داره نمیشه همه کاری باهاشون کرد یعنی بیشتر برای کارای لایته
 

benyamin_pc

Well-Known Member
البته بازم میگم نسبت به همتاهای خودش بسیار جلو تره و تو عرصه کاری خودش نیاز به کار لایت هم هست و برای چیزی که داره تبدیل میشه ضعف هائی هست وگرنه نسبت به سیلور لایت یا html5 بسیار قوی تر و منعطف تره
 

benyamin_pc

Well-Known Member
البته mdm ی بدی هائی مثل بالا بودن حجم فایل و گیر کردن و هنگ کردن برنامه بعضی وقتا داره و اینکه به نظر من اگه کسی میخاد با چیزی به فلشش وصله بزنه بهتره با چیزی این کارو کنه که باز اون خودش محدودیتی نداشته باشه و mdm خودش ی سری محدودیت داره که C# دیگه نداره
 

mehdadoo

Member
البته حرفه ای ترین راه استفاده از Haxe و Neko (به نوعی مشابه AIR) بوده چون با یک زبان هم میتونید برای فلش پلایر برنامه نویسی کنید، هم برای neko و هم dll های خاست خود رو بنویسید!

ولی mdm zinc همیشه کم هزینه تر هست.همین طور کل کار با Actionscript نوشته میشه که learning curve کم تری داره. تازه mdm zinc 4 هم توانایی ارتباط با dll ها رو داره. وگرنه کل فلش پلایر رو هم میشه از نو با c نوشت!
 

benyamin_pc

Well-Known Member
البته حرفه ای ترین راه استفاده از Haxe و Neko (به نوعی مشابه AIR) بوده چون با یک زبان هم میتونید برای فلش پلایر برنامه نویسی کنید، هم برای neko و هم dll های خاست خود رو بنویسید!

ولی mdm zinc همیشه کم هزینه تر هست.همین طور کل کار با Actionscript نوشته میشه که learning curve کم تری داره. تازه mdm zinc 4 هم توانایی ارتباط با dll ها رو داره. وگرنه کل فلش پلایر رو هم میشه از نو با c نوشت!


البته mdm کم هزینه ترین نمیشه اسمشو گذاشت نمیدونم چرا ی حرفه ای این حرف میزنه واقعا , منحنی آموزش برای کارای سطحی همیشه میتونه زیاد جابجا نشه و همون زمان آموزش mdm میشه رو C# گذاشت و اصلا C# با mdm تو ی خط نیستن و بعد از کلی هزینه رو mdm وقتی باز جوابگوی کارات نبود و با مشکلاتش برخورد کردی باز مثل من میذاریش کنار و میری سراغ C# چون mdm انتخاب کردی که از محدودیت در بیای نه چیز دیگه و باز به محدودیت و کلی مشکل سرعت و هنگ کردن و حجم بالای فایل و بازم نبود مالتی ترد برخورد میکنی که اصلا برنامه نویسی حرفه ای بدون مالتی ترد و ارتباطات قوی پایگاه داده ای بی معنیه تازه کار با سوکت تو C# خیلی راحته و خیلی امکانات فوق العاده که C# داره اما mdm نه و این انتخاب که دلیلش رهائی از محدودیت های فلش بوده به نظر من تکنیکی نیست
 

++Hadi++

Active Member
من تازگیا با qt آشنا شدم و سمپلاشو دیدم و می خوام برم سمت این پلتفرم ... فک کنم یکی از بهترین گزینه هاست. چرا که هم C++ هست و هم از زبانهای java , paytonهم پشتیبانی می کنه و البته مایا ورژن آخر رو هم autodesk با این پلتفرم نوشته و از نظر غنی سازی گرافیکی برای کارای گرافیکی ، خیلی عالی هست. سمپلاشو حتما ببینید....
 

mehdadoo

Member
همین طوره. از وقتی نوکیا qt رو خریداری کرد و ابزار های خوبی رو باهاش عرضه کرد خیلی ها به جای جاوا از c++ استفاده میکنند. البته باید دونست باز هر چیزی استفاده ای داره و برنامه نویسی برای فلش همیشه به صرفه ترین برای بسیاری پروژه ها هست.

پشتیبانی زینک هم از پروژشون اینگونه دفاع کرد که ابزار های swf2exe که به طور قطع زینک کامل ترینشونه، استفاده خاص خودشون رو دارند. در حالیکه میشه پروژه فلش رو با هر تکنولوژی مکمل کرد، یک swf2exe آپتیمایز شده و قابل اعتماد قطعا فلش معمولی رو به سطح بسیار بالایی ارتقا میده. البته وجود باگ ها در زینک به سال ها پیش از نسخه اینفرنو برمیگرده که دیگه جایی برای بحث نداره.

به نظر من هم واضحه، زینک جاییه که میشه با 20 درصد تلاش 80 درصد مشکل رو حل کرد. زینک 4 واقعا کامل هستش و من هم از خریدش راضیم. امیدوارم این رو نخونه، اما یکی از برنامه نویس های نه کاملا حرفه ایم تمام مشکلات پروژه رو میتونه خودش حل کنه، بدون اینکه برای دونستن چیزی مثل c# حقوق بیشتری رو طلب کنه!

البته اگر روزی خاستم سیستم مدیریت جنگ برای وزارت دفاع بنویسم، قطعا از اول فلش رو فراموش می کردم و یک سره از c++ استفاده میکردم!
 

++Hadi++

Active Member
و من هم می خوام در زمینه c++ به جایی خودمو برسونم (غنی سازی توابع و کلاسها) که یه پروژه بزرگ رو تو زمان خیلی کم انجام بدم... البته با تمامی حرفهای شما موافقم که فلش خیلی زود و قوی جواب می ده و هر چیزی جایگاه و مقام خودشو داره ...
 

benyamin_pc

Well-Known Member
پشتیبانی زینک هم از پروژشون اینگونه دفاع کرد که ابزار های swf2exe که به طور قطع زینک کامل ترینشونه، استفاده خاص خودشون رو دارند. در حالیکه میشه پروژه فلش رو با هر تکنولوژی مکمل کرد، یک swf2exe آپتیمایز شده و قابل اعتماد قطعا فلش معمولی رو به سطح بسیار بالایی ارتقا میده
ولی با این جمله موافق نیستم . زینک نه قابل اعتماد هست نه اپتیم و کار با اون و فلش در مقابل C# و فلش مثله پچ کردن ی پتوی هزار تیکه میمونه در مقابل ی چادر ابریشمی
البته هرکی مختار هر کار میخاد انجام بده و بحثی نیست
Qt هم ی فریم ورک مثل دات نت هست که دات نت بسیار غنی تره و هیچ امتیازی حتی مثل نیتیو بودن هم نداره و فقط چون فریم ورکش برای جاهای بیشتری هست گزینه بدی نیست
 

benyamin_pc

Well-Known Member
Qt نیتیو هست... من تا اونجاییکه می دونم ؟؟؟؟

آقا هادی نیتیو نیست , اصلا ی چیزی میگین که برعکس مالتی پلت فرم بودن هست
فریم ورک Qt ی چیزی مثل جاوا یا دات نت یا فلش پلیر هست که البته از دات نت خیلی ضعیف تر و تکامل نیافته تره و اشکال هم داره
 

benyamin_pc

Well-Known Member
بهترین محیط برای علاقه مندان برنامه نویسی C++ دات نت هست که هم میشه باهاش همچنان خروجی نیتیو گرفت و هم میشه با امکانات بالای دات نت تحت فریم ورک دات نت و با سینتکس C کد زد
البته embarcadero rad c++ XE قوی ترین و سریع ترین محیط کد زنی C++ به شکل نیتو هست که همون borland c++ Builder قدیمیه ی جورائی
 

benyamin_pc

Well-Known Member
نیتیو کلا یعنی بومی ی چیزی , و وقتی واژه مالتی پلت فرم بیاد نمیتونه نیتیو هم باشه چون مثلا اگه نیتیو ویندوز باید فایل ساختار اجرائیه فایل Exe ویندوز رعایت کرده باشه اگه نیتیو اندروید هست باید ساختار فایل اجرائی Apk تحت اندروید رعایت کرده باشه و اون چه نیتیوی هست که همه ساختارهای اجرائی همه سیستم عامل هارو رعایت کنه! نمیشه , اگه همه سیستم عامل ها ی نوع فایل اجرائی با ی ساختار میساختن دیگه اصلا مالتی پلت فرم شدن بی معنا بود چون اصلا این واژه ساخته نمیشد
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا