View Full Version : سوال: qml و html مزیت های هر کدام نسبت به دیگری
ravand
پنج شنبه 19 فروردین 1395, 04:54 صبح
سلام
میخوام مزیت های html و qml رو با هم یه بررسی بکنیم. میخوام ببینم از کدوم استفاده کنم بهتره؟
همینطوری که میدونید با کمک WebView میشه کدهای html را اجرا کرد. من یه مدتی هست دارم با qml کار میکنم. یه جورایی کار کردن با html ساده تر و راحت تره ، تا کار کردن با qml .
فکر میکنم خود qml بیشتر وقتمو میگیره تا html.
برخی دستورات مثل گرد کردن برخی از گوشه های یک مستطیل به جای همه ی گوشه های مستطیل در html پشتیبانی میشه ولی در qml نه.
با html نتونستم با سی پلاس پلاس و گولنگ ارتباط برقرار کنم ولی با خود qml تونستم.
نظر شما چیه؟
کامبیز اسدزاده
پنج شنبه 19 فروردین 1395, 06:26 صبح
سلام
میخوام مزیت های html و qml رو با هم یه بررسی بکنیم. میخوام ببینم از کدوم استفاده کنم بهتره؟
همینطوری که میدونید با کمک WebView میشه کدهای html را اجرا کرد. من یه مدتی هست دارم با qml کار میکنم. یه جورایی کار کردن با html ساده تر و راحت تره ، تا کار کردن با qml .
فکر میکنم خود qml بیشتر وقتمو میگیره تا html.
برخی دستورات مثل گرد کردن برخی از گوشه های یک مستطیل به جای همه ی گوشه های مستطیل در html پشتیبانی میشه ولی در qml نه.
با html نتونستم با سی پلاس پلاس و گولنگ ارتباط برقرار کنم ولی با خود qml تونستم.
نظر شما چیه؟
میخوام مزیت های html و qml رو با هم یه بررسی بکنیم. میخوام ببینم از کدوم استفاده کنم بهتره؟
سرعت و انعطاف پذیری QML بسیار بالا تر از HTML هست و معمولا در فریم ۶۰ ثابت میمونه
برای اطلاعات بیشتر این مقاله رو دریافت کنید : http://qihome.org/qiliang/files/2010/09/HTML5_QML_Comparison_redist.pdf
همینطوری که میدونید با کمک WebView میشه کدهای html را اجرا کرد. من یه مدتی هست دارم با qml کار میکنم. یه جورایی کار کردن با html ساده تر و راحت تره ، تا کار کردن با qml .
نظر شما چیه؟
به طور کلی WebView جهت نمایش صفحات وب هست یعنی محتوای HTML اما قابلیت استفاده از HTML هم در حالت استاندارد ویجت و هم مدرن QML قابل استفاده هست: http://doc.qt.io/qt-5/richtext-html-subset.html
فکر میکنم خود qml بیشتر وقتمو میگیره تا html.
نظر شما چیه؟
بسیار راحتر از HTML هست! سریعتر میشه توسعه داد و اینکه داخلش میتونید خود HTML رو ادغام کنید.
برخی دستورات مثل گرد کردن برخی از گوشه های یک مستطیل به جای همه ی گوشه های مستطیل در html پشتیبانی میشه ولی در qml نه.
فعلا برای این مورد هیچ راه حلی وجود ندارد با برخی از محدودیت های موافقم این چیزیه که خودشون هم بهش اشاره کردن:
If radius is non-zero, the rectangle will be painted as a rounded rectangle, otherwise it will be painted as a normal rectangle. The same radius is used by all 4 corners; there is currently no way to specify different radii for different corners.
البته میشه به صورت سفارشی هر طرحی رو که لازم دارید تو سی++ بنویسید بفرستید به QML فقط یکم کار داره: http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html
و این مثال: http://doc.qt.io/qt-5/qtquick-customitems-painteditem-example.html
نظر شما چیه؟
نظر من بر این هست از ترکیب این دو فناوری استفاده کنید بهترین حالت ممکن.
ravand
پنج شنبه 19 فروردین 1395, 07:27 صبح
نظر من بر این هست از ترکیب این دو فناوری استفاده کنید بهترین حالت ممکن.
ترکیبش چطوریه؟ استفاده از WebView منظورتونه یا چیز دگه؟
میشه یه مثال بزنید؟
کامبیز اسدزاده
پنج شنبه 19 فروردین 1395, 07:46 صبح
ترکیبش چطوریه؟ استفاده از WebView منظورتونه یا چیز دگه؟
میشه یه مثال بزنید؟
به چند روش میتونید ترکیب کنید:
۱.ساخت HTML در خود سی++ و مقدار دهشی و سپس ارسال اون به فایل HTML و بعد نمایش فایل HTML توسط WebView
۲.استفاده از تگ های HTML داخل محتوا و اینجور چیزها که تو این لینک توضیح داده شده: http://doc.qt.io/qt-5/richtext-html-subset.html
ravand
پنج شنبه 19 فروردین 1395, 08:00 صبح
۲.استفاده از تگ های HTML داخل محتوا و اینجور چیزها که تو این لینک توضیح داده شده: http://doc.qt.io/qt-5/richtext-html-subset.html
این لینکی که دادید یه مثال توش نبود امتحان کنم. فقط چند تا تگ گذاشته بود که چیزی ازش سر در نیاوردم.
stackprogramer
پنج شنبه 19 فروردین 1395, 10:14 صبح
سلام،داخل پروژه که می خواهید بسازید Qt quick را انتخاب کنید.(به جای html5)
وقتی پروژه از نوع بالا باشد شما قادرید از C++,Qml,js,html استفاده کنید.
html زبان برنامه نویسی نیست یک استاندارد است،ولی QMl خیلی متد در اختیارت می زاره،حتی در کنار ان متدهای جاوا اسکریپت
داخل مثال های کیوت خیلی پروژه کوییک خوبی موجوده
ravand
پنج شنبه 19 فروردین 1395, 11:41 صبح
سلام،داخل پروژه که می خواهید بسازید Qt quick را انتخاب کنید.(به جای html5)
وقتی پروژه از نوع بالا باشد شما قادرید از C++,Qml,js,html استفاده کنید.
من توی qt creator چیزی به نام html5 نمی بینم. وقتی پروژه میسازم. گزینه ی Qt Quick Application را انتخاب میکنم.
html زبان برنامه نویسی نیست یک استاندارد است،ولی QMl خیلی متد در اختیارت می زاره،حتی در کنار ان متدهای جاوا اسکریپت
داخل مثال های کیوت خیلی پروژه کوییک خوبی موجوده
برای مثال به خاطر اینجور کدهاست که میگید یک زبانه؟
MouseArea { anchors.fill: parent
hoverEnabled:true
cursorShape: Qt.PointingHandCursor
onClicked: {
tabe(id)
}
}
کامبیز اسدزاده
پنج شنبه 19 فروردین 1395, 14:45 عصر
html زبان برنامه نویسی نیست یک استاندارد است،ولی QMl خیلی متد در اختیارت می زاره،حتی در کنار ان متدهای جاوا اسکریپت
داخل مثال های کیوت خیلی پروژه کوییک خوبی موجوده
جهت اطلاع شما باید عرض کنم که HTML یک زبان نشانه گذاری هستش چه کسی گفته زبان نیست!
درضمن QML هم یک زبان هست مثل HTML اما با قابلیت های بیشتر و انعطاف پذیری بالاتر که بر پایه جاوا اسکریپت ایجاد شده.
من توی qt creator چیزی به نام html5 نمی بینم. وقتی پروژه میسازم. گزینه ی Qt Quick Application را انتخاب میکنم.
پروژه های مستقیم HTML5 در Qt منسوخ شده اند و در حال حاضر شما میتونید اینهارو ادغام بکنید مثلا کد زیر یک مثال ساده از ادغام HTML با QML هست.
Text {
text:'
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
'
}
ravand
پنج شنبه 19 فروردین 1395, 15:20 عصر
جهت اطلاع شما باید عرض کنم که HTML یک زبان نشانه گذاری هستش چه کسی گفته زبان نیست!
درضمن QML هم یک زبان هست مثل HTML اما با قابلیت های بیشتر و انعطاف پذیری بالاتر که بر پایه جاوا اسکریپت ایجاد شده.
من فکر میکنم بهش بگیم یک واسط گرافیکی بهتر باشه.
پروژه های مستقیم HTML5 در Qt منسوخ شده اند و در حال حاضر شما میتونید اینهارو ادغام بکنید مثلا کد زیر یک مثال ساده از ادغام HTML با QML هست.
Text {
text:'
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
'
}
این روش رو من قبلاً امتحان کرده بودم. خیلی از تگ های html رو پشتیبانی نمیکنه.
کامبیز اسدزاده
پنج شنبه 19 فروردین 1395, 16:09 عصر
من فکر میکنم بهش بگیم یک واسط گرافیکی بهتر باشه.
این روش رو من قبلاً امتحان کرده بودم. خیلی از تگ های html رو پشتیبانی نمیکنه.
میتونید از WebView استفاده کنید که همه چیرو پشتیبانی میکنه.
stackprogramer
پنج شنبه 19 فروردین 1395, 18:00 عصر
جهت اطلاع شما باید عرض کنم که HTML یک زبان نشانه گذاری هستش چه کسی گفته زبان نیست!
درضمن QML هم یک زبان هست مثل HTML اما با قابلیت های بیشتر و انعطاف پذیری بالاتر که بر پایه جاوا اسکریپت ایجاد شده.
سلام داداش منظورم را بد متوجه شدید منظورم این است که زبان برنامه نویسی نیست،بلهhtml,css یک زبان نشان گذاری (استانداردی که من گفتم) است
زبان برنامه نویسی مثل جاوا اسکریپت و کیو ام ال است.
http://stackoverflow.com/questions/145176/is-html-considered-a-programming-language
stackprogramer
پنج شنبه 19 فروردین 1395, 18:59 عصر
پروژه های مستقیم HTML5 در Qt منسوخ شده اند و در حال حاضر شما میتونید اینهارو ادغام بکنید مثلا کد زیر یک مثال ساده از ادغام HTML با QML هست.
داداش از چه نسخه ای منسوخ شده،من Qt5.2.1 4android دارم Qt html5 داره داخل Qt5.6 حذف شده؟
ravand
جمعه 20 فروردین 1395, 01:34 صبح
میتونید از WebView استفاده کنید که همه چیرو پشتیبانی میکنه.
همینطوری که گفتم قبلاً تست کردم. اصلا میشه باهاش یه مرورگر ساخت.
میخواستم بدونم در این WebView هم میشه با کدهای html با سی پلاس پلاس ارتباط برقرار کرد؟ مثل خود qml.
کامبیز اسدزاده
جمعه 20 فروردین 1395, 03:35 صبح
داداش از چه نسخه ای منسوخ شده،من Qt5.2.1 4android دارم Qt html5 داره داخل Qt5.6 حذف شده؟
از ۵.۴ به اینور دار فانی رو بسته و کلا WebKit یه ماژول از نوع منسوخ شده هست.
بر اساس تجربه ای که من در رابطه با نسخه های کیوت دارم به این نتیجه رسیدم که تو این کتابخونه همیشه باید آپدیت باشی یهو میبینی یه ماژول تو نسخه بعدی حذف شد و کل پروژت رفت رو هوا :لبخند:
توصیه میکنم همیشه Change log هارو دنبال کنید.
همینطوری که گفتم قبلاً تست کردم. اصلا میشه باهاش یه مرورگر ساخت.
میخواستم بدونم در این WebView هم میشه با کدهای html با سی پلاس پلاس ارتباط برقرار کرد؟ مثل خود qml.
خوشبختانه با حذف Webkit ماژول Webengine خیلی بیشتر از قبل توسعه پیدا کرده در حال حاضر میشه با روش های مختلفی ارتباط بین ++C و QML و HTML برقرار کرد به این روش نگاه کنید: http://doc.qt.io/qt-5/qtwebchannel-examples.html
درضمن در نسخه ۵.۷ ویژگی های بیشتری به وب انجین اضافه میشه این روند با سرعت بسیار زیادی در حال توسعه هست و اینطور که من میبینم صنعت نرم افزاری در این زمینه در حال تغییرات خیلی عالی هست از یه طرف پشتیبانی کامل از سرویس های اندروید از یه طرف پشتیبانی کامل و ادغام وب و دسکتاپ همه و همه خیلی عالی هستند.
البته یه روش ساده ای هم هست برای استفاده محتوای وب در برنامه اینه که تو سی++ HTML رو مقدار دهی کنید و ذخیره کنید و بعد با webview نمایش بدین من از این روش استفاده کردم خیلی عالی عمل میکنه.
ravand
جمعه 20 فروردین 1395, 05:39 صبح
خوشبختانه با حذف Webkit ماژول Webengine خیلی بیشتر از قبل توسعه پیدا کرده در حال حاضر میشه با روش های مختلفی ارتباط بین ++C و QML و HTML برقرار کرد به این روش نگاه کنید: http://doc.qt.io/qt-5/qtwebchannel-examples.html
درضمن در نسخه ۵.۷ ویژگی های بیشتری به وب انجین اضافه میشه این روند با سرعت بسیار زیادی در حال توسعه هست و اینطور که من میبینم صنعت نرم افزاری در این زمینه در حال تغییرات خیلی عالی هست از یه طرف پشتیبانی کامل از سرویس های اندروید از یه طرف پشتیبانی کامل و ادغام وب و دسکتاپ همه و همه خیلی عالی هستند.
البته یه روش ساده ای هم هست برای استفاده محتوای وب در برنامه اینه که تو سی++ HTML رو مقدار دهی کنید و ذخیره کنید و بعد با webview نمایش بدین من از این روش استفاده کردم خیلی عالی عمل میکنه.
این چیزی که گذاشتید رو چطوری امتحان کنم؟ یه مثال ساده ازش نیست که امتحان کنم؟
کامبیز اسدزاده
جمعه 20 فروردین 1395, 12:18 عصر
این چیزی که گذاشتید رو چطوری امتحان کنم؟ یه مثال ساده ازش نیست که امتحان کنم؟
دقیقا مثال بود که دادم!!! کد هاش رو بررسی کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.