2010-10-19 21 views
6

Để phát triển một dự án mới, chúng tôi đang suy nghĩ để đào tạo. NET người học hoặc Java EE hoặc Ruby on Rails. Quyết định này chỉ vì nguồn mở và tránh mua hệ điều hành cũng là cơ sở dữ liệu Sql Server.Có quyết định khôn ngoan để chuyển từ .NET sang Java EE hoặc RoR không?

Hiện tại không có người làm việc trên Java EE hoặc RoR. Tất cả các thành viên trong nhóm nên học từ đầu.

Nếu ứng dụng đang phát triển trong tương lai và đòi hỏi phải có nhiều máy chủ, phần mềm nguồn mở/miễn phí có mang lại cho tôi TCO khi so sánh với người đào tạo và tuyển dụng những người có kinh nghiệm hơn không?

Vui lòng cho tôi biết đây có phải là quyết định tốt hay không.

+1

Bạn có thể sử dụng mã NET với cơ sở dữ liệu miễn phí, và chạy nó trên hệ điều hành miễn phí. Có thể có lý do chính đáng để chuyển đổi, nhưng tôi không chắc đây là một trong số đó. – Ken

Trả lời

5

Tại sao không xem xét Mono? bạn có thể tận dụng kiến ​​thức hiện có của mình và sử dụng phần mềm nguồn mở.

10

Bạn có thể lập trình .NET hoàn toàn miễn phí với VS 2010 express và cơ sở dữ liệu nguồn mở.

Tôi muốn gắn bó với bất kỳ ai trong nhóm của bạn có nhiều kinh nghiệm nhất. Nếu bạn có nhiều năm kinh nghiệm .NET, tôi sẽ không di chuyển vì bạn mất tất cả.

Bạn không muốn toàn bộ nhóm của mình "học từ đầu" khi họ đang cố gắng xây dựng thứ gì đó cho sản xuất. Không có ai ở đó để hướng dẫn nhóm nghiên cứu trên khắp các tiểu hành tinh rộng lớn của gotchas và những điều kỳ quặc mà mỗi ngôn ngữ lập trình mới trình bày khi bạn bắt đầu học nó.

Lời khuyên của tôi, gắn bó với .NET ngay cả khi điều đó có nghĩa là sử dụng các lựa chọn thay thế nguồn mở có sẵn cho bạn.

Ngoài ra, nếu dự án của bạn sẽ phát triển thành thứ gì đó trải dài trên nhiều máy chủ, v.v ... bạn có thể muốn xem xét việc trích dẫn viên đạn và mua giấy phép thương mại. Bằng cách này, bạn nhận được hỗ trợ và bạn có ai đó để "đổ lỗi" khi (không nếu) những điều đi sai. Dù thế nào đi nữa, có rất nhiều giải pháp mã nguồn mở và thương mại .NET có thể được sử dụng để đảm bảo dự án của bạn có mức chi phí phù hợp với nó, trong khi vẫn có thể tận dụng bộ kỹ năng hiện tại của nhóm bạn.

+3

Tôi chủ yếu đồng ý, ngoại trừ phần về "giấy phép thương mại". Khi mọi thứ bắt đầu sai, những người đã cấp phép cho bạn hệ điều hành và DB sẽ không đến giải cứu bạn (ít nhất là không có thời gian hữu ích) và khách hàng của bạn sẽ không tiếp tục trả tiền cho bạn chỉ vì bạn có ai đó đổ lỗi. Điều tôi muốn là trả tiền cho ai đó để giữ một dịch vụ * đang chạy cho tôi. Và sau đó tôi không quan tâm làm thế nào nó được cấp phép, miễn là dịch vụ vẫn lên. Tôi đã khởi chạy và hỗ trợ các dịch vụ web trên các hệ thống miễn phí và độc quyền và không hỗ trợ sản phẩm tốt hơn. Tên của trò chơi là dịch vụ! – Ken

4

Tôi sẽ cung cấp cho một NO vang dội về điều đó.

  • Nếu bạn phát triển chi phí liên quan đến công cụ là yếu tố quyết định thì đây phải là một dự án rất nhỏ. Lập trình viên Chi phí bất kể bạn sử dụng công cụ nào trên đó.

  • Giả thiết cơ sở của bạn không chính xác. A có một phiên bản miễn phí của studio trực quan. B. bản thân những người khiếu nại cho các ngôn ngữ .net đều miễn phí. mono có sẵn và là nguồn mở hoàn toàn.

  • Chi phí thiếu kinh nghiệm với công cụ có thể mất nhiều chi phí hơn sau đó chi phí mua một công cụ trong thời gian dài.

  • .net là cơ sở dữ liệu bất khả tri, bạn có thể sử dụng mysql để biết chi phí.

1

Nếu nguồn mở là một ràng buộc mạnh mẽ, bạn phải chuyển sang Java EE hoặc RoR (Mono quá nhỏ).Nhưng bạn phải xem xét rằng TCO của dự án của bạn sẽ được tăng cường bởi giá cao hơn của các chuyên gia tư vấn Java EE.

Tôi không biết RoR rất tốt, nhưng bạn có thể gặp một số vấn đề khi tìm chuyên gia tư vấn ở cấp độ chuyên nghiệp.

DOT.NET dễ sử dụng và phát triển hơn và bạn có thể tìm thấy rất nhiều nhà phát triển, không quá tốn kém. Chắc chắn bạn phải trả tiền cho hệ điều hành và nền tảng như SQL Server và vân vân, nhưng bạn đã nói với chúng tôi TCO, vì vậy bạn phải xem xét tất cả các chi phí ...

