2009-01-26 15 views
16

हमारे एम्बेडेड डिवाइस पर, हम वर्तमान में अपने वेब इंटरफ़ेस के लिए PHP का उपयोग करते हैं, और दुर्भाग्यवश यह काफी धीमी है। हम पाइथन के साथ प्रयोग कर रहे हैं, लेकिन ऐसा लगता है (कम से कम एफपीयू-कम एआरएम आर्किटेक्चर पर) PHP के रूप में धीमा होने के लिए।क्या सी ++ जैसी संकलित भाषाओं के लिए कोई वेब ढांचा है?

इसलिए हम सी ++ जैसी कुछ संकलित भाषा में वेब इंटरफ़ेस को लागू करने के बारे में सोच रहे हैं, लेकिन अब तक हमें केवल एक ही चीज़ मिली है जो Wt है, जो वेब ढांचे की तुलना में डेस्कटॉप की तरह दिखती है और यह दस्तावेज शुरुआती के लिए जटिल है ।

तो मेरा सवाल है: क्या आप सी/सी ++ के लिए किसी भी अच्छे वेब ढांचे के बारे में जानते हैं? मुझे पूरी तरह से खुश करने से सी ++ डीजेगो जैसे कुछ होगा, लेकिन मुझे संदेह है कि ऐसी चीज मौजूद है :-)

+2

क्या आपने सी ++ में बहुत स्ट्रिंग प्रोसेसिंग की है? चूंकि वेब प्रोग्रामिंग इतनी स्ट्रिंग प्रोसेसिंग है, यह वास्तविक दर्द होगा। यही कारण है कि PERL और PHP और बाकी बनाए गए थे, क्योंकि वे वेब प्रोग्रामिंग की ज़रूरतों के प्रकारों में वास्तव में अच्छे हैं, और सी ++ बस नहीं है। – Adam

+5

मैंने सी ++ के साथ बहुत सी टेक्स्ट प्रोसेसिंग की है। बस अच्छे पुस्तकालयों का उपयोग करें (बूस्ट स्ट्रिंग अल्गो, रेगेक्स, ...) और सब ठीक हो जाएगा। –

+0

अरे, मैं इस समस्या पर github.com/corvusoft/restbed पर अथक रूप से काम कर रहा हूं। मुझे समुदाय को बढ़ने को देखना अच्छा लगेगा। – Corvusoft

उत्तर

10

यदि मैं आप थे, तो मैं Wt एक कोशिश दूंगा। मुझे नहीं लगता कि आपको वही प्रदर्शन के साथ Wt के रूप में उपयोग करने के लिए पूर्ण और आसान के रूप में एक और समाधान मिलेगा। मेलिंग सूची सक्रिय है, और इसमें नियमित लोगों की नियमित पोस्ट है जो इसे एम्बेडेड डिवाइस पर उपयोग करते हैं। प्रोजेक्ट की विकी (here) एआरएम पर एम्बेडेड परिनियोजन और प्रदर्शन के लिए कुछ संख्याओं का उल्लेख करती है।

+1

यह स्वीकृत उत्तर काफी पुराना है। सीपीपीसीएमएस, जो तब एक बहुत अच्छा विकल्प था, तब से एक लंबा सफर तय किया है। इसे देखें: http://cppcms.com/ – augustin

+1

उत्कृष्ट :-) सौभाग्य से Wt भी विकसित हो रहा है: वेबसाकेट, वेबजीएल 3 डी, एचटीएमएल 5 वीडियो, सर्वर पुश, क्लाइंट एसएसएल प्रमाणपत्र, ... – user52875

2

Lua आज़माएं। Xavante LuaForge पर कहीं भी वेब सर्वर एम्बेड किया गया है।

यह बहुत तेज़, बहुत छोटा और बहुत एक्स्टेंसिबल है - जैसा कि लुआ के बारे में है।

आपके पास लुआ का उपयोग करने की शक्ति है जहां स्क्रिप्टिंग betteer फिट बैठती है, और सी ++ फ़ंक्शंस का उपयोग करें जहां मौजूदा मूल कोड के लिए अधिक गति और पहचान की आवश्यकता होती है।

11

PHP में आपकी साइट धीमी क्यों है? क्या आपने बोतल की गर्दन को समझने के लिए कोड का प्रोफाइल किया है? पूरे कोडबेस को दूसरी भाषा के साथ बदलना नौकरी के लिए बहुत बड़ा उपकरण होने की संभावना है।

