2010-01-12 35 views
6

Tôi đến từ một nền Java và PHP để xây dựng các ứng dụng web.Có ai đã sử dụng Lua để xây dựng một ứng dụng web không?

Có ai đã từng sử dụng Lua trước để tạo ứng dụng web ?

Câu hỏi: Nếu vậy, con của bạn sử dụng Lua so với PHP hoặc Java cho ứng dụng web là gì? (ví dụ: hỗ trợ máy chủ web, hiệu suất, bảo trì mã, v.v.).

+1

Có nghĩa là, Lua có vẻ là sự cân bằng hoàn hảo giữa Python và Ruby. – TeddyK

+0

Vâng, nó là phong nha tôi đoán http://lua-users.org/wiki/LuaVersusPython –

+0

Vì vậy, Lua là tốt hơn cho các ứng dụng web hơn PHP? Nếu vậy, tại sao? – TeddyK

Trả lời

2

Có một vài dự án sử dụng Lua để phát triển web.

Ví dụ: Nanoki, một công cụ HTTP và wiki được phát triển trong Lua thuần túy.

Hoặc Sputnik, được xây dựng trên đầu trang của Kepler.

Điều đó nói rằng, Lua là rất nhiều, hmmm, "tự làm" loại môi trường.

6

Tôi đang sử dụng Lua ngay bây giờ để xây dựng một ứng dụng web! Bất cứ điều gì xảy ra với các nhà phát triển phần mềm mà "tự mình làm" đều có một cái tên xấu - quá lười biếng, cai sữa trên các thư viện hỗ trợ cồng kềnh, hay cái gì? Trong thực tế, như những người khác đã chỉ ra, có hỗ trợ phong nha, chỉ cần không trên quy mô của Python, nói. Lua là cho đến nay ngôn ngữ kịch bản nhanh nhất (đặc biệt là với www.luajit.org xung quanh), và nhiều, nhiều hơn sạch hơn như là một thiết kế ngôn ngữ hơn bất kỳ khác trong giải đấu của nó ra khỏi đó. Điều này là rất quan trọng cho việc bảo trì lâu dài.

Đối với những người sử dụng lighttpd làm máy chủ web của họ (tôi kèm theo), tiền thưởng bổ sung là toàn bộ sức mạnh của Lua có sẵn cho mod_magnet tập lệnh, hữu ích cho xử lý yêu cầu đồng bộ/viết lại-trên-steroid.

+3

Chẳng có gì sai khi "tự mình làm", nhưng nếu bạn phải tự mình thực hiện mọi thứ, thì bạn sẽ phải dành rất nhiều thời gian cho những thứ đó, và như chúng ta đều biết, thời gian là tiền bạc. Ngoài ra còn có vấn đề mà bạn cần phải xem xét nhiều vấn đề bảo mật mà các thư viện xử lý cho bạn - nhưng đổi lại, bạn có thể phản ứng ngay lập tức nếu có lỗi, không phải lúc nào cũng xảy ra với thư viện - bạn thường xuyên phải đợi cho nó được cập nhật. –

+1

Thiết kế của Lua sạch hơn? Tôi đã từ bỏ trên Lua hướng dẫn sau khi tôi phát hiện ra rằng nó là tương tự như Python nhưng cú pháp không phải là có thể đọc được. Btw, Google đang thực hiện một C++ thực hiện Python mà nên chạy 5x nhanh. –

+0