Đặc biệt Java EE có rất nhiều nhà tư vấn trong doanh nghiệp môi trường, vì vậy chi phí cao hơn .NET. IMHO :-) Và bạn phải xem xét rằng các công cụ Java EE không được tinh chỉnh như .NET Tools. Mọi người Java EE muốn bán cho bạn tư vấn, chứ không phải hệ điều hành ;-)

Tôi có thể khuyên bạn lựa chọn thứ 4 không? PHP: nó có rất nhiều chuyên gia tư vấn, nó là nguồn mở và bạn có thể tìm thấy các nhà phát triển anh chàng hoặc các nhà phát triển chuyên nghiệp. Nó không quá thanh lịch hay hấp dẫn như Java, .NET và RoR, nhưng rất nhiều ứng dụng Web được phát triển bằng PHP: Facebook là một ví dụ tuyệt vời! Joomla, Wordpress.

Với PHP, bạn tìm thấy tất cả những gì bạn muốn làm tư vấn và nền tảng.

Chắc chắn tôi cho rằng bạn muốn phát triển ứng dụng web bởi vì trong trường hợp tôi khuyên bạn chỉ nên dùng .NET!

IMHO

1

Bạn sẽ thích câu trả lời này: tùy theo điều đó.

Đừng chỉ nghĩ về việc phát triển nhân viên, ban đầu hoặc để bảo trì sau này, mà còn loại nhà khai thác bạn sẽ cần. Sự thâm nhập thị trường của nền tảng của bạn càng nhỏ, tiền lương của họ càng cao, nếu bạn có thể tìm thấy chúng. Và để mở rộng quy mô, bạn sẽ cần đến chúng, vì các vấn đề không lường trước sẽ phát sinh bất kỳ nền tảng nào bạn sử dụng: tương tác của cơ sở hạ tầng mạng với máy chủ ứng dụng của bạn hiếm khi hoàn toàn gặp sự cố. Ngoài ra, đừng chỉ nghĩ đến nhân viên hiện tại của bạn, nhưng việc tuyển dụng những người mới dễ dàng như thế nào (và họ sẽ tính phí bao nhiêu).

Để đi qua các tùy chọn bạn đang niêm yết, mạo hiểm outcries tôn giáo:

  • RoR là tuyệt vời khi bạn có một loại ứng dụng và cấu trúc cơ sở dữ liệu. Đi ra ngoài những người sẽ bị tổn thương. Về mặt tích cực, các nhà phát triển bạn sẽ tìm thấy có khả năng háo hức và tò mò, sẵn sàng học những thứ mới. Ở phía bên trái, họ sẽ rời đi để nhảy vào bandwagon tiếp theo? (Để công bằng, đây là một thách thức đối với tất cả các công nghệ tương đối mới.)
  • Tôi không chắc tôi muốn giới thiệu J2EE như một hướng chiến lược: các khung công tác Java khác đã đạt được lực kéo đáng kể. Mặt khác, việc tìm kiếm nhân viên cho J2EE chung không phải là quá khó, nhưng các phần mở rộng nhà cung cấp cụ thể cho hoạt động và giám sát sẽ khác nhau giữa các sản phẩm.
  • .NET bị phân mảnh nội bộ (hoặc, tích cực, từ nhiều tùy chọn): bạn đang nói ASP.NET + SQL Server? Mặt trước của Silverlight hoặc SharePoint kết thúc? Hoặc thậm chí các ứng dụng 'đám mây' của Azure? Phạm vi của các tùy chọn bạn thực sự sử dụng càng lớn thì tổng bộ sẽ càng khó để vận hành và bảo trì. Đối với một số của các công nghệ này, việc tìm nhân viên là một miếng bánh.
+1

Loại cấu trúc cơ sở dữ liệu và/hoặc cơ sở dữ liệu nào hoạt động kém? –

+0

Từ những gì tôi đã nhìn thấy (NB: đã không tích cực cố gắng phát triển, vì vậy có lẽ tôi tắt ... rails của tôi!), Rails muốn xác định mô hình dữ liệu - vì vậy bất kỳ loại mà bạn không xác định cơ sở dữ liệu, hoặc có các tập quán khác với các yêu cầu về cấu trúc (ví dụ: báo cáo không phải Rails). Để báo giá: 'Rails là phần mềm được đánh giá', được tối ưu hóa cho một số cách làm việc nhất định. Nếu những điều này phù hợp với các yêu cầu khác của bạn, tuyệt vời. Nếu không, bạn đang ở trong một nhức đầu. Sự cân bằng thông thường áp dụng: bạn sẽ có được sự tiện lợi với chi phí linh hoạt (và tính linh hoạt chỉ với chi phí tiện lợi). –

2

Tôi mạnh mẽ sẽ đề nghị để chuyển sang Ruby on Rails

lý do sẽ bao gồm nhiều dễ học khi so sánh với .NET hay J2EE. Nguồn mở. Rất rất rất tích cực cộng đồng mà làm rất nhiều công việc cho bạn.

Khả năng mở rộng khôn ngoan, bạn có rất nhiều lựa chọn.

Thay vì trả tiền cho nhà phát triển, hãy thanh toán phần cứng và cân nhắc Chia tỷ lệ ngang.

RoR là ngăn xếp hoàn chỉnh để phát triển ứng dụng dựa trên web. Nó có khá nhiều hỗ trợ cho hầu hết tất cả các cơ sở dữ liệu (bao gồm nhưng không giới hạn đối với MySql, SQLServer, Oracle, MongoDB, NoSQL, HyperTable, v.v.)

Một loạt các máy chủ web hỗ trợ (WebRick, Mongrel, thin, hành khách, vv)

Phát triển ứng dụng với Ruby on Rails nhanh hơn rất nhiều. Hy vọng cả hai nhà phát triển .NET và các nhà phát triển J2EE sẽ chấp nhận thực tế này.

best of luck ...

Kannan R.

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