Có ai sử dụng máy ảo để phát triển web không, và tại sao? [đóng cửa]


10

Tôi thấy một vài nhà phát triển thích sử dụng máy ảo để phát triển web. Có những người khác làm điều này? Nếu có, tại sao bạn làm điều đó? Có bất kỳ ưu / nhược điểm nào để phát triển trên VM hơn là trong môi trường không ảo?

Tôi nghĩ mọi thứ sẽ chậm hơn trong VM.


Bên cạnh ảo hóa, còn có các hệ thống dựa trên hình ảnh như Squeak và Pharo (một dẫn xuất squeak).
Jesse Millikan

@Jlie Millikan Tôi không chắc ý của bạn là gì. Không phải Squeak và Pharo là ngôn ngữ lập trình sao? Tôi đang cố gắng hiểu làm thế nào chúng liên quan đến các máy ảo.
7wp

Câu trả lời:


20

Tôi sử dụng máy ảo để kiểm tra IE. Tôi có một máy Windows chuyên dụng, nhưng tôi nghiêng về việc sử dụng máy ảo vì một vài lý do:

  • Thật rắc rối khi chuyển đổi máy tính, ngay cả khi nó ở ngay bên cạnh bạn
  • Thật dễ dàng để khôi phục VM để có môi trường kiểm tra sạch
  • Tôi thà sử dụng một môi trường mà người dùng thực sự sẽ sử dụng chứ không phải là các loại như IETester và bạn thường không thể chạy nhiều phiên bản IE cùng một lúc.
  • Nó rẻ hơn để chạy nhiều phiên bản VM hơn là mua nhiều máy tính thử nghiệm
  • Máy ảo, ít nhất là máy ảo cho Mac OS X, đã trở nên rất tốt trong vài năm qua đến nỗi sự kỳ thị "chậm" đối với máy ảo là không có cơ sở.

2
VM hoạt động tốt theo tốc độ, nhưng chỉ khi bạn có bộ nhớ dự phòng để hỗ trợ đúng cách.
Matthew Scharley

@Matthew: Vâng, nhưng hầu hết các máy tính ngày nay đều có tiêu chuẩn 4GB và đối với một nhà phát triển web, điều đó đủ để chạy cùng lúc ít nhất một (nếu không phải hai) VM.

7

Một lý do khác khiến mọi người sử dụng VM để phát triển web là ảo hóa môi trường máy chủ mà họ có thể tắt thực sự dễ dàng.

Ở nhà tôi luôn sử dụng máy ảo để thiết lập các dự án cá nhân để tôi có thể tắt hoàn toàn khi tôi muốn, nói, chơi một trò chơi. Trong môi trường làm việc, bạn có thể muốn tắt nó đi để bạn có đầy đủ tài nguyên để chuyển mã video sang FLV.

Nó chỉ mang lại cho bạn sự linh hoạt để làm những gì bạn muốn với tài nguyên của bạn.


3

Tôi thích sử dụng máy ảo cho hầu hết sự phát triển ... đặc biệt là khi tôi làm việc với một nhóm các nhà phát triển. Máy ảo cho phép tôi xây dựng một "môi trường trong một hộp" có thể được thiết lập nhanh chóng với ít đau đầu. Vì tôi sử dụng MBP làm máy chính, tôi thích VMWare hơn ... nó ít đau đớn hơn, đặc biệt là trong môi trường "chủ yếu là Windows".

Liên quan đến tốc độ, nó trung thực thay đổi từ thiết lập để thiết lập. Các vấn đề thực sự duy nhất tôi thấy với tốc độ VM liên quan đến a.) Không có đủ tài nguyên vật lý (bộ nhớ, v.v.) hoặc b.) Không phân bổ đủ tài nguyên cho VM của bạn. Mặt khác, tôi thực sự thích làm việc trong Windows VM trên máy Mac của mình hơn là làm việc trên hộp gốc.


2

Môi trường thử nghiệm là một môi trường lớn như những người khác đã đề cập.

  • kiểm tra trình duyệt (ví dụ: safari, v.v.,)
  • môi trường kiểm tra sạch
  • dễ dàng có nhiều cấu hình
  • kiểm tra khả năng truy cập (trình đọc màn hình và tương tự)

