Cómo integrar mejor un entorno de desarrollo de Unix en Windows [cerrado]

8

Soy principalmente un usuario de Windows, pero hago la mayor parte de mi desarrollo (esencialmente desarrollo web) utilizando herramientas y software de Unix. He estado yendo y viniendo entre usar una máquina virtual lubuntu dedicada en Virtualbox y usar algunas herramientas directamente en Windows (msgit, python, django), pero ninguno de estos enfoques es completamente satisfactorio.

Me gustaría conocer las formas en que otros desarrolladores utilizan para integrar mejor un flujo de trabajo de Unix en Windows. Por ejemplo, una integración más estrecha entre Linux y VM y Windows. La demostración vagabunda mostró cómo una máquina virtual podría funcionar desde una carpeta de proyecto de Windows y eso me pareció agradable. Me gustaría conocer otras herramientas y consejos que ayudarían a imitar el flujo de trabajo que uno puede encontrar en OS X (por supuesto, entiendo que no puede estar tan bien integrado en Windows como no tiene los mismos fundamentos de Unix).

PD: también he probado cygwin

EDITAR para obtener aclaraciones sobre lo que me parece que falta (gracias a axblount por señalar eso): las herramientas de Unix como msys et al no funcionan tan bien como sus contrapartes unic nativas. Muchos scripts, los instaladores requieren una configuración adicional o no funcionan en absoluto. Por ejemplo, hacer que virtualenvwrapper funcione no es muy sencillo. virtualbox: idealmente me gustaría usar el software de Windows (Photoshop, Sublime Text 2) sin problemas con Linux. Principalmente uso un cajero automático de cliente FTP para mover archivos editados en el lado de Windows, lo cual es un proceso tedioso.

RESUMEN: Parece que no hay soluciones establecidas. Como solución temporal, probablemente intentaré usar las versiones nativas de frameworks y bibliotecas a través de la línea de comandos de Windows cuando sea posible y cambiar a una herramienta como vagabundo para programas incompatibles.

MÁS INFORMACIÓN DE RESPUESTAS Y COMENTARIOS: El problema de la sensibilidad a las mayúsculas y minúsculas parece funcionar contra Windows como lo señaló @GlenPeterson

Shigar Kenze
fuente
Publicación relacionada de desbordamiento de pila: stackoverflow.com/questions/1414383/unix-style-tools-on-windows
Finalizado el
Parece que has cubierto las bases habituales. ¿Qué sientes que falta en las cosas que has probado?
axblount 01 de
@axblount He editado la pregunta
Shigar Kenze
¿Por qué no dar el paso y sobrescribir Windows con Linux? :)
Earlz
Todavía necesita poder realizar pruebas en los navegadores web de Windows, por lo que no es aconsejable reemplazar completamente Windows por Linux.
Nathan Pilling

Respuestas:

7

La mayor parte de su desarrollo (esencialmente desarrollo web) utiliza herramientas y software de Unix.

Ha probado diferentes alternativas para usar esas herramientas en Windows, pero a partir de ahora, no ha encontrado una que funcione tan bien como la real.

Entonces realmente debería considerar migrarse a Linux como su sistema operativo de escritorio y virtualizar Windows para todo lo demás.

Créeme, no te arrepentirás. Su escritorio será más rápido, más seguro, sin virus y tendrá todas las herramientas que necesita para sus proyectos de desarrollo.

EDITAR:

Acomodando un gran comentario de @GlenPeterson:

Si está implementando en Unix / Linux, entonces debería estar trabajando en un sistema operativo sensible a mayúsculas y minúsculas. La insensibilidad de mayúsculas y minúsculas de Windows puede causarle problemas algún día.

Tulains Córdova
fuente
He estado usando Linux desde 1998, así que puedo afirmar que lo sé bien. En general, me gusta mucho Linux (especialmente Ubuntu y derivados). Pero después de ir y venir entre ambos, no hay duda de que Windows satisface mejor mis necesidades (photoshop, juegos, soporte de hardware). Debido a que los problemas de hardware todavía ocurren hoy, prefiero virtualizar Linux en Windows que al revés. En el trabajo uso una caja de Linux dedicada además de mi PC con Windows. En general, estoy de acuerdo en que es un gran sistema operativo.
Shigar Kenze
1
Bueno, me cambié a Linux en el trabajo hace 4 años. No juego en el trabajo;) y la pequeña manipulación de imágenes que hago, lo hago en Gimp. Y Ubuntu ha recorrido un largo camino en soporte de hardware en los últimos dos años. Es prácticamente p & p ahora. Y sin virus.
Tulains Córdova
3
Si sus proyectos se implementarán en * nix, debe trabajar en un sistema operativo sensible a mayúsculas y minúsculas, punto. Me cambié a Linux como mi escritorio principal hace 3 años. Lubuntu carece de algunas funciones de escritorio que realmente me gustan. Prueba Xubuntu en su lugar. Si su máquina tiene una tarjeta gráfica nVidia, debería ser un buen hardware. Ejecuto 3 versiones diferentes de Windows en VirtualBox para probar. Tengo Photoshop en uno de ellos, pero a menudo uso GIMP. No juego, pero Steam para Linux (por Valve) debería resolverlo en los próximos 6 meses. ¡Conviértete en un beta tester y haz que suceda antes!
GlenPeterson el
1
Solo para continuar, mi empresa de desarrollo web comenzó su vida hace 8 años como una tienda de Microsoft, pero siempre se implementó en un servidor * nix. Un año después, estábamos todos * nix / BSD y todo lo que queda de Windows hoy es una vieja caja en la esquina para probar IE.
Rob el
1
Si trabaja / implementa en un entorno * nix, trabajar directamente en uno abrirá muchas posibilidades que de otro modo no podría hacer. A menos que te sumerjas en el medio ambiente, solo estás raspando la superficie. Estuve en una posición similar a la tuya hace aproximadamente un año y no me arrepiento de haberme mudado a Ubuntu por un segundo. Muchas herramientas no funcionan bien, o no funcionan.
Adrian Schneider
4

Si está implementando su software en servidores Linux, debería practicar la implementación de su software en un servidor Linux (incluso en una VM). Haga que su proceso de implementación sea automático. La parte más importante es la distribución e implementación de código. Debe construir e implementar de manera consistente en su tipo de sistema de destino.

Búscate un buen terminal y aprende a usarlo. Uso Putty y he encontrado que es mucho mejor que cygwin y msys.

Algunos sistemas de integración continua le permiten ejecutar y probar el código de forma remota antes de permitir que se confirme en su VCS. El uso de esta funcionalidad en su tipo de sistema de destino puede evitar muchos problemas.

Nathan Pilling
fuente
De hecho, uso masilla en el trabajo. Admito que tengo menos conocimiento sobre los sistemas de integración continua. ¿Uno de estos podría usarse para insertar automáticamente archivos en la máquina virtual? Eso funcionaria. Supongo que la mayoría de ellos se ejecutan en Windows? Estoy buscando eso atm.
Shigar Kenze el
1

Si está ejecutando una versión reciente de Windows, eche un vistazo a SUA , el subsistema para aplicaciones Unix. Tiene un shell (ksh) y admite más de 300 comandos y utilidades comunes de Unix. La mayoría de los documentos hablan sobre Server 2003 R2, pero también se instala en Windows 7.

TMN
fuente
Interesante. Espero que sigan actualizando esto. Lo intentaré de todos modos. Me gusta que usara cmd.exe (y presumiblemente PowerShell también)
Shigar Kenze