2010-12-01 18 views
12

Đây là thiết lập tại cửa hàng của chúng tôi:Giới thiệu Rails vào một cửa hàng PHP? Hoặc xây dựng những gì chúng tôi đã sử dụng?

  • 1 RẤT lớn ứng dụng PHP (Kohana 2) với nhiều của dev và rất nhiều cơ sở hạ tầng
  • Nhiều (4-5 và phát triển) nhỏ PHP ứng với 1- làm việc 2 dev về những vấn đề

:

  • không có thử nghiệm
  • .210
  • không có tài liệu
  • triển khai mong manh và tẻ nhạt quá trình

tôi được chuyển từ các ứng dụng lớn duy nhất qua phía bên của ngôi nhà với nhiều ứng dụng nhỏ hơn. Việc thiếu kiểm tra và quy trình triển khai thích hợp trong cửa hàng của chúng tôi khiến tôi lo lắng rằng tôi sẽ dành nhiều thời gian sửa lỗi và triển khai sửa lỗi hơn là viết mã cho các tính năng mới.

Giải pháp A:

  • giới thiệu PHPUnit và Selenium
  • Di chuyển chúng qua Phing và Dbdeploy

Vấn đề với A: Thiết lập PHPUnit đã được tương đối dễ dàng, nhưng chức năng thử nghiệm với Selenium là một cơn đau toàn bộ. VM của chúng tôi làm việc tuyệt vời cho dev, nhưng Selenium chốt kim, cộng với một vài xét nghiệm đơn giản mất mãi mãi. Tôi không nghi ngờ tôi có thể có được tất cả các công nghệ này chơi tốt với nhau, nhưng tất cả có vẻ như một mớ hỗn độn và sự phức tạp của những làm việc với nhau có vẻ mong manh.

Giải pháp B:

  • Đổi thành Rails
  • Sử dụng thử nghiệm tích hợp và/hoặc RSpec/Dưa chuột (hội nhập của thứ hai dường như đơn giản)
  • Sử dụng tích hợp DB di cư
  • Sử dụng Capistrano để triển khai

Dựa trên các vấn đề chính o f thử nghiệm, tôi bắt đầu nhìn vào Rails. Dựa trên bản chất của các trang web khác mà chúng tôi quản lý, tôi nghĩ Rails có thể là một giải pháp tốt. Thử nghiệm tích hợp, cộng đồng tuyệt vời, nhiều công cụ tuyệt vời và phát triển nhanh.

Sự cố với B: Mọi ứng dụng hiện có trên Kohana 2 (khuôn khổ PHP) và không ai trong tổ chức biết Rails. Nhược điểm của việc giới thiệu một công nghệ mới sẽ phá vỡ các đội. Nếu tôi di chuyển các trang web đến Rails, sau đó bị một chiếc xe buýt đâm vào, chúng tôi sẽ hơi say.

Bottom line:

Dựa trên điểm đau (triển khai, kiểm tra, tài liệu, di cư DB) của chúng tôi, nó là giá trị chi phí để chuyển sang Rails? Hay chúng ta nên ở lại Kohana và tiếp tục thử và nhận các công cụ khác được xây dựng?

Mọi đề xuất? Bất cứ ai đi qua bất cứ điều gì tương tự? Quản lý đã nói với tôi rằng họ đang mở để nghe về Rails và chỉ đơn giản là muốn sử dụng công cụ tốt nhất có thể - bất kể đó là gì. Tuy nhiên, kiến ​​trúc sư trưởng của chúng tôi sẽ cần một số thuyết phục nếu tôi quyết định chuyển đổi khuôn khổ cho các dự án nhỏ hơn của chúng tôi.

+0

@closers: Chỉ vì bạn không có gì để nói về vấn đề này không có nghĩa là nó quá chủ quan và tranh cãi đối với một số người bị kẹt trong các tình huống tương tự để đưa ra câu trả lời hữu ích. – markus

+6

Trong ý kiến ​​của tôi, đó chính xác là loại câu hỏi khiến SO nhiều hơn là một diễn đàn 'sendmetehcodez'. Với các câu hỏi như thế này, mọi người có thể tìm hiểu về sự phức tạp của các quyết định meta cấp cao hơn, v.v. – markus

+0

@closers: nếu tôi cần chỉnh sửa câu hỏi của mình, vui lòng cho tôi biết. Tôi nghĩ rằng đây là một quyết định vô cùng phức tạp và tôi nghĩ rằng một trong nhiều nhà phát triển khác có (hoặc sẽ) đi qua. – jmccartie

Trả lời

6

Có rất nhiều yếu tố ảnh hưởng đến quyết định của bạn.

Nếu bạn chuyển sang đường ray, hãy nhớ rằng sẽ mất một lúc để bạn và nhóm của bạn tìm hiểu khung/ngôn ngữ và có thể dễ dàng làm chậm thêm các tính năng trong một thời gian. Nó thực sự chỉ phụ thuộc vào nhóm của bạn, thời gian hạn chế và nhiều yếu tố khác.

Có thể thử 1 trong số các dự án nhỏ có đường ray và xem bạn và nhóm của bạn có thực sự thích đường ray không (tôi không).

Câu trả lời sẽ khác nhau đối với mỗi đội. Tôi sẽ có một cuộc họp nhóm và thảo luận về ưu và nhược điểm của cả hai quyết định. Sau đó có một cuộc bỏ phiếu.

+0

Tôi đã bỏ phiếu này vì tôi đồng ý - nhưng tôi chỉ ước rằng công ty của tôi đã vận hành một quy trình dân chủ để quyết định loại điều này! –

9

Tôi nghĩ bạn có thể nhận được rất nhiều câu trả lời khác nhau tùy thuộc vào loại nhà phát triển của chúng tôi.

Cá nhân, tôi nghĩ bạn nên gắn bó với PHP nhưng chuyển sang Kohana 3. Và sau đó giới thiệu các kỹ thuật quản lý và phát triển tốt hơn (tài liệu, kiểm tra, v.v.). Chỉ cần ý kiến ​​của tôi, không thực sự là một giải pháp.

+0

Tôi (và một số ít người khác) vui mừng về KO3, nhưng nó không thực sự giải quyết được các vấn đề lớn hơn (kiểm tra, tài liệu, triển khai). Trong thực tế, nó tạo ra riêng của nó, nhỏ hơn, chia trong nhóm kể từ khi 1 ứng dụng KO2 lớn của chúng tôi có thể sẽ không di chuyển trong một thời gian. – jmccartie

5

Chuyển sang Rails (hoặc bất kỳ ngôn ngữ khác) có thể sẽ chi phí bạn rất nhiều trong ít nhất một trong các cách sau:

  1. Thời gian đầu tư. Toàn bộ nhóm của bạn sẽ phải học Rails, trong khi tiếp tục làm việc với PHP.
  2. Chi phí máy chủ. Bạn sẽ phải có một bộ máy chủ riêng biệt cho Rails và PHP.
  3. Chi phí của con người. Một số nhóm của bạn có thể không muốn chuyển đổi và bạn sẽ phải thuê người mới.

Đề xuất của tôi là bạn xem xét phpUnderControl và bắt đầu nhận xét mã của bạn. Bạn không cần phải viết đống tài liệu, nhưng hãy đảm bảo rằng mọi phương thức đều được nhận xét.

Và cuối cùng, ý kiến ​​hoàn toàn sai lệch của tôi là bạn nên thử Kohana 3. Ngay cả khi bạn không thể di chuyển các ứng dụng hiện có, nó có thể giúp bạn tiết kiệm một số sự thất vọng với các ứng dụng mới.

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