Importancia de los algorithms en el context del desarrollo de aplicaciones mobilees?

¿Es realmente importante conocer los algorithms para build aplicaciones mobilees? Tengo una sólida comprensión de las herramientas de desarrollo y el patrón de layout, así como un fuerte conocimiento de OOP y MVC.

Entonces, ¿se requiere conocer los algorithms hardcore para convertirse en un buen desarrollador de aplicaciones mobilees?


Puedo entender que si quieres crear juegos entonces SÍ, es obvio que debemos saber que todos los AI relacionados son competentes. Pero estoy solicitando la creación de aplicaciones basadas en datos simples.

Cada progtwig de computadora que escribe implementa un algorithm o un set de algorithms. Si le preocupa la calidad (término deliberadamente vago) de sus progtwigs, entonces debe preocuparse por la calidad de sus algorithms.

Por ejemplo, si quiere que su progtwig sea rápido (que es una calidad que puede tener un progtwig), elija mejor un algorithm rápido que un algorithm lento para el mismo problema. Si desea que su progtwig se ajuste a una pequeña cantidad de RAM (otro factor de calidad), elija mejor un algorithm que funcione con una pequeña cantidad de RAM en lugar de uno que lo engulle el GB.

Entonces, el conocimiento crítico para un desarrollador de software incluye el conocimiento de cómo analizar un algorithm para la velocidad, el uso de la memory y todos los demás factores de calidad que pueda interesarle optimizar. Una forma de analizar un algorithm es, por supuesto, referirse a texts que le dicen lo que quiere saber.

Concluyo con la afirmación de que sí, es necesario que conozca los algorithms hardcore para ser un buen desarrollador , no veo ninguna razón para modificar mi creencia en lo que respecta al desarrollo de aplicaciones mobilees. Por supuesto, no espero que sepas todo acerca de todos los algorithms que pueda haber, pero los principales que se encuentran en todos los libros de text básicos, y los que son específicos para tu dominio de aplicación, infierno sí, tienes que conocer a esos bribones ¡!

Creo que es irrelevante para el área mobile o no. Siempre debe tratar de lograr la mejor solución posible (no hay soluciones perfectas). En el área mobile, en particular, el performance es muy importante, porque estamos hablando de dispositivos pequeños, que aunque en los últimos años han recibido un importante impulso de hardware, siempre se debe tener especial cuidado. Siempre utilizo pérdidas de memory para verificar si algo anda mal con lo que hago. También reviso la memory del montón para ver si hay algo que consume demasiada memory. La batería también es una preocupación y también debe probar si su aplicación está usando demasiado.

En este momento estoy realmente centrado en la architecture de la aplicación, una aplicación funcional en los estándares actuales (al less por mi count) no es suficiente. Conocer patrones es una herramienta poderosa, y deberías leer sobre ellos (uno de los mejores es este ). Los costos de mantenimiento son un factor importante en estos días, y debe tratar de lograr la máxima reutilización y limpieza del código. Suponga siempre que el cliente cambiará las especificaciones y siempre tendrá en count que otra persona en el futuro mantendrá su código, así que evite los methods largos y el código complejo (a less que tenga que hacerlo). También recuerde dejar comentarios, incluso si algo es realmente simple, sea humilde … En un mes, tal vez no lo que hicieron esas cosas "simples". Esas cosas son bastante fáciles de lograr cuando estás comenzando un proyecto desde cero, pero es un dolor cuando necesitas comenzar a pensar en esos cuando el proyecto va a producirse en una semana …

En cuanto a su pregunta: ¿ es necesario conocer los algorithms hardcore para convertirse en un buen desarrollador de aplicaciones mobilees?

Mi respuesta es: No, ayuda, pero hay otras partes importantes en el desarrollo, además de los algorithms.

Los buenos algorithms pueden tener un impacto directo en el consumo de la batería de su teléfono y en la cantidad de memory que tiene. Todo desarrollador debe esforzarse por utilizar el mejor algorithm posible, pero eso no significa que sea absolutamente necesario.

Cuanto más pequeño y más restringido esté su plataforma, más importante es conocer los algorithms. Así que en el mobile sería aún más importante.

Intereting Posts