2009-11-15 8 views
70
  • Hat jemand ernsthaft verwendet Wt?
  • Hat es gut funktioniert?
  • Haben Sie bestimmte Einschränkungen festgestellt? Oder Vorteile?

Wt ist eine C++ - Bibliothek für die Entwicklung von Webanwendungen.Erfahrungen mit Wt C++ - Framework?

Bitte vermeiden Sie die Diskussion, ob C++ eine gute Sprache für die Webentwicklung ist. Ich möchte nur versuchen, weil es scheint, als könnte es eine lustige Sache zu tun sein.

+3

Ich weiß nicht, Wt. Entdeckt es mit Ihrer Frage. Ich habe Interesse an der Antwort. Für die Faulen: http://www.webtoolkit.eu/wt – neuro

+0

Warum nicht ... versuchen Sie es. Es ist kostenlos! (Und es ist großartig) – Vector

+0

@Vector Weit davon entfernt, frei zu sein, ist es sehr teuer, ein Web-Framework zu testen, indem man eine große, durchdachte, funktionsreiche Website schreibt und herausfindet, dass es nicht gut funktioniert, wenn man versucht, 10.000 Benutzer pro Tag zu skalieren , oder es ist ein wenig gimpy beim Erstellen von wirklich feinen UIs, oder was auch immer andere Probleme haben könnte. Viel billiger, andere zu fragen! –

Antwort

34

Ich habe das Framework nicht persönlich benutzt, sondern habe es mit ein paar Leuten besprochen, die das haben. Sie hatten wirklich keine Einschränkungen, aber ich fand es schwer zu glauben, dass sie jedes Mal kompilierten. Ihr Hauptkommentar war, dass der Server hinsichtlich der Speichernutzung relativ wenig belastet wurde. Persönlich denke ich, dass die interpretierten Sprachen PHP, Python, Ruby usw. gut mit der Art der Webentwicklung zusammenpassen - aber das ist nicht die Frage, die Sie gestellt haben. Der größte Vorteil besteht wahrscheinlich darin, dass Sie Ihre vorhandenen Fähigkeiten in einem neuen Medium einsetzen können.

Es gibt auch ein paar gute Kommentare online Pro und Kontra zu diskutieren. Hier ist eine, die ich fand http://discuss.joelonsoftware.com/default.asp?biz.5.599655.33

Ich denke jedoch, die wichtigste Antwort hier ist, dass ohne eine spezifische Projektanforderung im Auge, wird es schwierig sein, jeden Rahmen für die Eignung zu bewerten. Wenn Sie denken, dass es Spaß machen wird, ein paar Dinge damit zu programmieren, dann versuchen Sie es. Das ist der beste (wenn nicht nur) Weg, um festzustellen, ob es Ihren Bedürfnissen entspricht.

+0

Ich habe keine Kompilierung gefunden, um eine große Sache zu sein. g ++ führt inkrementelle Builds durch und Sie können es auf mehreren Kernen ausführen. In der Regel möchten Sie nach einer gewissen Anzahl von Änderungen kompilieren, um sicherzustellen, dass Ihre Dateien nicht beschädigt sind. Wenn Sie nichts geändert haben, dauert es nicht lange (Sekunden für die meisten meiner Projekte mit mache -j8). – MrFox

+4

Ich zweite MrFox Meinung. Zusammenstellung ist keine große Sache. Und es hilft dir, dumme Fehler zu finden. Kompilierzeitfehler sind besser als Laufzeitfehler - und interpretierte Sprachen geben nur Laufzeitfehler, was ein viel größeres Problem ist als die Ausgabe von 'make -j8' und dann ein paar Sekunden warten ... –

+1

Wenn Sie Java verwenden oder C#, für Web-Entwicklung (Struts/ASP.NET MVC usw.) würden Sie jedes Mal neu kompilieren, wenn etwas nicht statisch verändert wird. Also, ich denke, es wäre nicht so eine große Sache. – Animesh

18

Ich habe mehrere C++ eingebettete Webserver ausprobiert. Sie neigen dazu, eine Herausforderung zu sein, und nicht Windows freundlich zu verwenden.

(Sie erwähnen nicht Ihre Plattform. Wenn Sie unter Unix sind, dann vermute ich, dass Sie die verfügbaren Server einfacher zu bedienen finden und diese Antwort wahrscheinlich ignorieren können. Wenn Sie unter Windows sind, lesen Sie weiter ...)

Ich habe versucht, Wt, aber wurde von der massiven Installation, die Stunden zu kompilieren und Seite für Seite von Warnungen generiert, und die umfangreiche Lernkurve besiegt. Wt ist Qt nachempfunden, also wenn Sie mit Qt vertraut sind, wird die Lernkurve viel weniger eine Herausforderung sein.