Tôi có một VM hoàn toàn để cấu hình và gỡ lỗi mã của tôi đã cài đặt kcachegrind, cùng với selenium, xdebug và một vài công cụ khác được cấu hình để dễ dàng cấu hình và gỡ lỗi mã của tôi. Có một số người có thể nói đây là môi trường phát triển đã có nhưng cá nhân tôi thích có một máy ảo trên máy tính để bàn dành riêng cho loại nhiệm vụ này.

Ngoài ra, liên quan đến sự chậm chạp trong VM:

Mọi thứ chậm hơn trong một VM vì chi phí hoạt động đòi hỏi phải "ảo hóa" môi trường. Tuy nhiên, VM ngày càng trở nên gần gũi hơn với trình ảo hóa giúp giảm bớt chi phí cần thiết cho VM.


2

Tôi sử dụng máy ảo mọi lúc. Đối với mục đích thử nghiệm, lý do là hiển nhiên, nhưng tôi cũng sử dụng nó cho môi trường phát triển thực tế của tôi, chủ yếu là bởi vì 1) nó làm cho việc chuyển đổi sang phần cứng mới không có trí tuệ, và 2) nó mang lại cho tôi một "bản chụp" dễ dàng (hoặc thiết lập của ảnh chụp nhanh) trở lại khi cần thiết cho các cấu hình của môi trường phát triển của tôi. Nhu cầu của tôi có thể là duy nhất - Tôi chủ yếu là nhà phát triển Delphi sử dụng nhiều phiên bản Delphi và rất nhiều thành phần của bên thứ ba - nhưng lượng thời gian và đau đầu khi môi trường phát triển của tôi bên trong một máy ảo đã được lưu, có lẽ không thể bị cường điệu hóa.

Điều đó nói rằng, đừng keo kiệt trên hộp bạn chạy chúng, đặc biệt là khi nói đến bộ nhớ. ; )


1

Đây là một câu trả lời muộn. Tôi đồng ý với tất cả các điểm trong câu trả lời được chấp nhận, nhưng tôi muốn thêm rằng tôi sử dụng máy ảo dành riêng cho phát triển Web và không chỉ để thử nghiệm. Tôi đang sử dụng iMac bằng VirtualBox để chạy Windows, Fedora và Ubuntu - đôi khi tất cả cùng một lúc. Tôi không có bất kỳ vấn đề với hiệu suất.

Tôi thích làm việc theo cách này vì tôi làm việc cho khách hàng chạy cả máy chủ Fedora và Ubuntu và nó cho phép tôi kết hợp chặt chẽ môi trường phát triển với môi trường sản xuất. Nó cũng làm cho tôi trở thành một quản trị viên hệ thống tốt hơn trong các lĩnh vực quan trọng nhất từ ​​quan điểm phát triển.


1

Đã tìm thấy bằng cách sử dụng VM một cách tốt để giữ một thiết lập phát triển dành riêng cho khách hàng.

Trong một công ty tư vấn trước đây, Devs biết rằng việc kích hoạt một VM cụ thể có nghĩa là bạn có môi trường làm việc để phát triển / thử nghiệm và triển khai phần mềm mà chúng tôi hỗ trợ cho khách hàng đó. Đặc biệt hữu ích khi hỗ trợ một số hệ thống kỳ quặc thực sự.

Đối với các ứng dụng mới, bạn sẽ có thiết lập mới nhất và tốt nhất trên máy Dev chính của mình. Nhưng những gì về khi bạn cần sửa lỗi một số ứng dụng VB6 cũ mà công ty bạn vẫn hỗ trợ. Fancy cài đặt Visual Studio 6 trên máy VS2010 sạch đáng yêu của bạn? Tôi không nghĩ vậy!

Cũng có nghĩa là mọi Dev đều dễ dàng hỗ trợ bất kỳ khách hàng nào.


0

Tôi chắc chắn đã sử dụng máy ảo để kiểm tra các trang web, nhưng không phải để viết mã.

