Foros del Web » Soporte técnico » Ayuda General »

¿Que me recomendáis para empezar a programar en windows y android?

Estas en el tema de ¿Que me recomendáis para empezar a programar en windows y android? en el foro de Ayuda General en Foros del Web. Por necesitad preciso de hacerme un programa de escritorio para windows y android. Básicamente va ha ser un gestor multimedia y de documentos personales para ...
  #1 (permalink)  
Antiguo 01/06/2017, 15:32
 
Fecha de Ingreso: julio-2009
Mensajes: 172
Antigüedad: 14 años, 9 meses
Puntos: 3
¿Que me recomendáis para empezar a programar en windows y android?

Por necesitad preciso de hacerme un programa de escritorio para windows y android. Básicamente va ha ser un gestor multimedia y de documentos personales para tenerlo todos los documentos personales y profesionales a mi gusto.

Puesto que llevo algunos años desarrollando pequeñas páginas web personales, parto de que solo se programar en php y mysql.
Pensé en un principio montarme una página Web en un servidor y tal, pero no lo veo seguro, practico ni efectivo.
Otra alternativa que me he planteado es usar wapache y emular un programa con una web pero vamos, sigue siendo chapuza más este proyecto parece abandonado.


Es por esto por lo que creo que debería de comenzar una nueva etapa en programación y lanzarme a windows y android pero ando muy desorientado pues llevo una semana buscando documentación y sugerencias sobre que códigos debería aprender y el caso es que por lo que veo hay muchos y no me queda claro cuales son más prácticos ni por cuales debería de empezar.

Pensé en usar java ya que he leído que vale tanto para android como para windows, pero dicen que es un lenguaje arcaico y desfasado.

¿Que me recomendáis los compañeros del gremio?
  #2 (permalink)  
Antiguo 01/06/2017, 16:43
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 2 meses
Puntos: 52
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

Cita:
Iniciado por josico Ver Mensaje
Básicamente va ha ser un gestor multimedia y de documentos personales para tenerlo todos los documentos personales y profesionales a mi gusto.
Suena como OneDrive / GDrive / seguro que existe algún otro. Qué tiene de especial tu aplicación que necesitas construirla desde cero y no usar algunas de las ya existentes para este fin? O es que lo querés hacer por el puro placer de programarlo?

Cita:
Iniciado por josico Ver Mensaje
Pensé en un principio montarme una página Web en un servidor y tal, pero no lo veo seguro, practico ni efectivo.
Concretamente por qué razones pensás que una aplicación web no es adecuada para este caso en particular?

Cita:
Iniciado por josico Ver Mensaje
Otra alternativa que me he planteado es usar wapache y emular un programa con una web pero vamos, sigue siendo chapuza más este proyecto parece abandonado.
Definitivamente esto es chapuza (buen término).

Cita:
Iniciado por josico Ver Mensaje
Es por esto por lo que creo que debería de comenzar una nueva etapa en programación
Te felicito por esa actitud, no todos la tienen. Hay gente acá que hace 20 años programa en PHP y jamás se molestó siquiera en mirar por la ventana a ver como es el resto del mundo.

Cita:
Iniciado por josico Ver Mensaje
¿Que me recomendáis los compañeros del gremio?
Yo particularmente te recomiendo C#, es un lenguaje estático, multi paradigma, moderno, placentero para trabajar, terriblemente práctico y productivo, que evoluciona constantemente, muy pero muy utilizado sobre todo en el mundo del desarrollo Enterprise, y que corre sobre una variedad de plataformas como Windows, Linux, OSX, Android, iOS, XBox, Hololens, UWP, entre otras.
Con C# puedes crear tanto aplicaciones Web, como desktop, como mobile nativas usando Xamarin, y hasta juegos para desktop y mobile usando Unity.

En particular para desarrollo de aplicaciones cliente (sean desktop o mobile), C# es muchísimo más práctico que java, ya que cuenta con características como Properties, Eventos, Funciones, Async/Await, LINQ, y muchas otras cosas de las que java carece. No solamente esto, sino que mientras C# sigue avanzando continuamente, java parece estar estancado casi por completo y sigue dando vueltas en cuestiones que vienen prometiendo desde hace años y nunca terminan de lograr. Para que te des una idea, lo único que hizo java en términos de diseño del lenguaje en los últimos 10 años fue simplemente tratar de imitar a C# 3.0 (de hace 10 años). Hoy por hoy C# 7.0 tiene docenas de características del lenguaje y ventajas que no existen en java.

De todas formas antes de tomar la decisión de comenzar a escribir 2 aplicaciones cliente yo evaluaría si no conviene hacer una aplicación Web con Angular y listo.

Última edición por agleiva; 01/06/2017 a las 16:57
  #3 (permalink)  
