¿Qué software usaría para crear una aplicación basada en una base de datos?

Por suerte tienes muchas opciones. Primero, por “aplicación”, ¿quiere decir una aplicación móvil o un sitio web? Esencialmente, todos los sitios web manejan solicitudes HTTP como GET y POST, y generan HTML y / o REST para hablar con navegadores o clientes móviles. Detrás de este proceso hay un lenguaje de programación y ahora, gracias a Dios, un marco web, que le da a la aplicación una estructura lógica.

En segundo lugar, como observa, conectarse a un almacén de datos también es prácticamente una parte obligatoria de cualquier sitio web útil.

Si bien estos componentes a menudo se agrupan (por ejemplo, php + mySQL o ASP.NET MVC + SQL Server), realmente debería considerarlos muy mezclables. Es decir, un marco web y un almacén de datos deberían considerarse por separado, y ahora pueden serlo, gracias a numerosos controladores que actúan como conectores entre los distintos idiomas. Además, también debe considerarse un tercer componente, para la búsqueda de texto completo. (Y un cuarto conjunto de marcos en el nivel de la interfaz de usuario para diseño receptivo y bibliotecas del lado del cliente, como bootstrap y jQuery, por ejemplo).

Si por “aplicación” te refieres a una aplicación móvil, te recomiendo que primero elijas la plataforma de la aplicación a la que te refieres (iOS, Android, Windows Phone, otro) y elijas el idioma nativo para ese cliente. En el caso de iOS, es el Objetivo C. En el caso de Android, es Java con el ADK. En el caso de Windows Phone, es C #. Si estos funcionan con una base de datos, es muy probable que desee que se conecten a un servidor, por lo que esto implica escribir el servidor como un sitio web que lee y escribe en formato REST simple. También hay intermediarios como Xamarin Studio que le permiten escribir una sola aplicación móvil y enviarla a múltiples formatos.

Algunos de los frameworks, almacenes de datos y motores de búsqueda más populares son:

Marcos web
* ASP.NET (particularmente el framework ASP.NET MVC usando C #)
* Ruby on Rails (un marco que muchos desarrolladores encuentran muy productivo)
* Java y Spring MVC (un poco más complejo en mi opinión, pero se puede hacer en Linux de forma gratuita, y Java es muy útil para saber)
* Python
* Node.js (un marco en rápido crecimiento, usando JavaScript en el servidor)
* php (legado, en mi opinión, pocas razones para iniciar nuevos proyectos en esto)
* ColdFusion (ídem)

Bases de datos
* Bases de datos NoSQL “Document Store” como MongoDB, RavenDB, Cassandra, et al.
* Bases de datos relacionales SQL como SQL Server, mySQL

Búsqueda de texto completo
* Búsqueda de texto completo de SQL Server
* ElasticSearch
* SOLR
* Búsqueda de texto completo de MySQL

Recomendar una opción abre un debate religioso sobre pros y contras. Java es increíblemente versátil y lo ayudará a abordar otras áreas de programación.

Soy muy partidario de C # y MVC: es un marco increíblemente rico con un conjunto de herramientas fantástico (el mejor entorno de desarrollo en mi opinión) y es bastante accesible. Node.js está creciendo rápidamente en popularidad y se basa en JavaScript, que también será gratificante a medida que aplique sus conocimientos en otras áreas. Personalmente, me mantendría alejado de PHP, ya que es una tecnología bastante antigua que probablemente está disminuyendo en popularidad.

Te animo a explorar las opciones de NoSQL

Comparación de marcos de aplicaciones web

Rankings de marcos web | HotFrameworks