Importancia de los algoritmos en el contexto del desarrollo de aplicaciones móviles?

¿Es realmente importante conocer algoritmos para crear aplicaciones móviles? Tengo una fuerte comprensión de las herramientas de desarrollo y patrón de diseño, así como un sólido conocimiento de OOP y MVC.

Por lo tanto, es necesario conocer algoritmos hardcore para convertirse en un buen desarrollador de aplicaciones móviles?


Puedo entender que si quieres crear juegos entonces sí es obvio que debemos saber todos los algos relacionados con la IA para ser competente. Pero estoy pidiendo sólo datos sencillos impulsado por la construcción de aplicaciones.

Cada programa de computadora que escribes implementa un algoritmo o un conjunto de algoritmos. Si usted está preocupado por la calidad (término deliberadamente vago) de sus programas, entonces usted tiene que estar preocupado por la calidad de sus algoritmos.

Por ejemplo, si desea que su programa sea rápido (lo cual es una calidad que un programa podría tener), elija un algoritmo rápido que un algoritmo lento para el mismo problema. Si desea que su programa encaje en una pequeña cantidad de RAM (otro factor de calidad) elija mejor un algoritmo que funciona en una pequeña cantidad de RAM en lugar de uno que lo engullen por el GB.

Por lo tanto, el conocimiento crítico para un desarrollador de software incluye el conocimiento de cómo analizar un algoritmo de velocidad, uso de memoria y todos los otros factores de calidad que podría estar interesado en optimizar. Una forma de analizar un algoritmo es, por supuesto, referirse a los textos que te dicen lo que quieres saber.

Concluyo con la afirmación de que sí es necesario conocer algoritmos hardcore para ser un buen desarrollador , no veo ningún motivo para modificar mi creencia cuando se trata de desarrollo de aplicaciones móviles. Por supuesto, no espero que sepas todo sobre los algoritmos que podría haber, pero los principales que se encuentran en todos los libros de texto básicos, y los que son específicos de su dominio de aplicación, el infierno sí que tienes que conocer a esos pícaros !

Creo que es irrelevante ser para el área móvil o no. Usted siempre debe tratar de lograr la mejor solución posible (no hay unos perfectos). En el área móvil, en particular, el rendimiento es muy importante, ya que estamos hablando de dispositivos pequeños, que aunque en los últimos años han estado recibiendo un gran impulso de hardware, siempre debe tener especial cuidado. Siempre uso fugas de memoria para comprobar si algo está mal con lo que hago. También compruebo la memoria del montón para ver si hay algo consumiendo demasiada memoria. La batería también es una preocupación y también debe probar si su aplicación está usando demasiado.

Por el momento estoy realmente centrado en la arquitectura de la aplicación, una aplicación de trabajo en los estándares actuales (al menos en mi propio) no es suficiente. Conocer los patrones es una herramienta poderosa, y usted debe leer acerca de ellos (uno de los mejores es éste ). Los costos de mantenimiento son un factor importante en estos días, y usted debe tratar de lograr la máxima reutilización y limpieza del código. Siempre asuma que el cliente cambiará las especificaciones y siempre tenga en cuenta que alguien más en el futuro mantendrá su código, así que evite los métodos largos y el código más complejo (a menos que tenga que hacerlo). También recuerde dejar comentarios, incluso si algo es realmente simple, ser humilde … En un mes usted puede ser que no ahora qué cosas "simples" hicieron. Esas cosas son bastante fáciles de lograr cuando se inicia un proyecto desde cero, pero un dolor cuando se necesita para empezar a pensar en aquellos cuando el proyecto va a la producción en una semana ..

En cuanto a su pregunta: ¿ es necesario conocer algoritmos hardcore para convertirse en un buen desarrollador de aplicaciones móviles?

Mi respuesta es: No, ayuda, pero hay otras partes importantes al desarrollar, además de algoritmos.

Los buenos algoritmos pueden tener un impacto directo en el consumo de la batería de su teléfono, así como la cantidad de memoria que tiene. Cada desarrollador debe esforzarse por utilizar el mejor algoritmo posible, pero eso no significa que sea absolutamente necesario.

Cuanto más pequeño y más recursos limitan su plataforma, más importante es conocer los algoritmos. Así que en el móvil sería aún más importante.

  • El cifrado AES tiene diferentes resultados en iOS y Android
  • Copia al portapapeles en jquery / javascript sin flash para ipad / iphone
  • Generación de código para iOS y android
  • Envío de Amazon SNS desde mi servidor PHP
  • Buscando retroalimentación técnica en Nextreaming NexPlayer ™
  • Mensajería instantánea sobre xmpp o websocket
  • Mostrar la vista de la cámara dentro de html en android y luego tomar una foto
  • Cómo probar todo en Xamarin
  • ¿Cuál es la mejor manera de desarrollar una aplicación multi-móvil con soporte para bluetooth?
  • Limitaciones de Cordova PhoneGap
  • Programáticamente agregar evento en iPhone / Android Calendario con PhoneGap / jQuery Mobile?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.