2008-12-18 17 views
7

Hiện tại tôi đang sử dụng khá nhiều Unix + Mysql + Perl + Apache với một số javascript để làm cho nó thêm ajax như thế nào. và tôi đã xem xét các trang web là web 2.0 và stackoverflow và thực sự thích thiết kế đơn giản và dòng chảy mượt mà từ các trang và hành động, v.v.Chất xúc tác + Mason + Mẫu :: Bộ công cụ có giá trị học tập hơn là gắn bó với LAMP + Axkit?

Tôi đang cố gắng quyết định xem chất xúc tác học tập, thợ xây và thích là sẽ có thể cung cấp cho tôi khả năng xây dựng trang web web 2.0 mạnh mẽ và mượt mà với ít nỗ lực hơn và mã dễ dàng hơn và sạch hơn để duy trì sau này.

kể từ bây giờ, tôi không thực sự thích trang web mà tôi xây dựng vì nó khá cũ và chậm. nhưng i've read from here rằng nếu tôi muốn xây dựng một sự nghiệp ra khỏi nó, thì LAMP sẽ là một lựa chọn tốt hơn?

chỉ tự hỏi về ba tiêu chí này, bước tốt nhất của tôi sẽ là gì?

  1. phát triển nghề nghiệp
  2. dễ dàng xây dựng web mạnh 2,0 trang web
  3. bằng cách nào là Catalyst thực sự tốt hơn so với ĐÈN?

cảm ơn. ~ steve

+1

Chất xúc tác Mason và Mẫu :: Bộ công cụ, tất cả có thể là một phần của LAMP, vì chúng chạy dưới Perl. –

+0

Vâng để làm rõ thực sự tôi đang sử dụng chỉ mod_perl và sử dụng axkit để chuyển đổi dữ liệu xml + xsl vào html và đã tự hỏi nếu có một cách mạnh mẽ hơn và hiệu quả để làm điều này. bây giờ bạn sẽ cần phải xử lý từng mục riêng biệt. – melaos

+0

s/bám vào LAMP/bám vào LAMP + axkit /; –

Trả lời

11

Câu trả lời cho câu hỏi của bạn ....

  1. "phát triển sự nghiệp" - MVC là một thực hành lập trình tốt để đạt được kiến ​​thức và kinh nghiệm của nó chắc chắn sẽ tăng cường tiềm năng nghề nghiệp của bạn.

  2. "dễ xây dựng trang web web 2.0 mạnh mẽ" - Chất xúc tác chắc chắn làm cho việc này dễ dàng hơn nhiều vì đã có người ở đó và thực hiện (ví dụ: mô-đun trên CPAN).

  3. "theo cách nào thì Catalyst thực sự tốt hơn LAMP?" - Thực sự chúng chỉ khác nhau. Tuy nhiên Catalyst thực thi một mô hình lập trình rõ ràng (MVC) mà làm cho thử nghiệm, tái cấu trúc, sản xuất mã tái sử dụng và dễ dàng hơn nhiều ... IMHO ;-)

Hy vọng điều này sẽ giúp.

PS. Catalyst là bố cục web (MVC) trên Perl và tôi rất khuyên bạn nên sử dụng nó. Tuy nhiên, hãy kiểm tra các lựa chọn thay thế ... Suggest some Good MVC Framework in Perl.

PPS. Một danh sách tốt các khung công tác web (không chỉ các khung công tác MVC) có thể được tìm thấy trên Perl5 Wiki.

PPPS. Perl là và sẽ tiếp tục là một lựa chọn tốt cho phát triển web (2.0) (tức là bỏ qua FUD). Nếu tình cờ tôi sai thì học một cái gì đó như Catalyst/MVC sẽ cung cấp cho bạn những kỹ năng cần thiết có thể dễ dàng thích ứng ở nơi khác.

+0

nhưng hiện tại chúng tôi đang sử dụng mod_perl + apache + axkit, sẽ cố gắng sử dụng Chất xúc tác yêu cầu bất kỳ nguyên tắc cơ bản lớn nào thay đổi hoặc tôi cần phải tự tìm hiểu điều này? cảm ơn. – melaos

+0

AxKit rất đẹp .. Tôi nhớ đã sử dụng nó một lúc trước. Có lẽ bạn không cần phải di chuyển? (Tuy nhiên nói rằng tôi dường như nhớ lại AxKit 2.0 không bao giờ xuất hiện .. xấu hổ). Catalyst/LAMP/các khung công tác khác không phải là các máy chủ ứng dụng XML nên chúng "khác" và do đó sẽ yêu cầu một số lượng công việc. – draegtun

+0

re: above. Tôi nghĩ chất xúc tác có lẽ là lựa chọn tốt nhất của bạn. Chất xúc tác hoạt động với mod_perl và cũng là bất khả tri khi nói đến những gì Mô hình & Xem sử dụng của nó để có thể u có thể tích hợp với mã hiện tại của bạn (ví dụ: xem XSP) ít nhất trong quá trình chuyển đổi. – draegtun

7

