it-swarm.asia

كيفية إنشاء تطبيقات C++ أصلية باستخدام HTML/CSS UI؟

هل من الممكن تطوير برنامج C++ أثناء استخدام HTML و CSS لواجهة المستخدم؟ أعلم عن البرمجة باستخدام Javascript باستخدام حاوية Webkit ، لكنني مهتم حقًا بتطوير C++.

شعرت بالحب مع C # WPF عندما قمت بالتطوير تحت Windows ، لكنني الآن انتقلت إلى Linux ولم أجد أداة جيدة لاستخدام العلامات للواجهات. لهذا ، أود مزج HTML و CSS ، اللذين يتميزان بخفة الوزن وسهولة الاستخدام ، مع رمز C++ ، مع شيء مثل WPF.

أوه ، شيء آخر: أبحث عن تطوير سطح المكتب ، وليس شبكة الويب.

62
ranisalt

نعم هذا ممكن. ما تريده هو إطار ويب C++. يمكنك البدء من خلال النظر في CppCMS - إطار تطوير ويب مجاني عالي الأداء (وليس CMS) يهدف إلى تطوير تطبيقات الويب السريع.

تحرير : بعد توضيح السؤال ، أعتقد Awesomium سيكون مناسبًا جيدًا لاحتياجاتك.

يمكنك تحقيق نفس الوظيفة من خلال تضمين WebKit (أو Gecko) ولكن بقدر ما أعرف ، هذا بالضبط ما يفعله Awesomium وراء الكواليس.

البديل هو librocket - حزمة الوسيطة لواجهة C++ المصممة لتطبيقات الألعاب. كما يمكنك التخمين من الوصف ، فهو مناسب للألعاب أو التطبيقات في الوقت الفعلي.

32
user11617

Sciter هو بالضبط - محرك HTML/CSS قابل للتضمين مع C/C++ API. مدمجة ومتعددة المنصات.

وتحقق هذه المادة .

لدى Sciter نفس ميزة تعيين WPF لكن يستخدم HTML/CSS بدلاً من XAML ويستخدم API الأصلي.

ميزات من خارج منطقة الجزاء:

  • HTML ، CSS ، SVG ، aPNG (PNGs متحركة) ، صور متحركة ،
  • <plaintext> - محرر مع تسليط الضوء على بناء الجملة ،
  • <htmlarea> - محرر WYSIWYG HTML ،
  • <frame type=pager> - معاينة قبل الطباعة وطباعة HTML/CSS ،
  • الرسوم المتحركة،
  • عميل HTTP ، عميل REST/JSON ، WebSocket ، DataSockets ،
  • إلخ.

نفس التطبيق مع Sciter UI يعمل على Windows و MacOS و Linux من نفس المصادر:

 enter image description here 

إخلاء المسئولية: أنا مؤلف Sciter Engine.

27
c-smile

يمكنك استخدام Chromium Embedded Framework لتضمين محتوى HTML5 في تطبيقك. ستحصل على قوة وسرعة Chromium والقدرة على إنشاء تطبيقات واجهة المستخدم الرسومية بنفس الطريقة التي تقوم بها بتطوير تطبيقات الويب.

7
Vadim Ovchinnikov

أعتقد الإلكترون سيكون إضافة لطيفة للإجابات الأخرى.

ويستخدم NodeJS لتشغيل نافذة Webkit. الإلكترون نفسه هو فقط html/css/js ، ولكن يمكنك استخدام أي وحدة Node Module داخل تطبيق Electron الخاص بك - بما في ذلك رمز C++ المخصص المترجم أصليًا. الوحدة النمطية المحتملة لتضمين رمز C++ الخاص بك ستكون عقدة gyp.

ومع ذلك ، عليك أن تدرك أن سير العمل هذا قد يتضمن JS أكثر قليلاً مما قد تتضمنه مع الإجابات الأخرى.

محرر النصوص المفضل لدي ، Atom ، تم صنعه باستخدام Electron.

7
Johannes