2009-08-09 4 views
9

Ich habe mich umgesehen und bin auf das WT-Toolkit gestoßen. Ist es stabil? Jeder gute? Ich war in C++, angesichts des Mangels an Bibliotheken und Ressourcen in Bezug auf Web-Entwicklung, ratlos. (CGI/Apache)Irgendein gutes C/C++ Web Toolkit?

Der Zweck meiner Anwendung besteht darin, einige Daten aus einer Sybase ASE15-Datenbank mit GNU/Linux & Apache zu füllen. Daher erlauben einige Benutzerinteraktionen.

Ich werde die offene Client-Bibliothek von Sybase (libct) verwenden, um Spalten vom Server abzurufen und diese Daten an das wt-Modell/die Ansicht zurückzuleiten.

Meine Anfragen:

Gibt es eine praktischere Lösung anstatt mit anderen Skriptsprachen? Ich meine durch praktische, eine Schnittstelle mit ODBC-Abruf und MVC-Mechanismus?

Wenn nicht in C++ verfügbar, irgendeine Alternative in Java?

Antwort

2

Geben Sie diesem einen einen Blick. Ich habe das Design von WT nie gemocht. Aber dann bin ich ein Anti-Framework-Typ.

http://cppcms.sourceforge.net/wikipp/en/page/main

+0

Ja, ich wusste davon, dass MisterMatt das schon einmal vorgeschlagen hat, aber es ist eine gute Wahl, aber jetzt schreibe ich ein kleines Framework, das den Bedürfnissen entspricht. In Bezug auf das Design von Wt ich denke, es ist ein bisschen langsam für eine CGI orientierte Anwendung. – ZeroCool

7
  1. http://www.webtoolkit.eu/wt#/
  2. http://cppcms.sourceforge.net/wikipp/en/page/main
  3. C++ web service framework

Für den Anfang. Es gibt sicher mehr, bin ich mir sicher - eine gesunde Google-Suche würde wahrscheinlich nicht schaden. Außerdem könntest du den # C++ - Kanal auf Freenode ausprobieren - sie haben einen Offtop-Kanal, über den du nachfragen kannst, wenn du über nicht-STL C++ sprechen willst und die Leute dort gerne deine Fragen beantworten würden, bin ich sicher. Viel Glück.

1

Das beste Web Toolkit für C/C++ wäre Apache httpd. Schreiben Sie einfach ein Modul und Sie können mit libct auf Ihre Datenbank zugreifen.

Es gibt MVC-Module wie mod_spin draußen, aber ich habe keine Erfahrung damit.

2

CGI-Programme sind verdammt einfach, sowohl in C als auch in C++ zu schreiben - Sie brauchen keine spezielle Bibliothek, obwohl eine solche natürlich die Entwicklung etwas schneller macht. Verstehst du wirklich, wie CGI funktioniert? Im Grunde liest Ihr Programm Umgebungsvariablen mit getenv(), führt eine Verarbeitung durch und schreibt dann etwas HTML in die Standardausgabe des Programms.

+0

Absolut Ja, tatsächlich erreicht das Programm bereits das, was es beabsichtigt war, aber mit einigen zusätzlichen Gemeinkosten. Ich bin kein JavaScript/AJAX-Guru, aber habe ein paar Werkzeuge (WT ie) gesehen, die den ganzen Kram unter der Haube machen, so dass man sich der Implementierung nicht bewusst ist. – ZeroCool

1

C++ ist nicht eine sehr beliebte Wahl schreiben für Web-Anwendungen - wahrscheinlich, weil es zu einfach ist Sicherheitslücken zu verlassen, und Entwicklungszeit ist tendenziell viel langsamer als für die Skriptsprachen. Ich würde sagen 99% der Web-Anwendungen benötigen nicht die Geschwindigkeit, die C++ bringt.

Das führt also zu einem Mangel an guten Frameworks.

