Odziedziczyłem całkiem interesujący projekt, w którym istnieje dobra okazja, aby wziąć istniejące oprogramowanie i przekształcić je w aplikację internetową SaaS. Ponieważ projekt jest dziedziczony, podstawa / framework kodu jest już zdefiniowany jako C ++ i MySQL. Sama aplikacja jest kompilowana i działa jako plik EXE w systemie Windows Server. Interfejs użytkownika jest oparty na sieci, a aplikacja działa jako rodzaj serwera. Z tego, co wiem o nowoczesnych aplikacjach internetowych, jest to być może niezwykły wybór. Obecnie wydaje się, że większość ludzi wybiera framework PHP lub Ruby on Rails. Z pewnością takie wrażenie wywarło na mnie czytanie blogów na ten temat. Jestem więc bardzo zainteresowany, aby dowiedzieć się, czy plik C ++ EXE wspierany przez MySQL jest solidnym fundamentem dla aplikacji internetowej, czy też powinniśmy szukać kompilacji w inny sposób?
źródło
Odpowiedzi:
Jest OK, aby złożyć aplikację internetową przy użyciu C ++ IF korzyści przewyższają koszty, oczywiście. Google, Amazon, Facebook są zbudowane w C ++ pod kątem wydajności, szybkości i pamięci - czyli kosztów serwerów.
Jednak, jak się domyślacie, użycie C ++ ma w tym zakresie wady. Zależy to jednak od twoich narzędzi.
Najpierw pozwól mi zacytować stronę cppcms na ten temat:
Wady specyficzne dla C ++ to:
Może rzucisz okiem na CPPCMS? A może wt, jeśli chcesz stworzyć stronę w stylu GUI?
Sprawdź także następujące pytania:
źródło
Wordpress działający w PHP z kilkoma zainstalowanymi wtyczkami sprowadza mój serwer Winders na kolana. Więc nie mam żadnych problemów z pomysłem implementacji aplikacji internetowej w C ++. Szybkość jest kluczowym elementem korzystania z Internetu.
Namioty graficzne do obsługi większości projektów internetowych. PHP jest niejasnym językiem skryptowym, który działa wewnątrz HTML. Umożliwianie autorom PHP ucieczki i wyjścia z HTML. W rezultacie praca z HTML ma wiele zalet.
Mimo to możesz zaimplementować dowolną liczbę rozwiązań szablonów HTML w C ++.
Można podać długą listę frameworków Python i PHP, które pozwalają na szybki rozwój, ale jeśli masz dużo czasu, C ++ jest zdecydowanie możliwe.
Nie rozumiem twojej decyzji o zrobieniu C ++ w systemie Windows. lol
źródło
To z pewnością niezwykły wybór. C ++ nie został zaprojektowany z myślą o aplikacjach internetowych i chociaż istnieją biblioteki do pisania, powiedzmy, aplikacji FastCGI w C ++, musisz wykonać znacznie więcej pracy, aby uruchomić podstawową aplikację. „Języki internetowe” zwykle robią dla ciebie wiele rzeczy, które musisz uzyskać z dowolnego miejsca w C ++, takich jak implementacja protokołu HTTP, generowanie HTML itp.
Ponadto aplikacje internetowe dotyczą głównie łańcuchów, co nie jest najsilniejszą stroną C ++ - w samym języku nie ma wbudowanego typu łańcucha, co prowadzi do kilku dziwactw i sprawia, że przetwarzanie łańcuchów jest bardziej niezgrabne niż w przypadku wysokiej języki poziomu. Prawidłowa obsługa kodowania znaków w C ++ na granicy czarnej magii. A C ++ może bardzo mocno upaść na dość niewinnie wyglądającym kodzie, co jest znacznie mniej prawdopodobne w przypadku języka wyższego poziomu (one również mogą ulec awarii, ale w większości przypadków serwer sieciowy może odzyskać płynność, szczególnie na platformach, które używają -request model cyklu życia, taki jak PHP).
To powiedziawszy, jeśli masz już napisaną większość bazy kodu, C ++ może nadal być dobrym wyborem. Będziesz musiał znaleźć biblioteki do obsługi wszelkiego rodzaju stron internetowych (przede wszystkim chcesz zintegrować samodzielny serwer HTTP z programem lub podłączyć się do, powiedzmy, Apache, poprzez FastCGI lub poprzez kompilację do moduł; będziesz także potrzebować biblioteki szablonów, która sprawi, że renderowanie dokumentów HTML będzie bezbolesne).
Wreszcie istnieje problem rynku deweloperskiego. Dostępnych jest wielu programistów C ++, a nawet więcej programistów internetowych, ale nakładanie się prawdopodobnie nie jest tak duże, więc jeśli kiedykolwiek będziesz musiał zatrudnić ludzi do pracy nad tym, będziesz miał nieco trudniejszy czas niż, powiedzmy, PHP.
źródło
Jak powiedzieli inni, koncepcyjnie, C ++ jest doskonałym środowiskiem do rozwoju serwera WWW. Podejmując tę decyzję, należy jednak wziąć pod uwagę kilka czynników.
Popularność języków skryptowych do projektowania serwerów WWW zmienia się z czasem. Proste zmiany mogą być łatwo wprowadzone dzięki niemal natychmiastowej prezentacji wyników. Przekonasz się, że każdy dobry projekt serwera WWW będzie oferował podobne możliwości. Rzeczywiście, C ++ jest doskonałym środowiskiem do osiągnięcia tego celu.
Kluczem do zbudowania dobrego systemu aplikacji serwera WWW jest oddzielenie interfejsu użytkownika od kodu. Celem budowy środowiska aplikacji WWW jest uniknięcie „Twój interfejs użytkownika znajduje się w moim kodzie, a Twój kod znajduje się w moim interfejsie użytkownika”.
Chciałbym ostrożnie w systemach takich jak cppcms. Spodziewałbym się, że oferuje coś podobnego.
Nie potrzebujesz języka skryptowego, aby zapewnić elastyczność i wydajność.
źródło