¿Los desarrolladores de Android en grandes empresas o startups usan Linux como entorno de desarrollo?

Creo que no has captado un punto esencial sobre Android y Linux.

En esencia, Android * IS * Linux. El kernel en Android es el kernel de Linux.

Ahora debería explicar que cuando la gente habla de Linux, cometen dos errores. La primera es que siempre que la gente encuentre una distribución de Linux, lo que encontrarán es que la gente no ha llamado el nombre genérico de ninguna distribución de Linux por su nombre propio: GNU / Linux. En cambio, lo acortan para que sea solo “Linux”.

Linux es el núcleo y fue desarrollado por Linus Torvalds. GNU (que significa “GNU’s Not Unix”) fue desarrollado por Richard M. Stallman, o RMS como también se le conoce.

Ambos son iguales y, en cierta medida, aspectos separados de GNU / Linux.

Entonces, ¿qué es GNU? (No sé, ¿qué es GNU contigo?).

Wikipedia (que en realidad tiene una explicación más clara que el propio sitio de RMS para trabajar juntos para el software libre (Free Software Foundation, o FSF dot org) dice esto (GNU – Wikipedia): “ GNU i / ɡnuː / es un sistema operativo y una extensa colección de software de computadora. GNU está compuesto completamente de software libre , la mayoría de los cuales está licenciado bajo la propia GPL de GNU . GNU es un acrónimo recursivo para “GNU’s Not Unix!” elegido porque el diseño de GNU es similar a Unix , pero difiere de Unix por ser software libre y no contener código Unix . El proyecto GNU incluye un núcleo del sistema operativo , GNU HURD , que fue el enfoque original de la Free Software Foundation (FSF). Sin embargo, los núcleos que no son GNU, más conocidos como Linux , también se pueden usar con el software GNU; y dado que el núcleo es la parte menos madura [ cita requerida ] de GNU, así es como se usa generalmente. La combinación del software GNU y el kernel de Linux se conoce comúnmente como Linux (o con menos frecuencia GNU / Linux; ver controversia de nombres de GNU / Linux )

Y esto en la estructura: ” Los componentes básicos del sistema incluyen GNU Compiler Collection (GCC), la biblioteca GNU C (glibc) y GNU Core Utilities (coreutils), [8] pero también el GNU Debugger (GDB), GNU Binary Utilities (binutils), [31] el shell GNU Bash [26] [32] y el entorno de escritorio GNOME. [33] Los desarrolladores de GNU han contribuido a los puertos Linux de aplicaciones y utilidades de GNU, que ahora también se usan ampliamente en otros sistemas operativos como las variantes BSD, Solaris y macOS. [34]

Muchos programas GNU se han portado a otros sistemas operativos, incluidas plataformas propietarias como Microsoft Windows [35] y macOS. [36] Se ha demostrado que los programas GNU son más confiables que sus contrapartes propietarias de Unix.

GNU es esencialmente lo que se encuentra inmediatamente debajo del entorno de escritorio. Los mejores ejemplos de entornos de escritorio incluyen KDE y GNOME.

Cuando interactúa con Linux, cualquier Linux, incluido Android, el medio por el cual lo hace es (a) dar a la computadora una instrucción, como “copiar estos archivos” mediante un conjunto de clics del mouse, o escribiéndolo en el línea de comando ( [correo electrónico protegido] : ~ # o [correo electrónico protegido] : ~ $ )

Un ejemplo es:

cp / home / jweintraub / Imágenes / * / home / jweintraub / Imágenes / Copia de seguridad /

(Espero no ser condescendiente. Escribo información o consejos relativamente fáciles de entender para el resto del público lector en www.quora.com, no para ti; eres más sofisticado, pero no serás el solo uno leyendo esto).

Por lo tanto, Android es la capa superior, el espacio de usuario y la parte superior del espacio de kernel, que es esa parte del espacio de kernel que interactúa con el espacio de usuario / usuario.

Linux es el kernel, que también se ha adherido (soldado, es más preciso), la parte inferior del kernelspace, que es la parte del kernelspace que interactúa con las partes relevantes del kernel (recuerde, las aplicaciones pueden ‘ No acceda directamente a los controladores en la capa de abstracción de hardware [donde residen los controladores], pero debe solicitar al núcleo que realice alguna actividad, como guardar un archivo en el disco duro). El kernel también tiene el compilador GNU C, el área del controlador del dispositivo y cualquier cosa que tenga que ver con la administración de memoria, ya sea una unidad física de algún tipo (o en algunos casos, una unidad virtual) o RAM.

En pocas palabras: si no conoce Linux, no es muy rentable como desarrollador de Android. Conocer GNU (la porción no kernel de GNU / Linux) no es realmente necesario, porque Android no usa GNU. Android es Linux, pero no es miembro del universo GNU / Linux.

Gracias por el A2A. Lamento haber tardado tanto en responder.

¿Los desarrolladores de Android en grandes empresas o startups usan Linux como entorno de desarrollo?

¿Con qué frecuencia una empresa requerirá que Linux me contrate (especialmente desarrolladores de Android)?

La mayoría de los programadores usarán algún sistema Unix, por lo que Linux o Mac OS. Pero también habrá muchos que usen Windows. Pero en muchas compañías dejan la opción al desarrollador de qué sistema operativo ejecutan. De todos modos, recomendaría aprender sobre Linux, ya que la mayoría de los servidores ejecutan algunos Linux y el código puede comportarse de manera diferente entre diferentes entornos.

Mucho más a menudo que Windows. Pero los desarrolladores entonces usan Mac más que las máquinas Linux, porque Linux a menudo necesita más retoques y eso desperdicia el tiempo del desarrollador. Pero necesita habilidades de línea de comandos y ambos son sistemas Unix, por lo que si no tiene una Mac, Linux también es una buena opción.

More Interesting

¿Cuál es el mejor instituto para el entrenamiento de verano en el desarrollo de aplicaciones de Android?

En un dispositivo Android, ¿puede una aplicación acceder a las cookies establecidas por el navegador?

¿Dónde puedo encontrar tutoriales para desarrollar una aplicación de Android usando Python como lenguaje en lugar de Java?

Cómo crear una interfaz de usuario moderna para aplicaciones de Android

¿Cuál es el alcance de la tecnología de Android en el futuro?

¿Es una buena idea continuar como desarrollador de Android con más de 4 años de experiencia en el desarrollo de Java y Android?

¿Qué lenguaje de programación se ha utilizado para desarrollar la aplicación móvil QuickBooks?

Quiero aprender el desarrollo de aplicaciones de Android y convertirme en desarrollador independiente de aplicaciones de Android. ¿Qué tengo que hacer?

¿Cuáles son las mejores y más básicas tarifas por hora para el desarrollo de aplicaciones de Android?

¿Cuáles son las ventajas y desventajas de un desarrollo de aplicaciones móviles nativo sobre híbrido (Cordova / PhoneGap) cuando se trabaja con video?

Cómo eliminar una restricción de captura de pantalla de una aplicación de Android

Cómo hacer una aplicación de Android que reciba pedidos de empleados individuales de nuestro equipo y genere un pedido completo para el repartidor

¿Por qué crear una BaseActivity en Android?

Cómo hacer una aplicación de noticias

¿Pagaría en una función de aplicación móvil que le permite solicitar una guía confiable que se ajuste a sus necesidades o un entrenador para hacer un seguimiento con usted?