¿Debo aprender Java para el desarrollo de aplicaciones móviles o C # simplemente lo hará?

9

Tengo muchas ganas de profundizar en el marco .NET, pero la mayoría de las aplicaciones móviles parecen estar desarrolladas en Java. Probablemente apunte a los teléfonos menos costosos como Nokia y motorolla, no Android o iPhone OS. ¿Puedo hacer estas cosas en C #?


fuente

Respuestas:

9

No, C # no servirá. Debe aprender Java, y no J2SE, sino J2ME porque la mayoría de los teléfonos móviles de gama baja solo admiten J2ME. Sin embargo, es posible que desee considerar Android nuevamente porque realmente se está volviendo popular incluso con teléfonos de gama baja. De todos modos, el lenguaje para J2ME y Android es Java.

tia
fuente
7

Depende de la plataforma

Android - JAVA, C # (a través de MonoDroid)
IPhone - Objetivo C, C # (a través de MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA

Creo que Symbian será descartado por la mayoría de las compañías. Los teléfonos inteligentes son el futuro. Y para cada tipo de sistema operativo de teléfonos inteligentes, C # / mono estará disponible (tiene que pagar extra, pero la usabilidad lo vale) junto con el idioma nativo de la plataforma. Entonces, puedes ir por C #.

Es posible que no se logre la verdadera independencia de la plataforma, pero si usa C # en todas partes, podrá usar las mismas bibliotecas centrales y ajustar la interfaz de usuario para la plataforma.

Pero para teléfonos de bajo costo, C # no funcionará. Tienes que ir por JAVA.

Gulshan
fuente
1
+1 por mencionar las opciones Mono *. Si la demanda es lo suficientemente alta por parte de los desarrolladores, también se extenderán a las otras plataformas telefónicas.
Agent_9191
Acordaron que los desarrolladores de Mono mencionaron el soporte de WebOS antes de la división de Novell, ¡así que nunca se sabe!
wonea
1

No puedo hablar específicamente sobre Motorolla o Nokia, pero debe tener en cuenta cuál es la plataforma que admiten estos teléfonos. Sería mejor desarrollar en Java, ya que es una plataforma más popular y no necesita depender solo de los móviles con Windows. Una cosa más que C # es tan descaradamente cercana a Java que un compilador cruzado hace el truco para las aplicaciones de escritorio puede ser que esto también se aplique a las aplicaciones móviles.

Friki
fuente
1
Me gustaría ver este compilador cruzado: ¿cómo maneja el hecho de que las bibliotecas que van con los idiomas son muy, muy diferentes?
Bevan
1

Si desea desarrollar para Windows Phone 7, C # es perfecto (VB.NET estará disponible próximamente). También puede aprovechar cualquier conocimiento de Silverlight o XNA que tenga. No tengo idea de si la plataforma tendrá éxito, pero ¿por qué no refinar su aplicación usando un idioma que conozca y luego transferirlo a otros idiomas una vez que esté seguro de su experiencia de usuario, lógica, cálculos, etc.? Aparentemente, el emulador es muy bueno y puede complementarse con acelerómetro-emulador y gps-emulator para hacer todo, excepto hacer una llamada telefónica. (Y realmente, ¿quién usa los teléfonos inteligentes para hacer llamadas?)

Kate Gregory
fuente
Normalmente estaría de acuerdo, pero el OP dijo que estaba "ansioso por profundizar en el marco .NET", así que no estoy seguro de qué tan familiarizado está con C #. Además, por mucho que me guste el idioma, el mercado de Windows Phone parece un poco mediocre.
Davy8
1

Comencé a escribir aplicaciones de Android en Java con experiencia previa en C #. Descubrí que muchos conceptos fundamentales del lenguaje son similares, por lo que era simplemente una cuestión de aprender las pocas diferencias, especialmente con las bibliotecas. Si puedes aprender, codificar en el otro sería muy simple (según mi experiencia).

Yo recomendaría comenzar con Java. Android está en camino de convertirse en el sistema operativo móvil más popular, por lo que sabe que definitivamente existirá por un tiempo. Además, Java es más antiguo, por lo que hay innumerables bibliotecas y tutoriales disponibles para su uso y aprendizaje. Una vez que comprenda los conceptos básicos de Java, aprender C # debería ser muy fácil, y realmente apreciará algunas de las características (como los atributos y LINQ) que C # tiene para ofrecer.

Descargo de responsabilidad: comencé con C # (principalmente para el desarrollo web ASP.NET MVC) y luego aprendí Java para escribir aplicaciones de Android. No he hecho ninguna programación móvil con C #, así que no puedo decirte cómo es.

Colin O'Dell
fuente
0

Quizás archive esto bajo "pensamiento lateral", pero si tiene habilidades decentes en tecnologías web "puras" - HTML, JavaScript, CSS - y dependiendo de lo que esté tratando de lograr, consulte algo como PhoneGap (http: // www .phonegap.com / acerca de). Además de la compatibilidad con dispositivos iOS (iPhone, iPad) y Android, también tienen cierta compatibilidad con Symbian. Sin embargo, generalmente necesitará las herramientas "nativas" para construir sus aplicaciones binarias nativas. Por ejemplo, si quieres hacer iPhone dev, necesitarás el iPhone sdk, XCode y estarás ejecutando OSX.

HY
fuente