Antiguo 02/06/2017, 02:20
 
Fecha de Ingreso: julio-2009
Mensajes: 172
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

Hola agleiva

Cita:
Iniciado por agleiva Ver Mensaje
Suena como OneDrive / GDrive / seguro que existe algún otro. Qué tiene de especial tu aplicación que necesitas construirla desde cero y no usar algunas de las ya existentes para este fin? O es que lo querés hacer por el puro placer de programarlo?
Hace cosa de 10 años usaba gestores de contenido tales como wordpress, e107, joomla... pero pasa que aunque sean muy buenos no son todo lo flexibles que necesitaba y fue por eso por lo que me inicie en el mundo de la programación web.

En este momento me encuentro en este mismo punto con respecto a aplicaciones y programas. Los hay muy buenos pero no el que "necesito".

Por otra parte es puro placer como dices.

Cita:
Iniciado por agleiva Ver Mensaje
Concretamente por qué razones pensás que una aplicación web no es adecuada para este caso en particular?
Porque como decimos en mi tierra, eso seria solucionar el problema con "palos y cañicas".


Cita:
Iniciado por agleiva Ver Mensaje

Te felicito por esa actitud, no todos la tienen. Hay gente acá que hace 20 años programa en PHP y jamás se molestó siquiera en mirar por la ventana a ver como es el resto del mundo.
Actualizarse o morir ;)

Cita:
Iniciado por agleiva Ver Mensaje
Yo particularmente te recomiendo C#, es un lenguaje estático, multi paradigma, moderno, placentero para trabajar, terriblemente práctico y productivo, que evoluciona constantemente, muy pero muy utilizado sobre todo en el mundo del desarrollo Enterprise, y que corre sobre una variedad de plataformas como Windows, Linux, OSX, Android, iOS, XBox, Hololens, UWP, entre otras.
Con C# puedes crear tanto aplicaciones Web, como desktop, como mobile nativas usando Xamarin, y hasta juegos para desktop y mobile usando Unity.

En particular para desarrollo de aplicaciones cliente (sean desktop o mobile), C# es muchísimo más práctico que java, ya que cuenta con características como Properties, Eventos, Funciones, Async/Await, LINQ, y muchas otras cosas de las que java carece. No solamente esto, sino que mientras C# sigue avanzando continuamente, java parece estar estancado casi por completo y sigue dando vueltas en cuestiones que vienen prometiendo desde hace años y nunca terminan de lograr. Para que te des una idea, lo único que hizo java en términos de diseño del lenguaje en los últimos 10 años fue simplemente tratar de imitar a C# 3.0 (de hace 10 años). Hoy por hoy C# 7.0 tiene docenas de características del lenguaje y ventajas que no existen en java.
Aquí un par de preguntas tontas debido a mi tremenda ignorancia.

1- Entiendo que ¿con este código también se pueden realizar páginas Web más programas y aplicaciones para moviles?
2- Con el tema de diseño ¿C# lo cubre todo? Es decir. En el caso de páginas Web usamos php como estructura lógica, mysql para base de datos y html, js y css para efectos y diseño. ¿C# lo cubre todo? Imagino que la respuesta es no pero ya te digo que soy todo un ignorante en este campo.
3- De ser negativa la segunda pregunta ¿Que otros códigos tendré que investigar para el diseño de programas y APPs?
  #4 (permalink)  
Antiguo 02/06/2017, 03:27
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 2 meses
Puntos: 52
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

Cita:
Iniciado por josico Ver Mensaje
Porque como decimos en mi tierra, eso seria solucionar el problema con "palos y cañicas".
No entiendo muy bien qué significa esto. Insisto en que hoy por hoy (desde hace ya algunos años) toda nueva aplicación es preferentemente Web a menos que haya una buena razón para que no lo sea. Las ventajas de un cliente Web son muchas y con los frameworks como Angular o React y los lenguajes estáticos que compilan a JS como TypeScript las desventajas son cada vez menos.

Cita:
Iniciado por josico Ver Mensaje
1- Entiendo que ¿con este código también se pueden realizar páginas Web más programas y aplicaciones para moviles?
Es correcto. (*)

Cita:
Iniciado por josico Ver Mensaje
2- Con el tema de diseño ¿C# lo cubre todo? Es decir. En el caso de páginas Web usamos php como estructura lógica, mysql para base de datos y html, js y css para efectos y diseño. ¿C# lo cubre todo? Imagino que la respuesta es no pero ya te digo que soy todo un ignorante en este campo.
No, por supuesto. El navegador solo "entiende" HTML, CSS y JS, con lo cual el frontend lo debes seguir haciendo de esta manera.

