¿Cuál es la mejor manera de crear una aplicación de extremo a extremo para alguien que busca lanzar una idea al mundo desde cero como un pasatiempo?

Realmente no existe una “mejor manera”, solo hay buenas prácticas que se adaptan a sus necesidades y su experiencia.

Si desea crear una aplicación web y no tiene experiencia en otras tecnologías web, le recomendaría Groovy / Grails. No porque sea el mejor (aunque también podría plantear ese argumento), pero para alguien con poca experiencia, es probablemente el más fácil de ponerlo en marcha con una aplicación de la vida real. Se encarga de una gran cantidad de problemas relacionados con las aplicaciones web y le brinda un inicio rápido. Si desea obtener lujo, agregue Twitter Bootstrap y AngularJS. Angular tiene una curva de aprendizaje empinada, pero hace muchas cosas increíbles.

Si está hablando de una aplicación de teléfono, tendría que decidir si es compatible con Android, IOS o ambos. Si elige Android, los tutoriales oficiales de desarrollo de Android son excelentes.

Todo el software que mencioné aquí es gratuito, pero tendrá que pagar algunas cosas aquí y allá, en particular, un proveedor web.

Sus preguntas 1 y 2 son un poco vagas, ya que no nos ha dado ningún contexto.

Es poco probable que encuentre algún recurso que le ofrezca una solución de extremo a extremo para una aplicación comercial.

Parte de aprender a ser un buen desarrollador es aprender a experimentar.