¿Qué opinas de los miniprogramas de WeChat?
Los mini programas de WeChat se han vuelto bastante populares recientemente. Rápidamente saqué de la estantería el libro que compré hace tres años y le limpié la suciedad para calmar mi sorpresa.
Como programador que no es un programador experimentado. Analicemos el subprograma WeChat desde la perspectiva de un programador. Cualquier consejo es bienvenido.
En primer lugar, una queja
El subprograma WeChat solo envió 200 números de invitación. Tal como esperaba, Zhang Xiaolong no entregó mis tarjetas. ¿mismo?
Primero, comprendamos qué es un mini programa WeChat. Publicado nuevamente desde Zhihu
WeChat puede haber reiterado que "somos una aplicación de citas"
WeChat también proporciona muchas interfaces y componentes (lo siento, dije tonterías).
El siguiente es el punto de vista del tío Zen:
El principio del miniprograma es usar JS para llamar a los componentes nativos subyacentes, que es muy similar a React Native. Simplemente demuestra que todo lo que se puede desarrollar con JS eventualmente se desarrollará con JS.
Prueba: Todo lo que se puede desarrollar con JS eventualmente se desarrollará con JS
Explicación:
Según mis muchos años de experiencia, esta frase es una verdadera proposición.
Hay dos facciones de diseñadores de lenguajes. Algunas personas piensan que los lenguajes de programación deberían evitar que los programadores hagan cosas estúpidas, mientras que otros piensan que los programadores deberían poder utilizar lenguajes de programación. para hacer todo lo que quieran hacer. El lenguaje C/Java es un representante del primer campo y JS es un representante del segundo.
A menudo, el primer campo de lenguajes enfatiza el rendimiento, int es int, double es double, y el segundo campo enfatiza la conveniencia, int es var, double sigue siendo var.
Cuando eliges un idioma, en realidad estás haciendo una pregunta de opción múltiple. Elija conveniencia o rendimiento.
Los nuevos lenguajes suelen ser muy convenientes porque el rendimiento del hardware ha mejorado, por lo que se pueden renunciar a los requisitos de rendimiento por conveniencia.
La principal contradicción entre los lenguajes de programación es la contradicción entre la conveniencia del desarrollo de programas y el nivel de hardware.
Si pudieras viajar en el tiempo a la década de 1970 (primero comprar un terreno al oeste de Zhongnanhai), cuando estuvieras sentado frente a una computadora enorme y escribiendo código, accidentalmente agitarías tu manita y escriba dos espacios más luego el programa oom.
No creas que lo anterior es increíble. En ese momento, la memoria era muy baja. Cada carácter estaba estrictamente definido y no se permitía desperdicio. Es una fantasía poder ejecutar una máquina virtual Java, ¿cómo puede existir un lenguaje Java?
La frugalidad es una virtud, y el desperdicio no es necesariamente algo malo
Con la mejora del rendimiento del hardware, han aparecido cada vez más lenguajes de programación y nuevos lenguajes A menudo son mejores en términos de rendimiento, desperdicio y mayor comodidad. Algunas de las aplicaciones más populares desarrolladas en nuevos lenguajes desperdician asombrosamente recursos de hardware según los estándares de hace décadas.
Este fenómeno no se limita a los lenguajes de programación. En realidad, es una tendencia histórica común. Con el desarrollo de la tecnología, cada generación está haciendo cosas que la generación anterior consideraba un desperdicio. Puedes imaginarte haciendo una llamada telefónica de larga distancia hace 30 años, pero ahora, y mucho menos las llamadas telefónicas de larga distancia, algunas personas vuelan para tener relaciones sexuales. Antes era difícil de imaginar.
Los residuos se pueden dividir en residuos buenos y residuos malos. Cambiar más desperdicio por un diseño más simple no es algo malo.
¿Cómo podemos aprovechar al máximo el rendimiento más potente del nuevo hardware y "desperdiciarlo" de la mejor manera?
En este momento, el problema ha vuelto al principio, lo que demuestra: todo lo que se puede desarrollar con JS eventualmente se desarrollará con JS
JS es un lenguaje extremadamente escalable , y su rendimiento es solo un 10% mejor que el de otros lenguajes, jeje. Pero la velocidad del hardware mejorará rápidamente.
Paul Graham ha calculado que si la Ley de Moore continúa siendo válida. Dentro de cien años las computadoras funcionarán a 74 veces 10 elevado a la 18ª potencia de hoy. (73 786 976 294 838 206 464 veces para ser precisos)
Un día, ignorarás el rendimiento y optarás por la comodidad a la hora de elegir.
Cuando estaba en la escuela, solía ir a cibercafés a jugar Westward Journey y Legend. Pero ahora cualquier juego web puede producir este tipo de efecto de juego. Hace 10 años era difícil imaginar que se pudiera jugar este tipo de juego en la web.
Puedes intentar imaginar ahora que podrás jugar a World of Warcraft cuando abras una página web unos años después.
Esto no es imposible de lograr.
¿Pueden sobrevivir los lenguajes que enfatizan el rendimiento?
Todos sabemos que C/C++ es un lenguaje que enfatiza el rendimiento. Cuando creamos juegos o reproducimos videos, se requiere rendimiento. ¿Serán reemplazados por nuevos idiomas?
Puedo demostrar solemnemente que no será así.
Aunque el lenguaje Java que mencioné anteriormente pertenece al primer grupo de lenguajes que enfatizan el rendimiento. Pero en comparación con C/C++, obviamente mejora la conveniencia.
El lenguaje está evolucionando y es iterativo. A medida que mejora el rendimiento del hardware, básicamente se generará un nuevo lenguaje en cada nodo, lo que desperdicia rendimiento y mejora la comodidad.
Pero es difícil reemplazar el lenguaje anterior y seguirán apareciendo programas con altos requisitos de rendimiento. Incluso si puedes jugar World of Warcraft en la web en el futuro, todavía existirá Super World of Warcraft. , Titan World, Universe World, etc. Esperando muchos juegos nuevos con mayores requisitos de rendimiento.
¿Los mini programas de WeChat reemplazarán a otras aplicaciones?
La pregunta vuelve a nuestro tema de los miniprogramas de WeChat. ¿Reemplazarán los miniprogramas de WeChat a otras aplicaciones?
Mi punto de vista es muy claro.
No será reemplazado ahora, pero sí en el futuro, pero habrá cosas en el futuro que no podrán ser reemplazadas por. WeChat en el futuro; habrá cosas que no podrán ser reemplazadas por WeChat en el futuro...
De hecho, no es difícil de explicar hace 10 años no podíamos jugar Legends en la web. , pero ahora podemos. Pero ahora existe World of Warcraft. Tal vez se pueda jugar en la web dentro de 10 años, pero para entonces definitivamente habrá juegos como Super World of Warcraft que no se podrán jugar en la web.
Como programador, ¿qué necesitamos aprender?
A algunas personas les preocupa que cuando salgan los miniprogramas WeChat, aquellos que desarrollan Android e iOS perderán sus trabajos.
De hecho, puedes estar seguro de que mientras puedas aprender, nunca estarás desempleado. Si no aprendes, estarás desempleado incluso si no se lanza el mini programa WeChat.
Por ahora, los programas pequeños son siempre pequeños y tienen escenarios limitados. No puede reemplazar completamente la APLICACIÓN, pero también puede guiar a los usuarios para descargar la APLICACIÓN a través de pequeños programas. Al igual que un libro breve, el hecho de que pueda navegarlo en la web no significa que no necesite desarrollar un software de aplicación.
Pero hay que reconocer las grandes tendencias. Este periodo de tiempo se utiliza para aprender.
¿Cómo aprenderlo específicamente?
Lea la documentación para aprender, primero comprenda los conceptos básicos de la sintaxis JS, comprenda los principios de React Native, aprenda JS, RN, H5, CSS, operaciones, pruebas, especificaciones de diseño de productos, diseño gráfico, redes neuronales. , OpenGL... ...
En resumen, según los documentos específicos, aprenderá lo que utiliza.
Como programador, puedes olvidarte de aprender matemáticas avanzadas, puedes olvidarte de aprender inglés, puedes olvidarte de aprender álgebra lineal... Pero nunca olvides aprender.