2009-08-09 42 views
9

Tôi đã nhìn xung quanh và đi qua bộ công cụ WT, có ổn định không? Có tốt không? Tôi đã được stumped về làm thế nào để đi về điều này trong C + +, do thiếu các thư viện và các nguồn lực liên quan đến phát triển web. (CGI/Apache)Bất kỳ bộ công cụ web C/C++ nào tốt?

Mục đích của ứng dụng của tôi là điền một số dữ liệu từ cơ sở dữ liệu Sybase ASE15 chạy GNU/Linux & Apache Do đó cho phép một số tương tác của người dùng.

Tôi sẽ sử dụng thư viện máy khách mở Sybase (libct) để truy xuất các cột từ Máy chủ, cung cấp dữ liệu này về mô hình/khung nhìn wt.

Yêu cầu của tôi:

Có giải pháp thiết thực nào hơn là sử dụng các ngôn ngữ kịch bản khác không? Tôi có nghĩa là thực tế, một giao diện với ODBC truy xuất, và cơ chế MVC?

Nếu không có sẵn trong C++, bất kỳ sự thay thế nào trong Java?

Trả lời

2

Đưa cái này một cái nhìn. Tôi không bao giờ thích thiết kế của Wt. Nhưng sau đó, tôi là một anh chàng chống khuôn khổ.

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

+0

Vâng tôi biết về nó misterMatt đề nghị này trước đây, đó là một lựa chọn tốt mặc dù, nhưng bây giờ tôi đang viết một khuôn khổ nhỏ cho phù hợp với nhu cầu. Liên quan đến thiết kế của Wt Tôi nghĩ rằng đó là kinda chậm cho một ứng dụng định hướng cgi. – ZeroCool

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

Đối với người mới bắt đầu. Có chắc chắn hơn tôi chắc chắn - một tìm kiếm google lành mạnh có lẽ sẽ không làm tổn thương. Ngoài ra, bạn có thể thử kênh # C++ trên freenode - họ có một kênh offtopic mà bạn có thể hỏi nếu bạn muốn nói về STL C++ không và mọi người sẽ vui vẻ trả lời câu hỏi của bạn tôi chắc chắn. Chúc may mắn.

1

Bộ công cụ web tốt nhất cho C/C++ sẽ là Apache httpd. Chỉ cần viết một module và bạn có thể sử dụng libct để truy cập cơ sở dữ liệu của bạn.

Có các mô-đun MVC ở đó như mod_spin nhưng tôi không có bất kỳ trải nghiệm nào với nó.

2

Các chương trình CGI khá dễ viết ở cả C và C++ - bạn thực sự không cần bất kỳ thư viện đặc biệt nào, mặc dù có một thư viện rõ ràng sẽ giúp phát triển nhanh hơn một chút. Bạn có thực sự hiểu CGI hoạt động như thế nào? Về cơ bản, chương trình của bạn đọc các biến môi trường với getenv(), thực hiện một số xử lý, và sau đó viết một số HTML ra đầu ra tiêu chuẩn của chương trình.

+0

Hoàn toàn có, thực tế chương trình đã đạt được những gì nó đã định làm, nhưng với một số chi phí bổ sung. Tôi không phải là một guru JavaScript/AJAX, nhưng thấy một số công cụ (WT tức là) mà làm toàn bộ công cụ dưới mui xe, do đó giữ cho bạn không biết thực hiện. – ZeroCool

1

C++ là không phải là một lựa chọn rất phổ biến đối với các ứng dụng web - có lẽ vì quá dễ dàng để thoát khỏi các lỗ hổng bảo mật và thời gian phát triển có xu hướng chậm hơn rất nhiều so với các ngôn ngữ kịch bản . Tôi muốn nói rằng 99% các ứng dụng web không cần tốc độ mà C++ mang lại.

Vì vậy, điều này dẫn đến thiếu khung công tác tốt.

Từ cái nhìn khá sáng của tôi về khu vực tôi muốn nói Wt có lẽ là cược tốt nhất của bạn, mặc dù nó là một thư viện những thứ hữu ích (như mẫu trang) hơn khung.

