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?
- Comprimir el tráfico de duplicación de Couchdb
- ¿La plataforma web de Famo.us apoya el teléfono?
- Gotchas / errores en el desarrollo de WebKit en iOS o Android
- Cifrado de cadena de Java
- Cordova / Phonegap bloquea el código de la aplicación de origen para no ser editado / hackeado
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.
- Android equivalente de NSUserDefaults en iOS
- Facebook Pixel Conversion (Facebook Ads) no actualizado en el marco de Ionic
- ¿Es posible recibir eventos de inclinación en JavaScript en Webkit móvil para teléfonos iOS o Android?
- IOS OpenGL ES compatible con Android OpenGL ES?
- Cordova-ionic ngCordova ios o el archivo de iPhone lee el código de error 5 ENCODING_ERR
- Usando "nativo reactivo" con nuestro código existente
- ¿Qué solución basada en plataformas móviles basada en Ruby utilizar?
- Desarrollo de iOS y Android en Windows
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.
- ¿Cómo puedo validar en mi servidor que se ha adquirido una aplicación con éxito en el Android Market?
- Androide WebView: manejar las teclas de flecha en JavaScript