[Lua vs Python] (http://stackoverflow.com/questions/356160/which-game-scripting-language-is-better-to-use-lua-or-python). Phim tại 11. –

7

Như những người khác đã đề cập Lua là "tự mình làm" loại môi trường. Ngoài ra nó là rất nhanh và khá bộ nhớ hiệu quả so với Perl/PHP/Python/Ruby đặc biệt là nếu bạn đang sử dụng LuaJIT. Và rất dễ dàng để tích hợp với mã C/C++. Thông thường, những điểm này không liên quan đến một ứng dụng web điển hình, nơi hiệu suất thường bị hạn chế bởi cơ sở dữ liệu. Ngoài ra, nơi bạn không thực sự quan tâm về tích hợp C/C++ và nơi bạn không thực sự muốn tự mình làm những việc mà đúng hơn là bạn muốn xây dựng trên các khung công tác hiện có. Vì lý do này, tôi không nghĩ Lua phù hợp với một ứng dụng web điển hình. Đồng thời có một số ứng dụng thích hợp nơi Lua tỏa sáng. Ví dụ: công ty chúng tôi chuyên xây dựng các máy chủ HTTP hiệu suất cao được sử dụng để quảng cáo. Vì vậy, những gì chúng ta đang sử dụng là máy chủ HTTP của chính chúng ta được viết từ đầu trong C++, tích hợp Lua như một ngôn ngữ kịch bản cho logic nghiệp vụ của chúng ta. Điều này cho phép chúng ta tùy biến logic nghiệp vụ trong Lua nhanh chóng so với những gì chúng ta phải làm nếu nó là C++ thuần túy. Đồng thời, chúng tôi luôn có tùy chọn để thực hiện các phần quan trọng trong C++. Nếu chúng ta đang sử dụng bất kỳ ngôn ngữ kịch bản nào khác, chúng ta tích cực nó sẽ chậm hơn, nó sẽ sử dụng nhiều bộ nhớ hơn và thường sẽ khó tích hợp hơn với mã C++. Đồng thời chúng tôi không thực sự quan tâm nhiều về việc mất hỗ trợ thư viện rộng lớn, chúng tôi sử dụng các ngôn ngữ kịch bản khác vì miền chúng tôi đang làm việc khá chuyên biệt nên thường những thư viện đó không liên quan đến nó.

2

Ưu điểm: nhanh, nhỏ, thanh lịch, dễ dàng tạo liên kết của riêng bạn với thư viện C.

Nhược điểm: đôi khi bạn phải viết thư viện riêng cho những thứ bạn sẽ nhận được miễn phí bằng Python.

http://luanova.org/ có một số bài đăng hay về phát triển web ở Lua.

4

Tôi đã lập trình một vài trang web với Lua. Việc đầu tiên là một kế hoạch đột kích cho World of Warcraft guild của tôi (đó thường là cách bạn bắt đầu lập trình ở Lua ...). Tôi đã sử dụng mod_lua với một phiên bản alpha của Apache 2.4 cho điều đó. Hai trang khác là các trang web cuộc thi nhỏ dành cho khách hàng, được phát triển với WSAPI, Nginx, Spawn-fcgi và Orbit. Thiết lập này rất nhanh, nhanh hơn mod_lua và bất cứ thứ gì khác mà tôi đã thấy. Các trang sẽ hiển thị ngay lập tức như thể chúng nằm trong bộ nhớ cache! Kinh nghiệm rất dễ chịu và Lua khiến bạn nhanh chóng làm việc hiệu quả. Nhưng bạn nên tổ chức tốt hơn. Lua đang thiếu rất nhiều pin khi nói đến phát triển web, vì vậy bạn thường phải thực hiện của riêng bạn và nó có thể trở nên lộn xộn. Vì vậy, tôi đề nghị bạn lên kế hoạch những gì bạn cần trước khi bắt đầu. Tôi đã sử dụng Lua "ORM" của riêng mình với MySQL và một phiên bản chia tách của Lua Pages cho các mẫu. Có một cái nhìn ở đây nếu bạn muốn cung cấp cho Lua + Wsapi + Nginx một thử: http://mascarenhas.github.com/2009/10/24/wsapi-nginx-fcgi.html Tôi nghĩ rằng đó là thiết lập tốt nhất.

0

lighttpdmod_magnet là nền tảng thực sự tuyệt vời, nhưng tôi khuyên bạn trước tiên hãy xem Kepler Project. Đó là một khởi đầu khá tuyệt vời.

Bạn có thể sử dụng nền PHP/Java của mình hữu ích.

-1

Chúng tôi sử dụng lua với thành công lớn cho việc triển khai chương trình phụ trợ của chúng tôi. Bạn cũng có thể xem JUCI webgui cho các thiết bị nhúng. Nó sử dụng lua để thực hiện backend. Bạn có thể xem mã tương tác với backend lua/C như thế nào: https://github.com/mkschreder/juci

Lưu ý rằng phụ trợ này là phần phụ trợ jsonrpc thuần túy để nó không tạo bất kỳ trang html nào như php hoặc cgi. Lua là hoàn hảo nếu tất cả những gì bạn làm là xử lý và trả lời các yêu cầu json. Bạn cũng có thể có ứng dụng chính trong php và sử dụng lua để viết ứng dụng trên backend. Hoặc ứng dụng chính hoàn toàn trong javascript. Tôi nghĩ rằng nếu bạn định sử dụng lua ở những nơi mà bạn muốn tạo html thì bạn sẽ thấy nó thiếu nhiều tính năng, nhưng nếu bạn giới hạn nó để thực hiện chức năng backend hoàn toàn thì bạn sẽ thấy nó hoạt động rất tốt .

+0

Cảm ơn bạn đã trả lời và đóng góp cho Stack Overflow, tuy nhiên, hãy xem lại câu hỏi thứ hai, vì nó có vẻ không đúng chủ đề theo [help/on-topic]. Trả lời câu hỏi ngoài chủ đề làm cho nó có vẻ như không sao để hỏi những câu hỏi như vậy - nó không phải.Các câu hỏi ngoài chủ đề có thể bị đóng và sau đó bị xóa, điều này sẽ vô hiệu hóa đóng góp của bạn! –

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