LAMP là Linux, Apache, Mysql và Perl. Đó chỉ là một chồng. Nếu bạn sử dụng một khung công tác web Perl, bạn vẫn đang sử dụng Perl. Bạn không thực sự lựa chọn giữa LAMP và Catalyst hoặc Mason.

+0

Vâng, P có thể là PHP, Perl, hoặc Python :-) – mat

+0

P có thể, nhưng như đã nêu trong câu hỏi văn bản, anh ấy đang sử dụng Perl P. :) –

4

Catalyst có vẻ là một khung rất tốt, đặc biệt khi được kết hợp với Template Toolkit. Nếu bạn muốn học Catalyst, tôi chắc chắn sẽ đọc qua số Catalyst tutorial.

Template Toolkit dường như tôi là hệ thống xử lý mẫu có khả năng hơn Mason.

Cá nhân, tôi nghĩ rằng Template Toolkit đáng để học, ngay cả khi bạn không sử dụng nó cho web.

Mã sao chép từ Template-Toolkit.org

 
[% FOREACH person IN people %] 
[% IF loop.first %] 
<table> 
    <tr> 
    <th>Rank</th> 
    <th>Name</th> 
    <th>Email</th> 
    </tr> 
[% END %] 
    <tr> 
    <td>[% loop.count %]</td> 
    <td>[% person.name %]</td> 
    <td>[% person.email %]</td> 
    </tr> 
[% IF loop.last %] 
</table> 
[% END %] 
[% END %] 

Bạn thậm chí có thể nhúng Perl mã trực tiếp vào các mẫu của bạn. Tùy chọn EVAL_PERL phải được bật để đánh giá mã Perl.

 
[% TRY %] 
    [% PERL %] 
     die "nothing to live for\n"; 
    [% END %] 
[% CATCH %] 
    error: [% error.info %] 
[% END %] 
+0

Hiện tại chúng tôi đang sử dụng axkit, vì vậy với điều đó tôi có thể nhúng biến vào xsl của tôi và biến đổi chúng một cách linh động, vì vậy với xslt và xpath tôi cảm thấy tôi có thể đạt được điều tương tự. như vậy là có một lợi thế nếu tôi học lên template :: toolkit? – melaos

+0

Ví dụ về Bộ công cụ mẫu
http://stackoverflow.com/questions/383403/code-golf-print-the-entire-12-days-of-christmas-song-in-the-fewest-lines-of-code # 383544 –

+1

"Bộ công cụ mẫu có vẻ như là hệ thống xử lý mẫu có khả năng hơn Mason". Huh? Mason cho phép bạn nhúng Perl vào các mẫu và cung cấp cho bạn toàn bộ sức mạnh của Perl. TT là một ngôn ngữ nhỏ! Bây giờ, nhiều người _prefer_ một ngôn ngữ nhỏ, nhưng bạn có mọi thứ hoàn toàn ngược ở đây. –

0

Tôi đồng ý với Dave Rolsky: gọi TT "có nhiều khả năng" hơn Mason là lựa chọn kém của từ. Những người thích TT dường như thích nó bởi vì nó được cho là "sạch hơn". Đến với TT từ Mason, TT cảm thấy như một chiếc áo khoác khá chặt chẽ. Giả thuyết bạn có thể rất tốt "có đầy đủ sức mạnh của perl" bên trong TT cũng như bên trong Mason, nhưng truy cập vào nó được chôn cất, và thực sự nếu nó không bị chôn vùi nó sẽ mất nó là một điểm bán hàng thực sự: nó sẽ không ' t có vẻ "sạch hơn" nữa.

Bản thân mình, tôi không chắc rằng tôi sẽ thừa nhận rằng TT là "sạch hơn" (nó sẽ là loại mát nếu perl người sẽ ngừng nội bộ các hùng biện từ chiến dịch smear chống perl, và vượt qua phức tạp tự ti này) . Nếu ý tưởng là các con khỉ trên web được cho là tốt hơn trong các cấu trúc điều khiển trong TT thay vì ở Mason, tôi sẽ đề nghị rằng nó không được thiết lập: Tôi mong rằng thông thường chúng cần sự trợ giúp của một Lập trình viên thực trong mọi trường hợp.

2

Tôi biết chủ đề này khá cũ, nhưng tôi sẽ đóng góp một ý tưởng. IMHO nó luôn luôn đáng giá học một cái gì đó mới, ngay cả khi bạn nghĩ rằng bạn sẽ không sử dụng nó một cách chuyên nghiệp. Việc tiếp xúc với mã mới hầu như luôn dẫn đến hiểu biết mới. Những hiểu biết có thể là tiêu cực: "Tại sao họ lại làm theo cách đó? Điều đó không có ý nghĩa gì?". Nhưng tôi nghĩ thường xuyên hơn bạn sẽ đi ra với một cách nhìn mới về mọi thứ, hoặc một cách tiếp cận mới để giải quyết một vấn đề chung.

Những thông tin chi tiết này là những gì giúp giữ cho các lập trình khỏi bị lỗi thời. Có lẽ đây là lý do tại sao rất nhiều người viết ngôn ngữ lập trình riêng của họ, hoặc đang tái phát minh ra bánh xe, và như vậy.