Esto puede ser una leyenda urbana o no, pero sospecho que las “aplicaciones” solo se llaman “aplicaciones” porque en un sistema Macintosh (o un sistema iOS para el caso) los programas en la carpeta “Aplicaciones” tienen un “.app “Sufijo. Desde que Apple popularizó el mercado de aplicaciones móviles con la “App Store”, todos estamos atrapados llamándolos aplicaciones. No es algo malo, supongo.
Ahora, ¿qué es una aplicación? La respuesta general es que una aplicación es cualquier programa que se ejecuta en hardware de computadora . Sí, cualquier programa. Hay aplicaciones móviles escritas en lenguajes con Java, Kotlin, Swift y Objective-C, sí, pero también hay aplicaciones de escritorio como Microsoft Word y Google Chrome e incluso Microsoft Windows, todas programadas en lenguajes de sistemas como C, C ++ y un toque de ensamblaje. idioma. Y también hay sistemas integrados que utilizan todo tipo de técnicas extrañas y maravillosas. Sin embargo, los sistemas integrados son un mundo extraño y definitivamente están más allá del alcance de esta respuesta.
También mencionaste aplicaciones web. Incluso definir qué es realmente una aplicación web no es una tarea trivial. Me gusta pensar en un portal en el que deba iniciar sesión, por ejemplo, como Quora, que actúe como un servicio para usted, en lugar de solo un sitio web estático como Example Domain o algo así. Por lo general, presentan MVC (controlador de vista de modelo) o alguna variante escrita en los idiomas del lado del cliente (como HTML, CSS y JavaScript, o tal vez incluso el react.js de Facebook) y los idiomas del lado del servidor (como PHP, Ruby, Python, Perl o algún otro Marco de JavaScript como Node.js). ¿Qué es MVC que dices? Eso probablemente esté más allá del alcance de esta respuesta.
- ¿Cuál es el mejor framework multiplataforma Xamarin o QT?
- ¿Qué plataforma es mejor para crear una aplicación híbrida?
- Aproximadamente, ¿cuánto costaría desarrollar una aplicación iOS como FireChat o Flows?
- ¿Cuáles son algunos diseños de cuadrícula móvil populares para diseñar o simular aplicaciones móviles?
- ¿Cómo podemos gestionar la lavandería comercial desde una aplicación móvil?
Ahora, el historial de aplicaciones se remonta a los orígenes de la primera computadora del programa almacenado, pero es probable que desee desarrollar aplicaciones actualizadas. Pero la verdad del asunto es que su pregunta es muy amplia. Una “lista de todos los idiomas y softwares que hay para crear aplicaciones” requeriría una lista de todas las tecnologías que se usan en la actualidad. Lo cual sería tedioso tanto para escribir como para leer. Sí, más allá del alcance.
Hay dos lados del desarrollo de software: saber qué herramientas usar y saber cómo usarlas. Por ejemplo, si quisieras escribir un juego simple para Android, probablemente no querrías escribirlo todo en C ++ nativo usando Vim (que es un editor de texto – herramienta n. ° 2 del arsenal del programador, el primero es una máquina de desarrollo). Lo escribiría en Java y usaría Android Studio (un entorno de desarrollo integrado o IDE) para administrar todos sus archivos / dependencias, etc.
¿Cuáles son las dependencias que pides? Cubrirlo completamente incluso con unos pocos idiomas y tecnologías diferentes estaría más allá del alcance de esta respuesta. Tendría que explicar qué es la compilación y la vinculación y también qué son las bibliotecas de software y los binarios precompilados. Ahí es donde entra en juego el saber cómo usar sus herramientas. Y eso viene con algún tipo de educación secundaria / universitaria / postgrado en informática o con auto-enseñanza. Google está repleto de un sinfín de tutoriales que explicarán cualquier sistema de software libre que se te ocurra. Esto es genial, pero lleva a un problema. Por donde empiezas
La informática es un campo realmente masivo. Y es un campo en el que es muy fácil perderse, aunque sea un campo abierto. En esta etapa, tener una lista de idiomas frente a usted que necesita aprender para comenzar puede sonar como una gran idea, pero a menudo conduce a lo que en el mundo de la informática “afeitar el yak”. Es decir, comienzas a aprender algo pero luego te das cuenta de que necesitas aprender algo más para que funcione. Y luego debes ir a buscar algo de comida porque tienes hambre. Y luego necesitas aprender algo más. Luego, tu vecino de al lado dice que conoce a un chico que sabe todo sobre Android, pero que solo te dará la información si vas y le das un poco de pelo de yak. Lo conseguiría él mismo, pero tiene que aprender sobre los puntos más finos del patrón de diseño singleton …
Trata de pensar en ti mismo como un carpintero. Un carpintero construye cosas y usa herramientas para hacerlo. Una de las primeras cosas que un carpintero podría construir es una caja simple. Entonces toma una sierra de arco y tal vez un martillo y algunos clavos y hace una caja áspera. Retrocede y admira lo que ha hecho. Lo que NO hizo el carpintero fue leer toda la historia de martillos, clavos y sierras de arco y aprender exactamente cómo interactúan entre sí. Tendrá que aprender esas cosas más adelante para ser un mejor carpintero, claro, pero por ahora recién comienza. Una caja áspera servirá.
Desde que mencionaste las aplicaciones de Android y he mencionado los juegos de Android, te planteé un desafío. Haga que aparezca un cuadrado azul con un fondo negro en la pantalla de su Android. Android Studio, Java y su computadora portátil son sus herramientas. Comenzaría buscando en Google “tutorial simple de aplicación de Android” y veré a dónde lo lleva. Extienda esta sencilla aplicación y haga que aparezca el cuadrado azul. Si nada más saber cómo lograrlo usted mismo le revelará si la programación es para usted. Es un proceso bastante extraño cuando comienzas por primera vez. Pero de nuevo, trata de ser como el carpintero. Averigüe qué herramientas necesita para hacer que aparezca el cuadrado y luego júntelas para crear una aplicación que funcione. Después de tu triunfo, intenta hacer algo un poco más complejo. El nombre del juego es pequeños pasos aquí. No decidas que vas a hacer una versión para Android de Half Life 3. Es posible que en el futuro, todavía no.
Sin embargo, una pieza de software que les contaré de inmediato ahora es “git”. Git es lo que se llama un sistema de control de versiones y le permite guardar la versión actual y todas las versiones anteriores de su código de una manera muy inteligente. También funciona a la perfección con github, un servicio en línea (¿webapp?) Que permite a las personas compartir su código en línea. La versión que controla su código ahora, justo cuando comienza, se asegurará de que se acostumbre a hacerlo. Su principal regalo para el nuevo desarrollador es poder retroceder a una versión anterior del código que funcionaba bien antes de codificar que los demonios de terror lo poseían.
En general, la informática y la programación son enormes, enormes gigantes en su alcance y tamaño. Cuando recién comienzas, elige algo simple y haz que suceda. Nadie espera que inventes el próximo Facebook para mañana a las 7pm.