शायद अगर कुछ भाग कम्प्यूटेशनल गहन है, तो हो सकता है कि आप नौकरी करने के लिए सी ++ में एक PHP मॉड्यूल लागू कर सकें।

+0

जहां तक ​​मुझे पता है कि अधिकांश देरी कक्षाओं वाली फाइलें शामिल करती हैं जो अंतिम पृष्ठ के विभिन्न घटकों को उत्पन्न करती हैं। – che

+0

क्या आप निश्चित हैं? यहां तक ​​कि जटिल PHP ढांचे में केवल कुछ एमएस की देरी होती है जब फाइलों की जटिल वेब शामिल होती है, और यदि आप ढांचे-कम PHP का उपयोग कर रहे हैं तो इसकी संभावना कम हो सकती है। – ryeguy

+0

हमारे हल्के लोड किए गए एक्सस्केल बॉक्स पर, सामान सहित और ऑब्जेक्ट्स बनाना 0.75 और 1.7 सेकंड के बीच होता है। – che

6

क्या आपको वास्तव में एक वेब ढांचे या सिर्फ एक HTML टेम्पलेटिंग लाइब्रेरी की आवश्यकता है?
टेम्पलेट विकल्प के लिए यहाँ देखें: C++ HTML template framework, templatizing library, HTML generator library

+0

लिंक के लिए धन्यवाद, टेम्पलेट्स निश्चित रूप से लागू हैं, लेकिन कुछ ऐसा है जो अनुरोध भेज देगा और HTTP अनुरोधों और resposes के लिए अच्छा एपीआई प्रदान करेगा। – che

+0

मैंने सोचा कि अगर आप एम्बेडेड दुनिया में थे तो आपको कुछ प्रकाश चाहिए –

3

Nanogear के बारे में कैसे। मैंने इसका इस्तेमाल नहीं किया है, इसलिए मुझे यकीन नहीं है कि यह एक अच्छा फिट है या नहीं। वेबसाइट से उद्धरण यहां दिया गया है।

सी ++ एक महान, सामान्य प्रयोजन प्रोग्रामिंग भाषा है, लेकिन कोई आधुनिक, के लिए उपयोग में आसान और शक्तिशाली सी ++ वेब चौखटे इन वर्षों के दौरान किए गए थे। हम नैनोगियर के साथ अंतर को भरने का प्रयास करते हैं। ज़ेंड फ्रेमवर्क और रेल से प्रेरित होकर हम आसानी से सी ++ वेब पर ले जाना चाहते हैं।

यहां पुरानी googlecode साइट Google Code Nanogear का एक लिंक है, ऐसा लगता है कि वहां और जानकारी है।

+2

गैर-गियर ज्यादातर परियोजना का "मसौदा" है। इसमें बहुत कम कोड – Artyom

+1

शामिल हैं, ऐसा लगता है कि अब अपडेट नहीं किया जा रहा है:/ – Klaim

+2

अब यह मृत लगता है। –

1

चूंकि किसी और ने यह नहीं कहा है, मैं करूँगा। जावा आज़माएं जावा एक अच्छी वेब ढांचे के साथ एक संकलित भाषा है। यह भी बहुत स्केलेबल है। प्रत्येक प्रतिलिपि मैंने जावा को अपनी मुख्य वेब-तकनीक के रूप में उपयोग करने के लिए काम किया है, और यह मुख्य रूप से इस स्केलेबिलिटी कारक के कारण है। सुनिश्चित नहीं है कि यह आपके आर्किटेक्चर के साथ काम करेगा, लेकिन यह प्रश्न का उत्तर देता है:

क्या संकलित भाषाओं के लिए कोई वेब ढांचा सी ++ की तरह है?

+0

जावा शायद ही संकलित लैंगेज है। यह बाइट कोड को संकलित करता है, और उसके बाद जेवीएम व्याख्या करता है (या शायद जेआईटी)। कोड के अनुकूल होने के बाद –

+0

जावा का प्रदर्शन सी ++ के साथ लगभग 1: 1 है। हालांकि यह सच है कि बाइटकोड सही नहीं है मूल कोड संकलन प्रदर्शन यहां महत्वपूर्ण बिंदु था। – Alex

+0

