¿Cómo se hace un toro de código abierto?
Cómo convertirse en un experto en código abierto
Prólogo
La primera vez que escuché el nombre "ibireme" fue cuando lo vi compartiéndolo en Weibo Cuando trabajaba por tu cuenta. Compartió una biblioteca de código abierto llamada YYText en Weibo. En ese momento, cuando vi por primera vez las funciones de "YYText GIF" (como se muestra a continuación), me atrajeron sus ricas funciones. YYText debería ser el marco de diseño basado en CoreText más potente que jamás haya visto.
Sorprendentemente, YYText es sólo una de las creaciones de ibireme, a pesar de su enorme tamaño de código (más de 10.000 líneas).
ibireme utilizó su tiempo libre para crear el kit de herramientas YYKit, que incluye:
YYYModel: un marco de modelado JSON para iOS de alto rendimiento.
YYCache? - Un marco de almacenamiento en caché de iOS de alto rendimiento.
YYImage? - Un potente marco de imágenes para iOS.
YWebImage?: un marco de carga de imágenes asíncrono de alto rendimiento para iOS.
YText? - Un potente marco de texto enriquecido para iOS.
¿YKeyboardManager?- Herramienta de gestión de escucha de teclado de iOS.
YDispatchQueuePool?- Herramienta de gestión de colas simultáneas globales de iOS.
YAsyncLayer? - Herramienta de visualización y dibujo asíncrono de iOS.
YCategories?: una biblioteca rica en funciones de herramientas de tipo categoría.
Entrevista
Tang Qiao: Hola, ibireme, ¿puedes presentarte brevemente a los lectores?
ibireme: Hola a todos, mi nombre es Guo Yaoyuan. Soy un desarrollador de iOS que actualmente vive en Beijing y trabaja para Youku Tudou. Me encanta 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 la cantidad de código es muy grande. ¿Puedes decirnos cuánto tiempo te llevó dedicarte a cada parte?
ibireme: La mayoría de las herramientas, como Categoría, las acumulé durante mi trabajo y mi tiempo libre durante el último año o dos. El proyecto relacionado con textos e imágenes se inició a principios de este año y lleva más de medio año en marcha.
Tang Qiao: ¿Por qué elegiste abrir tanto código a la vez en lugar de abrirlo uno por uno?
ibireme: Inicialmente, escribí todo el código en un proyecto, que tenía mucho código y muchas dependencias entre sí. Cuando estaba listo para lanzarlo, sentí que sería inconveniente para otros usarlo, así que lo dividí en componentes más pequeños por función y los lancé juntos.
Tang Qiao: Estas bibliotecas de código abierto han recibido muchos comentarios positivos en el país y en el extranjero. ¿Ha superado sus expectativas?
ibireme: Antes del lanzamiento, esperaba recibir mucha atención, pero los comentarios positivos que recibí después del lanzamiento superaron con creces mis expectativas. Lo que más me sorprende es que ingenieros de Facebook, Uber y otras empresas extranjeras se hayan dado cuenta de este proyecto y me hayan brindado oportunidades laborales, lo que me hace mucha ilusión.
Tang Qiao: ¿Tiene algún plan para el desarrollo futuro de YYKit?
ibireme: Ahora solo planeamos hacer algunos trabajos de mantenimiento normales para garantizar la estabilidad. Si surge algo adecuado en el futuro, intentaré agregarlo, pero no debería cambiar mucho.
Tang Qiao: YYKit es tu trabajo de tiempo libre. Tengo curiosidad por saber cómo mantienes una eficiencia laboral tan alta fuera del trabajo.
ibireme: En el último año, mi trabajo se ha vuelto menos ocupado y rara vez trabajo horas extras, por lo que tengo más tiempo libre. Además, soy un poco nerd y normalmente me gusta quedarme en casa y hacer las cosas que me gustan. En otras palabras, debería haber suficiente tiempo e interés personal para poder completar estos proyectos.
Tang Qiao: ¿Qué opinas de Swift? ¿Tienes planes de reescribir tu YYKit en Swift?
ibireme: Creo que Swift es definitivamente un lenguaje mejor y más moderno que Objective-C. No he investigado mucho sobre Swift hasta ahora. No he investigado mucho sobre Swift hasta ahora y no lo uso en el trabajo, pero dedicaré más tiempo a Swift en el futuro. Muchas cosas en YYKit se adaptan mejor a los lenguajes C/Objective-C, por lo que no tengo planes de reescribir todo el proyecto en Swift. Podría escribir contenido nuevo en Swift para aprovechar las funciones de Swift.
Tang Qiao: ¿Cómo creciste rápidamente en el campo del desarrollo de iOS? ¿Algún consejo que puedas compartir con los nuevos desarrolladores de iOS?
ibireme: He estado expuesto a iOS durante mucho tiempo, pero he estado aprendiendo por mi cuenta fuera del trabajo. Hace 14 años, cuando todavía trabajaba en Renren, mi departamento tenía un nuevo proyecto que requería el desarrollo de iOS, por lo que tuve la oportunidad de utilizar tecnologías relacionadas con iOS en el trabajo. Después de dedicarme a tiempo completo al desarrollo de iOS, pasé mucho tiempo leyendo y estudiando varios códigos fuente abiertos, estudiando principios de implementación, tratando de implementar tecnologías relacionadas por mí mismo e intentando usarlas en el trabajo, lo que me hizo progresar muy rápidamente en iOS. desarrollo. Para el desarrollo de iOS, creo que la capacidad de autoaprendizaje es muy importante. Creo que deberíamos tomar la iniciativa de aprender algunos buenos proyectos de código abierto, practicar más y aprender más en el trabajo, para que podamos mejorar gradualmente nuestras habilidades personales.
Tang Qiao: ¿Qué desarrolladores crees que tienen la mayor influencia sobre ti?
ibireme: Quizás prefiera mirar el código, pero no sé mucho sobre desarrolladores. Si tuviera que elegir uno, elegiría a Linus Torvalds. Me gustan mucho sus palabras: "Las palabras vacías dañan al país, pero el trabajo duro hace que el país sea próspero".
Tang Qiao: ¿Tiene algún plan de estudio para el futuro campo de la ciencia y la tecnología?
ibireme: En el lado de iOS, probablemente me centraría más en Swift, el procesamiento de audio y la composición. Mi primer trabajo fue como desarrollador back-end de Java y estuve expuesto a cosas relacionadas con front-end, back-end y bases de datos, así que si tengo tiempo, continuaré aprendiendo estas tecnologías, incluso si no las tengo. Necesito usarlos en el trabajo, creo que esto amplía mis horizontes.
Conclusión
Justo ahora, cuando Ibireme presentó su método de aprendizaje, mencionó dos puntos, que creo que son muy cruciales. Uno es leer mucho código fuente de proyectos excelentes; Intenta hacerlo tú mismo.
Hace mucho tiempo compartí las diversas formas en que pensé que los desarrolladores de iOS podrían mejorar sus habilidades, ¿ves? Cómo los desarrolladores de iOS pueden mejorar", que también habla sobre leer código abierto y escribir más código. Creo que ibireme ha llevado esto al extremo, por lo que pudo 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. Todos los días aparece una gran cantidad de artículos sobre desarrollo de iOS. Tenemos hambre de estos artículos, pero a menudo no entendemos el punto. La forma correcta de aprender es prestar atención a algunos proyectos de código abierto (como ibireme) y luego practicarlo usted mismo.
Espero que la historia de ibireme pueda inspirar a nuevos desarrolladores de iOS que estén ansiosos por convertirse en excelentes desarrolladores. También espero que haya más proyectos excelentes de código abierto como YYKit en China, para que todos podamos alentarnos mutuamente. otro.