انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: { AliReaza } در 02 خرداد 1394، 03:17 بظ
-
سلام دوستان
قراره یک برنامه بنویسم، که Cross-Platform باشه. به این صورت که در Android هم قابل استفاده باشه. 8)
خودم PHP بلدم. دنبال روش هایی گشتم تا بشه PHP را مثل یک Desktop Application درست کنم و به PHP Nightrain رسیدم. اما مشکل با Android هست. :'(
می خوام از Python استفاده کنم. اما تاحالا برنامه کاملی با Python ننوشتم و این اولین برنامه من هست ;D
متاسفانه وقت نکردم سراغ JAVA برم (تازه باید یاد بگیرم ](*,) ) و برای این برنامه وقت کافی ندارم تا سراغ JAVA برم. :-X
از عموگوگل پرسیدم و به این نتیجه رسیدم که Python بهترین گزینه برای منه.
چطوری می تونم مطمئن بشم که برنامه در همه جا کار میکنه و نیازی به دوباره نوشتن برنامه برای هر سیستم عامل نداشته باشم؟ و نیازی به آزمایش برنامه در سیستم عامل های مختلف نداشته باشم؟ ( یک بار بنویسم و مطمئن باشم در همه جا کار میکنه. )
-
اگر مایل به استفاده از پایتون هستید، می تونید از pyqt یا kivy استفاده کنید
http://www.riverbankcomputing.com/software/pyqt/intro
http://kivy.org
ولی شرکت های تجاری بیشتر از c++ و کتابخانه qt استفاده می کنند
-
فلش! :D
راه حل برای cross شدن Qt - Java - Flash
ولی برای آندروید فرقی نمیکند Qt باشد یا فلش چون هیچکدام نیتیو نخواهند بود.
-
فلش! :D
راه حل برای cross شدن Qt - Java - Flash
ولی برای آندروید فرقی نمیکند Qt باشد یا فلش چون هیچکدام نیتیو نخواهند بود.
اگر قرار باشه وقت بذارم برای یادگیری، میرم سمت JAVA.
اما متاسفانه وقت کافی برای یادگیری ندارم.
اگر مایل به استفاده از پایتون هستید، می تونید از pyqt یا kivy استفاده کنید
http://www.riverbankcomputing.com/software/pyqt/intro
http://kivy.org
ولی شرکت های تجاری بیشتر از c++ و کتابخانه qt استفاده می کنند
رفتم توکار PyQt تا ببینم چطوریاست.
دوستان عزیز دیگر، منتظر نظرات و راهنمایی های سبزتان هستم
-
سلام
من نمیدونم python چه شکلیه یعنی نیاز به تغییر کد داره تو سیستم عامل ها یا همونو میتونی اجرا کنی ؟
ولی راستیتش توی جاوا به این شکل نیست که همون برنامه ایی که تو توی دستکاپ نوشتی رو بتونی توی اندروید اجرا کنی و نیاز به تغییراتی داره ولی توی سیستم عامل های دستکاپ مشکلی نیست و میتونی برنامه ی جاوا رو اجرا کنی
-
سلام
سلام
من نمیدونم python چه شکلیه یعنی نیاز به تغییر کد داره تو سیستم عامل ها یا همونو میتونی اجرا کنی ؟
من هم در اصل دنبال همین جواب هستم.
-
من نمیدونم python چه شکلیه یعنی نیاز به تغییر کد داره تو سیستم عامل ها یا همونو میتونی اجرا کنی ؟
من هم در اصل دنبال همین جواب هستم.
شما هرجایی که مفسر پایتون رو داشته باشید میتونید کدتون رو اجرا کنید. یعنی شما برا انتقال برنامه های پایتون از سیستمی به سیستمی دیگه ، کد برنامه رو جابجا میکنید نه فایل اجرایی رو. اینم دلیلش مفسری بودن پایتونه. برخلاف زبانی مث سی که باید قبل از اجرا کامپایل بشه پایتون نیازی به این کار نداره و تفسیر و اجرا در یک مرحله انجام میشن. ینی هرخط کد به محض تفسیر اجرا هم خواهد شد. پس شما هرجایی که بتونید مفسر پایتون رو داشته باشید ، قادر خواهید بود کد مورد نظرتون رو هم اجرا کنید. البته باید در مورد کتابخانه های شخص ثالثی که عمولا برای برخی از راه حل ها وابسته به یه پلت فرم خاص منتشر میشه باشید.
-
شما هرجایی که مفسر پایتون رو داشته باشید میتونید کدتون رو اجرا کنید. یعنی شما برا انتقال برنامه های پایتون از سیستمی به سیستمی دیگه ، کد برنامه رو جابجا میکنید نه فایل اجرایی رو. اینم دلیلش مفسری بودن پایتونه. برخلاف زبانی مث سی که باید قبل از اجرا کامپایل بشه پایتون نیازی به این کار نداره و تفسیر و اجرا در یک مرحله انجام میشن. ینی هرخط کد به محض تفسیر اجرا هم خواهد شد. پس شما هرجایی که بتونید مفسر پایتون رو داشته باشید ، قادر خواهید بود کد مورد نظرتون رو هم اجرا کنید. البته باید در مورد کتابخانه های شخص ثالثی که عمولا برای برخی از راه حل ها وابسته به یه پلت فرم خاص منتشر میشه باشید.
خیلی ممنون. از این جهت خیالم راحت شد. \\:D/
فعلا مشکل من پیدا کردن یک GUI مناسب هست. :'(
kivy همه چیزش خوبه، اما تا الان نتونستم راه حلی برای " فارسی نویسی " پیدا کنم. :-X
با بقیه GUI ها مشکل اجرا نشدن در همه سیستم عامل ها را دارم. :( ( مثلا برای PyQt و WX نتونستم پیدا کنم که در Android اجرا بشن و... )
دوستان کسی راه حلی داره که چطوری در kivy می توان فارسی نوشت؟ ???
راستی مشکل فارسی نویسی در PyQt ندارم، اما بجاش نمی دونم چطوری در Android اجراش کنم.
تازه بعد از فارسی نویسی دو مشکل RTL و یک منبع آموزشی برای kivy هم باید اضافه کرد. ](*,)
در کل اگر ۴ مشکل زیر برطرف بشه، من شروع می کنم به نوشتن برنامه:
۱- فارسی نویسی
۲- RTL
۳- یک منبع آموزشی مناسب با GUI
۴- اجرا شدن در GNU/Linux, Windows, MacOS, Android و در صورت امکان iOS
-
با fribidi میشه یه کارایی در مورد فارسینویسی کرد .
منبعش هم خود مستنداتش !
در همهی این سکوهایی که فرمودید هم اجرا میشه ولی چون باید مفسر پایتون و کتابخونههای کیوی رو داشته باشه ، حجم برنامه بیشتر از یک مثلاً برنامهی جاوا در اندروید میشه .
-
من با توجه به تجربیاتی که خودم دارم موارد زیر به ذهنم میرسه
چطوری می تونم مطمئن بشم که برنامه در همه جا کار میکنه و نیازی به دوباره نوشتن برنامه برای هر سیستم عامل نداشته باشم؟ و نیازی به آزمایش برنامه در سیستم عامل های مختلف نداشته باشم؟ ( یک بار بنویسم و مطمئن باشم در همه جا کار میکنه. )
اولا اینکه تقریبا غیر ممکنه که کد رو یکبار بنویسی و بدون آزمایش تو سیستمعاملها مختلف کار کنه. حتما نیاز به آزمایش داره و معمولا به دلایل متفاوت نیاز به دیباگ و تغییرات کوچک داره
برای اجرای پایتون رو اندروید هم باید مفسر پایتون و لایبرریها رو کامپایل کنید و به apk اضافه کنید. پس اگه میخواد qt روی اندروید داشته باشید باید مفسر پایتون و qt رو با استفاده از NDK کامپایل کنید و توی apk توی اضافه کنید تا اپلیکیشن کار کنه.
تا اونجایی هم که من میدونم احتمالا اینکه حتی کدی رو به جاوا بنویسید و روی دسکتاپ و اندروید اجرا بشه باز هم کمه. یعنی ساختار پنجره بندی و کار کردن اندروید به علت موبایل بودن با اکثر سیستم عاملهای دسکتاپ فرق داره پس کد اندروید به احتمال زیاد روی دسکتاپ به سختی اجرا میشه!
امیدوارم اینا به درد خورده باشه
-
شماره یک کراسپلتفرم کیوت (Qt) هست.
کدی که با کیوت نوشته میشه در اکثر سیستمعاملها اجرا میشه. من جمله اندرویدی که اشاره فرمودید.
اگر میخوای با کیوت کار کنی چرا لقمهرو دور سرت میچرخونی؟ با همون سیپلاسپلاس کار کن که مشکل مفسر نداشته باشی.
با یونیکد و بالطبع فارسی مشکلی نداره.
۲۰ ساله داره توسعه پیدا میکنه و هر روز داره کاملتر میشه.
-
سلام به همه دوستان
تا اینجا نتیجه این شد که نمی توان صد در صد یک برنامه نوشت و در همه جا استفاده کرد. ( اما با توجه به جستجوهایی که داشتم kivy و Qt گفتن که " یک بار بنویس و همه جا استفاده کن " چنتا نمونه کوچولو با kivy درست کردم، مشکلی نداشتم و همه جا کار می کنه بخصوص در Android )
فعلا که وقت کافی برای رفتن سمت زبان های دیگر ندارم. اما اگر فاز اول کار تایید بشه. برای فاز دوم به بعد می تونم زمان بخرم، میرم سمت Cpp.
فعلا برای فاز اول یک هفته وقت دارم، با kivy کار میکنم و نتیجه را اینجا اعلام میکنم.
-
سلام.
اگر میخوای برنامهای داشته باشی که روی همهچیز(!) اجرا بشه، به نظرم راحتتری که برنامهت رو به دوتا برنامه (یکی برای دسکتاپ و یکی برای اسمارتفون) تقسیم کنی.
برای اسمارتفون من Phonegap (http://phonegap.com/) رو پیشنهاد میکنم که روی همهچیز اجرا میشه (اندروید، ویندوزفون، آیاواس، فایرفاکساواس و...)! برای دسکتاپ هم Electron (http://electron.atom.io/) خوبه به نظرم. هر دوی اینا به برنامه به چشم یه WebApplication نگاه میکنن پس تقریبا دوتا برنامهت یه کد مشابه (با کمی تغییر) خواهد داشت.
خوبی دیگه اینه که به سادگی میتونی برنامهت رو به یه WebApplication هم تبدیل کنی!
از همهی اینا گذشته نیاز به یادگیری زبان خاصی نیست. اینا با ابزارهای روتین HTML + CSS + Javascript کار میکنن.
آخرین و بزرگترین مزیت هم گزینههای بیشمار روی میزه! چون دید این دوتا فریمورک جالب به برنامه مثل یه WebApplicaionئه ابزارای بیشماری مثل Bootstrap (http://getbootstrap.com/) و AngularJS (https://angularjs.org/) رو داری که زندگی رو آسونتر میکنن.
موفق باشی.
-
سلام.
اگر میخوای برنامهای داشته باشی که روی همهچیز(!) اجرا بشه، به نظرم راحتتری که برنامهت رو به دوتا برنامه (یکی برای دسکتاپ و یکی برای اسمارتفون) تقسیم کنی.
برای اسمارتفون من Phonegap (http://phonegap.com/) رو پیشنهاد میکنم که روی همهچیز اجرا میشه (اندروید، ویندوزفون، آیاواس، فایرفاکساواس و...)! برای دسکتاپ هم Electron (http://electron.atom.io/) خوبه به نظرم. هر دوی اینا به برنامه به چشم یه WebApplication نگاه میکنن پس تقریبا دوتا برنامهت یه کد مشابه (با کمی تغییر) خواهد داشت.
خوبی دیگه اینه که به سادگی میتونی برنامهت رو به یه WebApplication هم تبدیل کنی!
از همهی اینا گذشته نیاز به یادگیری زبان خاصی نیست. اینا با ابزارهای روتین HTML + CSS + Javascript کار میکنن.
آخرین و بزرگترین مزیت هم گزینههای بیشمار روی میزه! چون دید این دوتا فریمورک جالب به برنامه مثل یه WebApplicaionئه ابزارای بیشماری مثل Bootstrap (http://getbootstrap.com/) و AngularJS (https://angularjs.org/) رو داری که زندگی رو آسونتر میکنن.
موفق باشی.
خیلی ممنون از پیشنهادهایتان
والا بیشتر دنبال اینم که یک بار بنویس و همه جا استفاده کنم. ( فعلا با Python )
تا الان kivy تونسته جوابگو باشه و ازش راضی هستم. ( هرچند توبعضی قسمتها اذیت میکنه )
چند دقیقه پیش برنامه را تحویل دادم و فاز یک تموم شده. فعلا منتظر جواب نهایی هستم.
برام دعا کنید دوستان [-o<
اگر تایید بشه که خیلی عالی میشه.
اگر تایید نشه که میرم برای یادگیری JAVA و... \\:D/