Ich habe versucht Webio by John Bartas Ich mochte das Konzept und es hat gut funktioniert. Allerdings fand ich es zu kompliziert zu verwenden und den Server-Code schwer zu verstehen. Ein Großteil der Komplexität von Webio wird durch die Verwendung eines "HTML-Compilers" verursacht, um die HTML-Seiten zu verbergen, die das Aussehen der GUI in einem Dateisystem steuern, das in den Anwendungscode eingebettet ist. Ich bevorzuge es, die HTML-Seiten im Freien zu sehen, wo ich die GUI anpassen kann, ohne die Anwendung neu zu kompilieren.

Ich habe auch TWS angesehen Dies ist von Richard Hipp, der für SQLITE und FOSSIL verantwortlich ist und von denen ich ein großer Fan bin. TWS wurde jedoch seit 2001 nicht mehr gepflegt und ist nicht wirklich WINDOWS, also habe ich widerwillig beschlossen, es nicht weiter zu verfolgen.

Am Ende rollte ich meine eigene, genannt WEBEM basierend auf einer minimal modifizierten Version des boost :: asio Web-Server. In einem ähnlichen Konzept, aber einfacher als TWS, erlaubt es HTML-Code, C++ - Methoden auszuführen.

+30

Für Leute, die über Google hierher kommen: Zur Zeit von 2011 habe ich Wt sehr einfach ohne "massive Installation" ausprobiert. Ich fand es sehr gut für meine Bedürfnisse. – Offirmo

+0

Ich installierte es auf Ubuntu 14.04 mit Aptitude - dauerte etwa 15 Sekunden, und es hat sofort funktioniert. Verbinde einfach die Bibliotheken und du bist dran. – Vector

+0

@Vector Wie ich bereits erwähnt habe, gilt meine Antwort nur für Windows. Es ist natürlich extrem schnell, wenn Sie vordefinierte Binärdateien installieren, aber dann haben Sie die meisten Vorteile der Verwendung von Open Source verloren. – ravenspoint

10

Um ehrlich zu sein, ich hatte es angeschaut, aber ich sehe einen signifikanten Wt Designfehler - es wurde nach Qt modelliert. Der Versuch, Web-Anwendungen so aussehen zu lassen und sich wie GUI zu verhalten.

Ich denke, dieser Ansatz ist falsch. Es sollte eine klare Trennung zwischen Client-Seite und Server-Seite geben.

Wenn Sie sich für C++ Web-Programmierung interessieren, werfen Sie einen Blick auf CppCMS, die mehr traditionellen MVC-Modell hat.

Hinweis, ich habe voreingenommen Meinung, weil ich CppCMS Entwickler bin.

+3

Wie kann Modellierung nach Qt jemals ein Designfehler sein;) Aber ich verstehe deinen Standpunkt. –

+3

@Cristian Da Design-GUI und Design für ein Web sind zwei sehr unterschiedliche Dinge – Artyom

+5

Artyom fehlt die Perspektive. Für GUI-ähnliche Web-Anwendungen ist die Verknüpfung, die Wt bereitstellen, sehr gut. @Artyom Sie entwerfen für Ihre Kunden, nicht für Web-Gurus. – Offirmo

9

Eine Todo-Liste App mit ihm gemacht. funktioniert super, keine Probleme.

+0

Ich kann mir vorstellen, dass es eingebettet und in einem dünnen Webbrowser angezeigt wird (.net, qtwebview usw.). Scheint so, als würde das Spaß machen. – swdev

30

Ich habe Wt verwendet, um Anwendungen zu erstellen, die direkt mit C++ - Bibliotheken verknüpft sind, aber nicht besonders viel Mühe darauf verwenden, die Layout-Funktionen wie CSS auszuüben. Bis jetzt funktioniert es hervorragend als Ersatz für GTK beim Erstellen solcher Anwendungen. Ich bin ausschließlich ein Linux-Benutzer und ich bin auch einer der ungewaschenen Heiden, die eigentlich gerne in C++ programmieren, und dieses Framework ist eine perfekte Möglichkeit für mich, eine Anwendung zu erstellen, die tatsächlich auf vielen Plattformen verwendet werden kann.

9

Ich benutze es derzeit, um eine Webapplikation zur Verarbeitung von GPS-Messungen zu entwickeln, basierend auf Verarbeitungsalgorithmen, die in C implementiert sind. Es funktioniert gut und hat eine gute Synergie mit altem C/C++ - Code.

Es ist Dokumentation ist nicht so umfangreich und der Mangel an Lern-Tutorials und verwandte Bücher macht es irgendwie schwer zu lernen.