2009-03-27 17 views
8

Tôi sẽ xây dựng giải pháp chìa khóa trao tay cho thị trường theo chiều dọc và muốn cung cấp cả hai tùy chọn: phần mềm như dịch vụ và cung cấp cho họ cơ hội lưu trữ ứng dụng một mình. Nói cách khác, tôi đang nhắm đến việc có các tùy chọn triển khai tương tự như FogBugz của Joel.Django hoặc CodeIgniter cho ứng dụng Web Turn-Key

Tôi là một lập trình viên Python và tôi có thể bay qua dự án với Django. Có một số lý do tôi thích PHP mặc dù:

1) Cài đặt Django và cấu hình giả sử bạn có quyền truy cập vào trình bao (mục tiêu của tôi không phải là loại trình lập trình). Mặc dù tôi có thể cung cấp dịch vụ cài đặt nhưng không thể cung cấp trên máy chủ của họ.

2) Django chỉ chạy trên một số máy chủ cụ thể phải đặc biệt chú ý để bật tính năng này. Cài đặt mod_python/mod_wsgi, và hầu hết các khách hàng tiềm năng của tôi sẽ có quyền truy cập root, hoặc thậm chí là một cPanel.

3) Sử dụng PHP có nghĩa là tôi có thể chạy nó trên máy chủ hiện có của họ. Tôi sẽ không cần phải di chuyển chúng đến một máy chủ kích hoạt Django, và không có thời gian chết cho email của họ, trong khi các bản cập nhật DNS.

Mặt khác, tôi có rất ít kinh nghiệm với PHP. Smarty như một ngôn ngữ templating trông đẹp, và hoạt động tương tự như các mẫu Django. Nó không cung cấp mẫu thừa kế mặc dù, ngoại trừ một cách rất hackish mà tôi không muốn sử dụng vì nó có thể phá vỡ các ứng dụng nếu các nhà thiết kế messes chúng lên. Bạn nghĩ sao? Cảm ơn trước!

+0

Chắc chắn, PHP sẽ dễ cài đặt hơn ứng dụng Python nhưng bạn đang mở toàn bộ các sâu về cấu hình máy chủ web (Apache, IIS, những người khác?), Các phiên bản PHP (PHP4 và lỗi thời, lỗi PHP5s) có người dùng thực sự nhận được máy chủ phục vụ cho PHP của bạn. Sau đó, bạn có cơ sở dữ liệu ... –

+0

Âm thanh giống như các vấn đề tương tự gây rắc rối cho WordPress ... – GloryFish

+0

Bạn không cần Smarty nếu bạn đang sử dụng CodeIgniter, phải không? Nó đã tách chế độ xem khỏi bộ điều khiển. Và nó bao gồm một cơ chế bộ nhớ đệm. –

Trả lời

4

Triển khai rõ ràng là một vấn đề đối với tất cả các ứng dụng web không dựa trên PHP, nhưng tôi nghĩ mọi thứ đang trở nên tốt hơn với kiểu DreamHost/Engineyard của ISP, người cung cấp Ruby/Python vv. Có vẻ như sẽ có nhiều cuộc thảo luận tại PyCon trong tuần này về các cách khắc phục sự cố triển khai. Sự tăng trưởng về tính phổ biến của Django, Turbogears và Pylons đang thúc đẩy nhu cầu cho các giải pháp triển khai tốt hơn.

Điều đó nói rằng, nếu thị trường mục tiêu của bạn là những người lưu trữ trên rất thấp $ 12 một năm loại ISP sau đó tôi không nghĩ rằng bạn có nhiều sự lựa chọn khác hơn so với PHP.

Cuối cùng, một điều tôi không đồng ý với bạn đang chạy PHP và Django trên cùng một máy chủ. Tôi đang chạy một vài ứng dụng PHP trên máy chủ của tôi với Apache và hàng chục trang web Django với mod_wsgi ở chế độ daemon. Chạy nó theo cách đó có nghĩa là trình thông dịch Python không sử dụng ram trong công nhân Apache và ngược lại, trình thông dịch PHP không làm nhiễm bẩn các trình tiện ích mod_wsgi của tôi :)

+0

Có, tôi có thể chạy chúng song song, trên webfaction chẳng hạn, nhưng đó không phải là loại nhà cung cấp hosting mà khách hàng của tôi sẽ có. – Lorenzo

+1

+1 với ghi chú: Thật không may là bạn muốn cung cấp không chỉ SaaS, nhưng để giới hạn sản phẩm cuối cùng của bạn với "tự cài đặt" có thể bị cản trở. Như Van Gale đã đề cập, nếu thị trường mục tiêu của bạn là loại * không muốn * một ứng dụng SaaS, nhưng cũng có một thời gian khó khăn để cài đặt cục bộ (giả sử Django), bạn có thể bị buộc phải dành thời gian trên PHP. Nhưng cuối cùng, bạn sẽ có một cơ sở khách hàng đủ lớn để trả tiền cho thời gian bổ sung mà bạn đầu tư? ROI sẽ trông như thế nào, xem xét bạn nói nó dễ dàng như thế nào cho bạn để làm cho nó xảy ra ở Django? –

3

Nếu bạn muốn ứng dụng của mình trở thành chủ đạo thì bạn gần như bị ép buộc đi với PHP. Đi từ Django đến PHP là rất nhiều dễ dàng hơn so với đi từ PHP để Django. Bạn biết các tiêu chuẩn, bạn chỉ cần tìm hiểu cú pháp và hàm PHP.

Tôi chắc chắn sẽ sử dụng một khung công tác PHP. Symfony và akelos rất giống với Rails (gần Django). Mặt khác, bạn có thể sử dụng Code Igniter để thực hiện việc sắp xếp mã của bạn.

2

Dựa trên kết luận của riêng bạn, tôi sẽ đi với CodeIgniter. Có vẻ như sẽ có rất nhiều công việc giúp khách hàng của bạn cài đặt ứng dụng web của bạn và tôi cho rằng bạn không muốn điều đó.

Xây dựng một ứng dụng web đơn giản để cài đặt để bạn có thể tập trung nỗ lực vào việc cải thiện ứng dụng và bán nó, thay vì làm việc bổ sung dưới dạng sysadmin hoặc viết hướng dẫn cài đặt mở rộng.

(Với điều đó đã nói, FogBugz không dễ cài đặt trên máy chủ Linux của chúng tôi, mặc dù nó được viết bằng PHP. Tôi và đồng nghiệp của tôi (cả lập trình viên!) Hơn một ngày làm việc đầy đủ để cài đặt.Vì vậy, tôi nghĩ rằng sẽ luôn có vấn đề với việc cài đặt các ứng dụng web tự lưu trữ.)

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