Tôi thật sự cân nhắc không làm điều này trong C++. Ngay cả Java (tôi thích C++ bản thân mình) có hỗ trợ mạnh mẽ hơn cho phát triển web.

0

sự lựa chọn cá nhân của tôi để phát triển web là Ruby on Rails, nhưng nếu bạn phải chọn giữa C, C++ hoặc Java để phát triển web, đề nghị của tôi là sử dụng Java với JavaServer Faces

11

C++ không phải là một sự lựa chọn rất phổ biến cho các ứng dụng web - có lẽ vì nó quá dễ để lại lỗ hổng bảo mật, và thời gian phát triển có xu hướng được rất nhiều chậm hơn so với các kịch bản ngôn ngữ.

Ngôn ngữ kịch bản được nhập động sẽ chuyển đổi lỗi biên dịch thành lỗi thời gian chạy. Phát hiện những người có thể không được dễ dàng như đọc thông qua đầu ra trình biên dịch. Ngôn ngữ kịch bản có thể được chấp nhận cho các dự án đơn giản và nhanh chóng. Ngoài một mức độ phức tạp nhất định, người ta cần các ngôn ngữ có cấu trúc tốt, được cấu trúc tốt. Chẳng hạn như C++ hoặc Java.

Hầu hết các ngôn ngữ kịch bản đều khuyến khích lập trình cẩu thả.

Đối với "lỗ hổng bảo mật": nếu bạn đề cập đến lỗi tràn bộ đệm, lỗi phân bổ/deallocation, câu trả lời là "STL". Và đào tạo thích hợp tất nhiên :-)

4

tntnet (http://www.tntnet.org) là một công cụ tuyệt vời để tạo các ứng dụng web với C++.

1

Qt là sẽ phát triển từng ngày. Và Wt là cố gắng để đứng cho bộ công cụ web dựa trên Qt. C++ ngôn ngữ mạnh mẽ và tốt nhất theo ý kiến ​​của tôi. Nếu bạn thích các dự án gnu và công nghệ độc lập. Tôi thực sự đề nghị sử dụng chúng. Tôi đã sử dụng PHP, Phyton, C#, VisualBasic, Fortran, vv nhưng tôi không thích nhiều như C++ trong số đó.

1

Tôi đã thử Wt và thực sự thích nó. Tôi sẽ không cung cấp cho bạn bất kỳ khuyết điểm hoặc ưu để sử dụng nó từ đầu, nhưng khi bạn có một phụ trợ bằng văn bản trong C/C++ với hàng triệu mục API sau đó Wt là một sự lựa chọn rõ ràng. Có một số tính năng rất mạnh mẽ, dễ sử dụng hơn, ví dụ như các bảng được nạp động. Xử lý tín hiệu trên máy chủ, vv

Một điều tôi thực sự không thích ở Wt là nó không tương thích với Apache trên Windows vào thời điểm viết bài này. Bạn phải sử dụng Unix hoặc IIS trên Windows. Wt cũng cung cấp máy chủ http của riêng nó, rất thuận tiện cho việc phát triển các ứng dụng của bạn nhưng tôi sẽ không tin tưởng nó vào vai trò của máy chủ sản xuất vì tôi không chắc chắn về tính bảo mật của nó.

0

Apache Celix trông giống như một dự án đang hoạt động hứa hẹn đáp ứng các yêu cầu của câu hỏi này (mặc dù cũ). Xem: http://celix.apache.org/

Từ trang Mô tả dự án Apache:

Celix là một thực hiện các đặc điểm kỹ thuật OSGi thích nghi với C.Nó sẽ theo API càng gần càng tốt, nhưng vì đặc tả OSGi được viết chủ yếu cho Java, sẽ có sự khác biệt (Java là OO, C là thủ tục). Một khía cạnh quan trọng của việc thực hiện là khả năng tương tác giữa Java và C. Khả năng tương tác này đạt được bằng cách chuyển và triển khai đặc tả Dịch vụ Từ xa trong Celix.

Các vấn đề liên quan