Von meinem ziemlich hellen Blick auf die Gegend würde ich sagen, dass es wahrscheinlich Ihre beste Wette ist, obwohl es eher eine Bibliothek nützlicher Dinge (wie Seitenvorlagen) als ein Framework ist.

Ich würde ernsthaft in Betracht ziehen, dies in C++ nicht zu tun. Selbst Java (ich bevorzuge C++ selbst) hat viel stärkere Unterstützung für Web-Entwicklung.

0

Meine persönliche Wahl für Web-Entwicklung ist Ruby on Rails, aber wenn Sie zwischen C, C++ oder Java für Web-Entwicklung haben zu wählen, ist mein Vorschlag Java zu verwenden, um mit JavaServer Faces

11

C++ ist nicht eine sehr beliebte Wahl für Web-Anwendungen - wahrscheinlich, weil es ist zu einfach, um Sicherheitslücken zu lassen, und Entwicklungszeit neigt viele langsamer als für das Scripting zu sein Sprachen.

Dynamisch typisierte Skriptsprachen konvertieren Fehler bei der Kompilierung in Laufzeitfehler. Das zu erkennen ist möglicherweise nicht so einfach wie das Lesen der Compilerausgabe. Skriptsprachen können für schnelle und einfache Projekte in Ordnung sein. Ab einem gewissen Grad an Komplexität braucht man stark typisierte, gut strukturierte Sprachen. Wie C++ oder Java.

Die meisten Skriptsprachen fördern schlampige Programmierung.

Zu den "Sicherheitslücken": Wenn Sie auf Pufferüberläufe, Allokation/Deallokation Fehler verweisen, ist die Antwort "STL". Und richtiges Training natürlich :-)

4

tntnet (http://www.tntnet.org) eignet sich hervorragend zum Erstellen von Webanwendungen mit C++.

1

Qt von Tag zu Tag wachsen werden. Und Wt ist der Versuch, für Web-Tool-Kit basierend auf Qt zu stehen. C++ die mächtige Sprache und das Beste meiner Meinung nach. Wenn Sie Gnu-Projekte und unabhängige Technologie mögen. Ich empfehle wirklich, sie zu benutzen. Ich benutzte PHP, Phyton, C#, VisualBasic, Fortran usw., aber ich mochte nicht so viel wie C++ unter ihnen.

1

Ich gab Wt einen Versuch und mochte es wirklich. Ich gebe Ihnen keine Nachteile oder Vorteile für die Verwendung von Grund auf neu, aber wenn Sie ein Backend in C/C++ mit Millionen von API-Einträgen geschrieben haben, dann ist Wt eine offensichtliche Wahl. Es gibt einige sehr leistungsfähige Funktionen, die beispielsweise dynamisch geladene Tabellen einfacher zu verwenden sind. Signalverarbeitung auf dem Server usw.

Eine Sache, die ich bei Wt wirklich nicht mochte, ist, dass es ab diesem Zeitpunkt nicht mit Apache unter Windows kompatibel ist. Sie müssen entweder Unix oder IIS unter Windows verwenden. Wt bietet auch einen eigenen http-Server an, der sehr praktisch für die Entwicklung Ihrer Anwendungen ist, aber ich würde ihm in der Rolle des Produktionsservers nicht vertrauen, da ich mir seiner Sicherheit nicht sicher bin.

0

Apache Celix sieht aus wie ein vielversprechendes aktives Projekt, das die Anforderungen dieser (wenn auch alten) Frage erfüllt. Siehe: http://celix.apache.org/

Von der Apache Projektbeschreibung Seite:

Celix eine Implementierung der OSGi-Spezifikation C angepasst istEs folgt der API so nah wie möglich, aber da die OSGi-Spezifikation hauptsächlich für Java geschrieben ist, gibt es Unterschiede (Java ist OO, C ist prozedural). Ein wichtiger Aspekt der Implementierung ist die Interoperabilität zwischen Java und C. Diese Interoperabilität wird durch die Portierung und Implementierung der Remote-Services-Spezifikation in Celix erreicht.

Verwandte Themen