Lợi ích của máy ảo là bạn có thể cài đặt các trình duyệt và hệ điều hành khác nhau, để kiểm tra các lỗi css không thể tránh khỏi mà bạn phát hiện ra trong IE6 / 7/8.


0

Tôi không thấy lý do để phát triển trang web trong một máy ảo, không cần nó cho người dùng Windows.

Bạn có thể chạy mọi thứ trong cài đặt Windows (Portable IEs, Chrome, Firefox, Safari, ...), ngoài ra,
bạn có thể sử dụng Expression SuperPreview để bước vào một thế giới thử nghiệm đa trình duyệt mới.


Những điều như di động trình duyệt IE, Expression SuperPreview, IETester , đối với tất cả các tính năng, môi trường ảo hóa. Bạn không thực sự đang chạy một bản sao thế giới thực của các phiên bản IE cũ hơn và trong trường hợp những thứ như SuperPreview và IETester, bạn thậm chí không có quyền truy cập vào trình duyệt chrome hoặc kiến ​​trúc plugin. Ngoài IE, bạn không có quyền truy cập vào các phiên bản HĐH khác của cùng một trình duyệt. Ví dụ: Safari trên Mac OS X có các tính năng không tồn tại trên Safari cho Windows và Chrome cho Mac thường tụt hậu so với Chrome cho Windows.

Không không không! Portable IE, Expression SuperPreview, IETester chạy tự nhiên trên hệ thống của bạn, không có ảo hóa liên quan. Bạn đang chạy một bản sao trong thế giới thực đã được điều chỉnh để chạy trong môi trường hiện tại và có hành vi tương tự ... Không cần phải có quyền truy cập vào trình duyệt chrome hoặc kiến ​​trúc plugin khi phát triển web. Đối với Safari, các tính năng bổ sung một lần nữa không liên quan đến phát triển web trên nhiều trình duyệt. Đối với Chrome, các phiên bản có thể được sử dụng đồng thời ... Nếu một người thực sự cần kiểm tra từng phiên bản trình duyệt trên mỗi phiên bản HĐH, có trình duyệt Ảnh chụp màn hình.org cho mục đích đó.
Tamara Wijsman

Hãy thử kiểm tra tích hợp với nhiều phiên bản Office. Máy ảo vẫn còn tiện dụng đáng kinh ngạc.
davewasthere

@davewasthere: Và Office liên quan đến Phát triển Web như thế nào? Tôi chắc chắn máy ảo có thể sử dụng cho nhiều mục đích khác nhau, nhưng để phát triển web, bạn vẫn ổn nếu không có nó ... Thậm chí nhiều phiên bản Office và Visual Studio có thể được cài đặt cùng nhau mà không cần VM, nhưng thực tế, có những giới hạn và sự đánh đổi trong đó bạn thực sự cần một VM.
Tamara Wijsman

@TomWij - Tôi đã có một ứng dụng khách với ứng dụng mạng nội bộ trong ASP.Net tích hợp với Word. Vì họ sử dụng nhiều phiên bản Office, nên thật tuyệt khi có thể cài đặt hình ảnh với mỗi phiên bản. Tôi biết có thể đặt cạnh nhau Office và IE. Nhưng trong thực tế tôi thấy đó là một nỗi đau. Máy ảo có vẻ sạch sẽ / dễ dàng hơn nhiều ...
davewasthere

0

Tôi sử dụng một máy ảo để ánh xạ các tên miền phụ của virtualbox.me (tôi sở hữu tên miền) đến các thư mục con của một thư mục trên máy chủ của tôi được chia sẻ với khách.

Với thiết lập này, tôi chỉ cần tạo một thư mục mới và ngay lập tức có một dự án mới trong tên miền phụ của nó, tức là / home / pete / virtualwww / my-super-project maps đến http://my-super-project.virtualbox.me/

Tôi đã viết hướng dẫn để sao chép này (nó sử dụng mod_vhost_alias và VirtualDocumentRoot) tại đây:

http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multipl-sites-USE-mod_vhost_alias-and-virtualdocumentroot/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.