¿Cómo convertirse en un experto en código abierto?
Prefacio
¿Es la primera vez que lo escuchas? Ibiremi. ¿Lo viste con este nombre? ¿Compartir en Weibo? ¿Sí? YYTexto? Biblioteca de código abierto. Cuando lo vi por primera vez. Cuando la función de YYText muestra una imagen GIF (como se muestra a continuación), se sentirá atraído por sus ricas funciones. YYText debería ser el marco de composición tipográfica basado en CoreText más potente que jamás haya visto.
Sorprendentemente, aunque YYText tiene una gran cantidad de código (más de 10.000 líneas), es sólo una de las obras de ibireme. ¿Ibireme lo hizo en su tiempo libre? ¿YKit? Biblioteca de herramientas, que incluye:
YYModel? —Marco de modelo iOS JSON de alto rendimiento.
¿YYCaché? —Marco de almacenamiento en caché de iOS de alto rendimiento.
YY¿Imagen? —Potente marco de imagen de iOS.
YYWebImage? — Marco de carga de imágenes asíncrona de iOS de alto rendimiento.
YYTexto? —Un potente marco de texto enriquecido para iOS.
¿YYKeyboardManager? —Herramienta de gestión y supervisión del teclado de iOS.
¿YYDispatchQueuePool? —Herramienta de gestión de colas simultáneas globales de iOS.
¿YYAsyncLayer? — Herramientas de visualización y dibujo asincrónicas de iOS.
YYCategorías? —Una biblioteca rica en funciones de herramientas de tipo categoría.
Entrevista
Don Qiao: Hola, ibireme, ¿puedes presentarte brevemente a los lectores?
Ibireme: Hola a todos, mi nombre es Guo y soy desarrollador de iOS. Actualmente vivo en Beijing y trabajo en Youku Tudou. Me gusta el código, el diseño y la música.
Tang Qiao: Descubrí que YYKit se subió a github a principios de este mes, pero el tamaño de su código es muy grande. ¿Puedes decirme cuánto tiempo te tomó hacer cada parte?
Me molesta: la mayoría de las herramientas como la categoría se han ahorrado del trabajo y del tiempo libre en los últimos dos años. Comencé a escribir proyectos relacionados con palabras e imágenes a principios de este año y los he estado escribiendo durante más de medio año. YYModel es el que menos tiempo lleva, sólo unos dos fines de semana.
Tang Qiao: ¿Por qué decidiste abrir tantos códigos a la vez en lugar de abrirlos uno por uno?
Ibireme: Al principio, escribí todo este código en un proyecto, que era bastante grande y tenía muchas dependencias entre sí. Cuando me estaba preparando para lanzarlo, sentí que era inconveniente para otros usarlo, así que lo dividí en pequeños componentes según sus funciones y los lancé juntos.
Tang Qiao: Estas bibliotecas de código abierto han recibido muchos elogios en el país y en el extranjero. ¿Esto superó sus expectativas?
Ibireme: Esperaba mucha atención antes del lanzamiento, pero las críticas positivas que recibí después del lanzamiento superaron con creces mis expectativas. Lo que más me sorprendió fue que ingenieros extranjeros de Facebook y Uber también prestaron atención a este proyecto y me enviaron ofertas de trabajo, lo que me emocionó mucho.
Tang Qiao: ¿Tiene algún plan para el desarrollo futuro de YYKit?
Ibireme: En este momento solo estamos planeando hacer algunos trabajos de mantenimiento normales para garantizar la estabilidad. Intentaré agregarlo en el futuro si aparece algo adecuado, pero no debería cambiar mucho.
Tang Qiao: YYKit es tu trabajo amateur. Tengo curiosidad por saber cómo se puede mantener un rendimiento tan alto después de salir del trabajo.
Ibireme: El año pasado no estuve ocupado en el trabajo. Raramente trabajo horas extras y tengo más tiempo libre. Además, soy hogareño y normalmente me gusta quedarme en casa y hacer cosas que disfruto. Hablando de eso, debería tener suficiente tiempo e interés personal para completar estos proyectos.
Tang Qiao: ¿Qué opinas del idioma Yuyan? ¿Alguna vez has planeado reescribir tu YYKit en Swift?
Ibireme: En comparación con Objective-C, creo que Swift es sin duda un lenguaje mejor y más moderno. Actualmente, no he investigado mucho sobre Swift ni lo he usado en el trabajo, pero invertiré más tiempo en Swift en el futuro. Muchas cosas en YYKit se adaptan mejor a C/Objective-C, por lo que no planeo reescribir todo el proyecto en Swift. Podría escribir algo nuevo en Swift para aprovechar al máximo las funciones de Swift.
Don Qiao: ¿Cómo creciste rápidamente en el desarrollo de iOS? ¿Tiene alguna experiencia que pueda compartir con nuevos desarrolladores de iOS?
Ibireme: Estuve expuesto al desarrollo de iOS desde muy temprano, pero siempre he estudiado por mi cuenta en función de mis intereses después del trabajo. Cuando todavía estaba en Renren.com en 2014, había un nuevo proyecto en el departamento que requería desarrollo de iOS, por lo que tuve la oportunidad de utilizar tecnologías relacionadas con iOS en el trabajo. Pasé mucho tiempo leyendo y aprendiendo varios códigos fuente abiertos, estudiando sus principios de implementación, tratando de implementar tecnologías relacionadas yo mismo e intentando usarlas en el trabajo después de dedicarme al desarrollo de iOS a tiempo completo, lo que me hizo progresar rápidamente en iOS. avance de la tecnología del desarrollo. Para el desarrollo de iOS, creo que la capacidad de autoaprendizaje es muy importante. Tome la iniciativa de aprender algunos proyectos excelentes de código abierto, practique más y aprenda más en el trabajo, para que pueda mejorar gradualmente su nivel técnico personal.
Tang Qiao: ¿Qué desarrolladores crees que tienen la mayor influencia sobre ti?
Ibireme: Quizás prefiero leer código, pero no sé mucho sobre desarrolladores. Si tuviera que elegir uno, elegiría a Linus Torvalds. Me gusta mucho su frase: "Hablar es barato, muéstrame el código".
Tang Qiao: En el ámbito técnico, ¿tiene algún plan de estudio para el futuro?
Ibireme: En el lado de iOS, probablemente pondré más esfuerzo en Swift, procesamiento de audio y composición. Además, mi primer trabajo fue el desarrollo de backend de Java y estuve expuesto a cosas relacionadas con el front-end y las bases de datos en el trabajo, por lo que si tengo tiempo, continuaré aprendiendo estas tecnologías y puedo ampliar mis horizontes incluso si No tienes que trabajar la visión.
Conclusión
Cuando presenté mi método de aprendizaje hace un momento, mencioné dos puntos que creo que son muy críticos. Una es leer mucho código fuente de proyectos excelentes y la otra es probarlo usted mismo.
Hace mucho tiempo, compartí varias formas en las que pensé que los desarrolladores de iOS podrían mejorar sus capacidades. ¿Viste eso? "Cómo mejorar el desarrollo de iOS" también menciona la lectura de código fuente abierto y la escritura de más código. Siento que ibireme ha logrado esto hasta el extremo, por lo que puede convertirse en un autor de proyectos de código abierto influyente en la industria en poco más de un año.
Estamos en una era de explosión de información y cada día aparece una gran cantidad de artículos sobre desarrollo de iOS. Devoramos estos artículos, pero a menudo sólo arañamos la superficie. Al igual que ibireme, centrarse en leer algunos proyectos de código abierto y luego hacerlo usted mismo podría ser la forma correcta de aprender.
Espero que la historia de ibireme pueda inspirar a nuevos desarrolladores de iOS que estén ansiosos por convertirse en grandes talentos. También espero que aparezcan en China más proyectos excelentes de código abierto como YYKit para alentar a todos.