Quiero hacer que mi Fedora Linux sea capaz de seguir:
Utilice Linux para completar la plataforma de desarrollo sin requerir ninguna otra instalación del sistema operativo, pero aún así puede construir y probar programas en diferentes plataformas.
Reemplace completamente la máquina de Windows para todos los demás trabajos, por ejemplo, Office, Paint, Escritorio remoto, etc.
¿Puede sugerir proyectos y herramientas de código abierto para lograr los objetivos anteriores?
linux
opensource-projects
Xinus
fuente
fuente
Respuestas:
Puede realizar fácilmente el desarrollo multiplataforma, ya sea un programador de sistemas, un desarrollador web o un desarrollador de aplicaciones de escritorio. Si le gustan los sistemas, es probable que las utilidades y / o controladores que escriba para Linux funcionen bien para otros * nix con modificaciones muy mínimas. Siempre que escriba el código C estándar y no use demasiadas llamadas específicas del sistema, puede que incluso sean fáciles de transferir a Windows.
Si eres un desarrollador de aplicaciones de escritorio, puedes apuntar a GTK, QT o wxWidgets y es probable que tu aplicación funcione bien en las 3 plataformas principales hoy (* nix, Windows, Mac). Nuevamente, mantenga las llamadas específicas del sistema al mínimo o aíslelas en una biblioteca contenedor que será específica del sistema. También se llama a una máquina virtual como JVM y / o CLR que permitirá que la aplicación funcione en todos los ámbitos.
Si usted es un desarrollador web, es probable que encuentre demasiadas alternativas diferentes para elegir. Prefiero un pequeño servidor web llamado Cherokee y desarrollo y ejecuto aplicaciones ASP.NET (mono) y Django que se ejecutan en él y usan un backend PgSQL.
Entonces, la conclusión es que el desarrollo multiplataforma en Linux se puede hacer, siempre que pueda compilar el código en la plataforma de destino y tenga esto en cuenta al escribir su código o si apunta a una VM. El otro punto es que puede toparse con La paradoja de la elección y no saber qué usar. Para eso lea a continuación mi respuesta a la segunda pregunta.
En cuanto a la segunda pregunta, el mejor recurso que he encontrado se llama Alternativas de código abierto . Este sitio web enumera el software comercial y sus alternativas de código abierto. Casi todas las alternativas se ejecutan en Linux y FreeBSD.
fuente
Definir "plataforma". No puede probar razonablemente el software destinado para su uso en Windows o Mac sin ejecutar realmente esos sistemas operativos, incluso si es posible utilizar la compilación cruzada para construirlo en Linux. Para pruebas reales en otros sistemas operativos, VMware es una gran herramienta.
La segunda parte de su pregunta probablemente debería ser una pregunta totalmente separada. Pero puede usar OpenOffice.org o Google Docs para reemplazar MS Office, Pinta o GIMP o lo que sea para reemplazar Paint, VNC o Empathy + Vinagre para reemplazar Remote Desktop, etc.
Sería más fácil responder estas preguntas si proporcionara algunos casos de uso más específicos.
fuente
Weeeeeeel, el # 1 es bastante loco, señor. No sé si hay alguna forma de lograr este objetivo. Se puede realizar una compilación cruzada con otros * nixes ( con un poco de dolor de cabeza ) en su cuadro de desarrollo, pero ¿cómo exactamente se supone que debe ejecutar ese código sin el sistema operativo y la arquitectura adecuados? Hay grandes incursiones en la emulación del sistema , pero en última instancia, esto es un obstáculo. Si desea probar el software en un sistema operativo / arquitectura, ejecútelo en ese sistema operativo / arquitectura.
Ahora, por otro lado, existen herramientas que facilitan la creación del mismo proyecto en una amplia gama de configuraciones. Cmake es probablemente el más conocido y probado. Al menos esto lo ayudará a probar su proyecto en otros sistemas, o alentará a otros a que lo hagan por usted.
En realidad, estoy bastante seguro de que esto también es imposible en otros sistemas operativos.
# 2 es mucho más fácil
Oficina abierta
Cañutillo
Gnomo
KDE
Escritorios remotos
y así sucesivamente. Ayudaría más, pero la agudeza de tus preguntas disminuye drásticamente.
fuente
Depende de su plataforma de destino. Si está desarrollando para una plataforma virtual (Java, o incluso .NET), debería estar más que bien. Hay algunas plataformas que son aún más amigables en Linux que en Windows (por ejemplo, Ruby).
En cuanto a Linux como computadora de escritorio, solo tiene que enumerar el software que está buscando. Apenas hay software de escritorio de Windows hoy en día que no tenga una alternativa de Linux.
fuente
MonoDevelop debería poder ayudarlo a manejar el lado del desarrollo:
(el énfasis es mío)
fuente