बहुत महंगा विकास उपकरण का उपयोग किए बिना, जावा इन एआरएम प्रोसेसर पर बहुत धीमी गति से चलेंगे। Afaik उपलब्ध कोई भी बाइट-संकलन JVMs नहीं है (और फिर भी, मैं उस वास्तुकला पर बाइट-संकलन भी बहुत धीमी होने की उम्मीद करता हूं)। – user52875

10

आप CppCMS पर एक नज़र डाल सकते हैं। मुझे नहीं पता कि यह कितना परिपक्व या अच्छा है, लेकिन ऐसा लगता है कि आप जो खोज रहे हैं।

एक और विकल्प पायथन/PHP में मुख्य अनुप्रयोग लिखना है और फिर सी में महत्वपूर्ण भागों को फिर से लिखना है, जो मुझे अधिक समझ में आता है।

+1

+1। ए। – augustin

4

यहां देखने के लिए एक चीज़ वास्तविक वेब ऐप विकास पर्यावरण की बजाय किसी प्रकार की वेब सेवा के लिए सी ++ का उपयोग कर रही है। मेरी वर्तमान परियोजनाओं में से एक पर हम जेएसओएन उत्पन्न करते हैं (और अनुरोधों के लिए पार्स) तो ग्राहक को (वेब ​​ब्राउज़र) बाकी के साथ सौदा करने दें। आपके पास क्लाइंट मशीन पर आपके लिए उपलब्ध कंप्यूटिंग पावर का एक बड़ा सौदा है, कुछ जावास्क्रिप्ट जादू और बूम में मिलाएं, अब आपका एम्बेडेड डिवाइस ऐसा करने के लिए वापस जा सकता है जो इसे करना है। मैं व्यक्तिगत रूप से Wt की तरह हूं और सोचता हूं कि यह आपकी सबसे अच्छी शर्त है यदि आप सी ++ में पूरी "वेब ऐप" चीज़ को समर्पित करना चाहते हैं।

कैसे आप अपने सी ++ कोड वेब सेवाओं दिखाना शुरू कर करने के लिए मिल की बारीकियों के रूप में, आप अद्भुत boost.asio पुस्तकालय (वे एक http सर्वर उदाहरण है) और json_spirit उपयोग कर सकते हैं (मुझे लगता है कि इसके codeproject पर)

7

मैंने इस लिंक को रेफरर के रूप में CppCMS पर देखा था। इसके बारे में कई प्रश्न/उत्तर।

प्रश्नोत्तर यह कैसे परिपक्व है?
ए। विकी 100% इसके आधार पर है। डेवलपर्स ब्लॉग सीपीपीसीएमएस पर भी चलता है। तो आप इसे काफी काम देख सकते हैं। अच्छी तरह से। कम से कम लेखक के लिए।
क्यू। "मुझे पूरी तरह से खुश करने वाला क्या होगा सी ++ Django"
ए वास्तव में यह "सी ++ Django" है। कई विचार सीधे Django से लिया गया था, जैसे रूपों, टेम्पलेट विरासत और कुछ और। तो आप शायद घर पर महसूस करेंगे
क्यू। नैनोगियर
ए। मैंने इसे देखा है ... इसमें कई योजनाएं हैं लेकिन बहुत अधिक कोड नहीं है।
प्रश्न: इसका उपयोग करने वाली कितनी परियोजनाएं।
ए। बहुत सारे नहीं। यह काफी नई परियोजना है।
प्रश्न। मैं कौन हूं?
ए ईमानदार होने के लिए मैं सीपीपीसीएमएस के डेवलपर हूं।

+0

मुझे साइट नहीं मिल सकती लोड :( – crashmstr

+1

इस http://cppcms.sourceforge.net/ को आजमाएं – Artyom

1

आप CppCMS के embedded version को आजमा सकते हैं।

यह काफी नए और exprerimental विकास है, लेकिन ऐसा लगता है कि यह और अधिक उपयुक्त तो Wt क्योंकि यह अयस्क वेब (Django के लिए और अधिक करीब) उन्मुख है और की तरह जीयूआई नहीं।

1

एफएफएड सी ++ एप्लिकेशन फ्रेमवर्क (http://code.google.com/p/ffead-cpp/) देखें, यह जावा के लिए वसंत की तर्ज पर विकसित हुआ है।

1

आप Tntnet पर एक नज़र डाल सकते हैं। यह अपनी खुद की टेम्पलेट भाषा का उपयोग करता है जो PHP की तरह थोड़ा दिखता है, केवल अधिक अतिरिक्त टैग के साथ।

संबंधित मुद्दे