En C# existe ASP.NET MVC que usa el modelo tradicional de server side rendering (similar al modelo de PHP), que permite combinar C# + HTML usando el motor Razor, pero en la actualidad la tendencia es desacoplar el frontend completamente del backend mediante técnicas de SPA usando frameworks como Angular. Hace por lo menos 3 años que no me ha tocado a mi personalmente iniciar un nuevo proyecto en MVC ni en ninguna tecnología de tipo server-side rendering.

Adicionalmente, en C# existe LINQ y la práctica habitual es usar éste para acceso a datos mediante un ORM como Entity Framework o NHibernate. No se escribe el SQL manualmente a menos que sea necesario.

Tu "stack" para aplicaciones web quedaría mas o menos así:

Modelo Tradicional:

- Acceso a datos: C#/LINQ (Entity Framework o NHibernate)
- Lógica de negocio: C# (.NET)
- Web Framework: C# (ASP.NET MVC)
- Frontend: Razor / C# + HTML (ASP.NET MVC)
- Logica de Frontend: JS
- Estilos de Frontend: CSS

Modelo SPA:

- Acceso a datos: C#/LINQ (Entity Framework o NHibernate)
- Lógica de negocio: C# (.NET)
- Web Framework: C# (ASP.NET WebAPI)
- Frontend: HTML/JS (Angular)
- Logica de Frontend: JS (Angular)
- Estilos de Frontend: CSS

Todo esto parece apabullante pero no te asustes, es mucho más fácil de lo que parece. De hecho en C# todo es mucho más fácil porque al ser un lenguaje estático el compilador, el Type System y el IDE te ayudan muchísimo, versus lo que ocurre por ejemplo en PHP donde la única manera de saber que algo funciona es ejecutar el código y rogar que se digne a funcionar.

Con respecto a aplicaciones desktop / nativas, para la GUI vas a usar XAML en el caso de Windows, y AXML en el caso que quieras usar las APIs nativas de Android, aunque tambien existe Xamarin Forms que te genera UIs nativas a partir de XAML compartido.

(*) - Solo una pequeña corrección semántica: cuando hablamos de "código" nos referimos al código puntual, el término correcto para tu pregunta sería "lenguaje": ¿con este lenguaje también se puede .... ".
Es importante entender bien la terminología para comunicarte efectivamente con otras personas.
  #5 (permalink)  
Antiguo 02/06/2017, 03:35
 
Fecha de Ingreso: julio-2009
Mensajes: 172
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

Muchas gracias agleiva. Me pondré a investigar lenguaje C# ya que por lo que cuentas parece ser muy versátil.
  #6 (permalink)  
Antiguo 03/06/2017, 19:27
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 4 meses
Puntos: 37
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

En mi caso manejo .NET con Visual Studio 2010 (con ASP.net, casi nada de C#) , estoy por migrarme a 2012.
Desde los proyectos .net he creado los accesos a datos y mediante webservices del propio .net genero las respuestas en formato JSON (tambien puede ser como .XML).

Para la parte de Android, he instalado Eclipse (aunque he leido muchas recomendaciones sobre Android Studio). Eclipse necesariamente pasa por aprender Java.

Desde los proyectos de Eclipse para Android puedo ahora recibir o enviar y parsear la informacion de los JSON de los webservices y desplegarlos en los componentes de la app.

Saludos
  #7 (permalink)  
Antiguo 03/06/2017, 22:41
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 2 meses
Puntos: 52
Respuesta: ¿Que me recomendáis para empezar a programar en windows y android?

Cita:
Iniciado por wwwmaster Ver Mensaje
En mi caso manejo .NET con Visual Studio 2010
Por supuesto que la version 2010 (10.0) de Visual Studio en este punto es totalmente obsoleta, siendo que la última versión disponible es la versión 2017 Update 2 (15.2). No existe ninguna razón válida para continuar usando una versión obsoleta de las herramientas.

Cita:
Iniciado por wwwmaster Ver Mensaje
con ASP.net, casi nada de C#)
Tratemos de no confundir a la gente, ASP.NET es un web framework y C# es un lenguaje de programación, la frase "con ASP.NET, casi nada de C#" es un sinsentido similar a "me gusta comer con sal, pero nunca con anteojos". Una cosa no tiene nada que ver con la otra y uno puede usar el Framework ASP.NET con cualquier lenguaje de .NET como C#, VB.NET, F#, o cualquier otro, así como también con cualquiera de esos lenguajes se puede usar otro Web Framework como Nancy o Suave.

Cita:
Iniciado por wwwmaster Ver Mensaje
estoy por migrarme a 2012.
De nuevo, no entiendo cual es el sentido de usar tecnología completamente obsoleta. VS 2012 tiene soporte para C# 5.0 cuando la última versión disponible es la 7.0. Ni hablemos de las ventajas del nuevo compilador de C# y VB.NET que se introdujo en VS 2015.

Etiquetas: empezar, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:05.