Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Open Source

Creando tu Startup: Las Bases de Código Abierto Detrás de Meeting Planner

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup With PHP: Collecting and Managing User Reports and Feedback
Building Your Startup: Refining Email Templates

Spanish (Español) translation by Javier Salesi (you can also view the original English article)

Final product image
What You'll Be Creating

Éste tutorial es parte de la serie Creando Tu Startup Con PHP en Envato Tuts+. En ésta serie, te guiaré a través del lanzamiento de una startup desde el concepto hasta hacerla realidad usando mi aplicación Meeting Planner como un ejemplo de la vida real. En cada etapa, liberaré el código de Meeting Planner como ejemplos de código abierto de los que puedes aprender. También abordaré problemas de negocios relacionados con la start-up cuándo surjan.

En el episodio de hoy, me gustaría dar un paso atrás y reflejar cómo es que he logrado crear un sofisticado y fácil de usar servicio de agendar reuniones por mí mismo en cuestión de meses, mi tiempo de programación real se explica por las interrupciones por neurocirujía, radiación, y otras consultas).

Claramente, como Donald Trump, ¡Soy un fabuloso "ganador" o no; gano tanto que no pueden aceptarlo-dices, alto, por favor deja de ganar. Y soy sólo otro ejemplo del potencial de "startups de un sólo hombre" para lanzar productos afuera de los garages. No puedo creer que Steve Jobs necesitara a Steve Wozniak o que Paul Allen necesitara a Bill Gates-¡qué patéticas asociaciones! ¡Les sobraba personal!

La verdad es que nunca hubiera podido crear todo ésto sin los brillantes esfuerzos de la comunidad de código abierto.

Hoy, voy a hechar un vistazo a todos los componentes de código abierto que proporcionan la base para Meeting Planner, la aplicación que he estado creando y de la que he estado escribiendo en Envato Tuts+. Si no has probado todavía Meeting Planner, ve adelante y agenda tu primera reunión ahora mismo-pide a un amigo que vayan a tomar un café o a almorzar.

Yo sí participo en la sección de comentarios de abajo, así que por favor comparte tu retroalimentación. Hoy, estoy especialmente interesado en ver si hay otros componentes de código abierto dentro de Meeting Planner además de los que menciono abajo. También estoy abierto a nuevas ideas de prestaciones y sugerencias de tópicos para futuros tutoriales.

Como recordatorio, todo el código para Meeting Planner está escrito en el Framework Yii2 para PHP (dos grandes elementos de código abierto). Si quisieras aprender más sobre Yii2, consulta nuestra serie paralela, Programando Con Yii2.

¿Aun existe la "Startup de Un Solo Hombre?

Desafortunadamente, hay tantos hombres en la tecnología como resultado de nuestra cultura y discriminación que la frase familiar, "startup de un solo hombre", se inclina a favor de un género. La disminución del número de mujeres que estudian ciencias de la computación realmente comenzó en los 1980s. Antes, ¡las mujeres se involucraban igualmente en la tecnología!

SmallBizTrends tiene un divertido infográfico de Las 10 Startups Más Exitosas de Un Solo "Hombre", algunas de las cuáles eran cuestionablemente empresas individuales. Por ejemplo, la historia del primer empleado contratado en Amazon parece indicar que su fase de un-solo-hombre fue breve, y no le otorga mucho crédito de los primeros días a la esposa de Bezo. Otras startups tienen evidencia de fases más largas de una-sola-persona.

Top 10 Most Successful One Man Startups
vía Small Biz Trends, Las 10 Startups Más Existosas de Un Solo Hombre

El bloguero y desarrollador Steve Ridout ha estado trabajando en ReadLang solo durante tres años y contando.

Las startups de una-sola-persona existen, pero es raro que tengan un gran éxito. Los financiadores buscan más los equipos que a individuos. Los equipos son generalmente más efectivos, bien por-el trabajo en equipo-oh si y la colaboración.

Hasta ahora, mi equipo para Meeting Planner han incluído una tremenda cantidad de software libre y de código abierto, por lo cuál estoy increíblemente agradecido.

Revisemos lo que hace funcionar a Meeting Planner y a sus servicios.

Código Abierto Utilizado con Meeting Planner

"Yo soy porque nosotros somos."

Hosting (Alojamiento)

Meeting Planner (MP) se ejecuta en Digital Ocean, que también ejecuta y soporta software de código abierto, y me ofrecieron unos cuántos meses de crédito por el servicio mientras creaba Meeting Planner en su propio droplet.

Código Base

Sistema Operativo

MP se ejecuta en una distribución de Linux, el sistema operativo de código abierto más popular que casi todos nosotros conocemos y amamos. El desarrollador Linus Torvalds creó Linux en 1981 mientras asistía a la Universidad de Helsinki, en respuesta a la falta de licencias abiertas con otros sistemas operativos.

La distribución de MP es Ubuntu, basado en otra distribución, Debian. De acuerdo a Wikipedia, Debian primero fue anunciada en 1993 por Ian Murdock, Debian 0.01 fue lanzado en Agosto de 1993, y el primer lanzamiento estable fue realizado en 1996. Ubuntu, lanzado en el 2004, es "llamado así en honor al filósofo Sudafricano de ubuntu (literalmente, 'humanidad'), que [el desarrollador lider] Canonical Ltd sugiere puede ser traducido como 'humanidad hacia otros' o 'yo soy porque nosotros somos'."

Servidor Web

El servidor Apache HTTP, uno de los primeros, hace funcionar a Meeting Planner. Wikipedia reporta que Apache llegó a ser "el primer software de servidor web que alojó a más de 100 millones de sitios web." Comenzó a desarrollarse en 1995 mientras estaba ayudando al nuevo servicio online de Microsoft a ejecutar nuevos sitios que funcionaban por visualización de elementos multimedia, basado en su negocio de contenido en CD. Por ejemplo, puedes recordar el asombroso Microsoft Dogs CD-ROM, que funcionaba por visualización de elementos multimedia.

Microsoft Dogs CD-ROM

Francamente, no sé la historia de visualización de elementos multimedia, pero parece que la de Microsoft estaba basada en un estándar primario de NeXT.

Microsoft Dogs. Pero, me aparto del tema...

Lenguaje de Programación y Framework

Meeting Planner está escrita en PHP de código abierto, un lenguaje escrito en el lenguaje de programación C con compiladores de código abierto.

Sin embargo, es el Framework Yii para PHP de código abierto el que ha sido fundamentalmente el aspecto más sustancioso para mí en la creación de Meeting Planner. Lanzado primero en el 2010, Yii hace la programación de MVC rápida y eficiente en PHP.

Si, sé que Laravel también es bueno, pero cuándo me adentro en la programación, no parece tan maduro como Yii. Y, francamente, Yii 2.0 ha satisfecho todas mis necesidades.

Meeting Planner demuesra la calidad de Yii mejor que cualquier otro trabajo que haya hecho.

¿Quieres aprender más sobre Yii? No sólo porque yo la escribí, recomiendo la serie de Envato Tuts+ Cómo Programar con Yii2; bueno, está bien, principalmente porque yo la escribí. Otro producto basado en Yii que he cubierto es la alternativa a WordPress, Craft CMS, un sobresaliente CMS para desarrolladores que quieren más poder y control sobre la plataforma de publicación.

Un par de miembros del equipo de Yii también me han ayudado personalmente durante años, lo que aprecio muchísimo.

Base de Datos

Meeting Planner también utiliza el socio principal de la base de datos del poliamoroso PHP, MySQL, otra famosa base de datos de código abierto lanzada en 1994.

El soporte Active Record de Yii generalmente facilita y hace más manejable el escribir código para trabajar con MySQL.

Envío de Correo Electrónico

MP depende del correo electrónico para anunciar invitaciones a reuniones y cambios en las reuniones y enviar archivos adjuntos de iCal para los calendarios de las personas. Envía sus correos electrónicos usando la extensión de Yii para el popular SwiftMailer vía el estándar SMTP hacia Mailgun para los correos salientes. Para trabajar con la API de Mailgun, MP usa Guzzle que es de código abierto.

Y, para enviar bonitos correos electrónicos HTML compatibles con todos los molestos clientes de correo, utiliza plantillas de código abierto Oxygen de Send With Us. Un día, MP podrá dinámicamente usar el aplicador de estilos CSS de código abierto de OpenBuilding para SwiftMailer, es solo que no está funcionando para mí todavía.

Meeting Planners Open Source Foundation - SendWithUs Oxygen Templates

Extensiones y Plugins de la Aplicación

Además de los mencionados arriba, Meeting Planer usa un montón de otros componentes, extensiones y plugins que son todos de código abierto. Veamos éste archivo .json:

Probablemente notaste que es una parte de archivo composer.json de MP. ¿Qué es eso? preguntas Es un archivo usado por nuestro gestor de paquetes de código abierto.

Gestores de Paquetes

Integrar y gestionar el uso de todos los componentes de arriba sería mucho más difícil sin composer, el gestor de paquetes de la comunidad de código abierto.

Frameworks CSS y HTML5

Para HTML 5 y CSS, Yii2 integra Bootstrap 3 de manera instantánea. Tu sitio Yii se ve fabuloso y se comporta responsivamente en dispositivos móviles y tabletas desde el principio.

De acuerdo a Wikipedia, Bootstrap es el segundo proyecto mejor calificado en Github, con más de 95,000 estrellas y más de 40,000 copias. Bootstrap fue desarrollado por Mark Otto y Jacob Thornton mientras trabajaba en Twitter.

Para mi, es uno de los componentes comunes más importantes del buen desarrollo web que hace a todos la vida más fácil; Bootstrap permite a los desarrolladores sin habilidades de diseño crear magníficos sitios-sólo ve Meeting Planner (no tengo buenas habilidades de diseño). Y nos permite enfocarnos en nuestros productos y no en el diseño básico. Bootstrap te permite comenzar con los cimientos de un gran equipo de diseño y ahorra tiempo y dinero.

Extensiones de Bootstrap

Meeting Planners Open Source Foundation - Kartiks Bootstrap Switches

Meeting Planner también utiliza un puñado de extensiones de Bootstrap integradas con Yii por algunos populares desarrolladores orientados a la comunidad:

Éstos y otros plugins creados en populares librerías de código abierto y widgets:

Éstos plugins son elementos clave de la experiencia de usuario de Meetin Planner para el servicio de agendar reuniones.

Extensiones de Yii

Yii también ofrece algunas extensiones adicionales de código abierto. Por ejemplo, su extensión AuthClient me permite fácilmente integrar el login social de Facebook, Goolge y LinkedIn en Meeting Planner. Y MP usa la plantilla avanzada de Yii que proporciona la gestión de usuario por base de datos de manera instantánea.

Servicios

También hay el ocasional "servicio abierto" como Gravatar que ofrece imágenes de perfil de usuario predeterminadas.

Editores de Texto

Recientemente, finalmente cambie mi propietario, y añejo TextMate por el editor Atom de código abierto y soportado por Github. Mi productividad ha despegado. Sólo hay un aspecto del Autocompletado de TextMate que todavía no he tenido tiempo de buscar en Google para un reemplazo. Ve, la comunidad de Atom ha creado unos paquetes zillion que son fáciles de buscar e instalar.

Meeting Planners Open Source Foundation - Atom Packager

¿Qué más?

Por el momento eso es todo en lo que puedo pensar. Probablemente hay muchas otras piezas que son de código abierto dentro de Meeting Planer que no me dí cuenta o mencioné aquí. ¡Por favor escribe tus adiciones en los comentarios! También puedes contactarme directamente en Twitter @reifman.

Y no mencioné todas las comunidades online que encontré en búsquedas en Google con preguntas y respuestas en las que regularmente confío para consejos de programación. O el hecho de que nuestras computadoras y dispositivos móviles dependen de mucho software de código abierto.

Una Participación en la Propiedad de Código Abierto

Si eres un desarrollador, no podrías sacar el trabajo sin interactuar con algún componente o herramienta de código abierto. Te animo a considerar formas en las que puedes mostrar tu apoyo por los esfuerzos de la comunidad.

Uno Por Ciento para el Código Abierto

Como busco recabar fondos de inversionistas, he decidido destinar uno por ciento de la participación sólo para el código abierto. En otras palabras, uno por ciento de Meeting Planner será usado para apoyar proyectos de código abierto y fundaciones, dirigidas por nuestros eventual consejo directivo.

También estoy comenzando a experimentar con crowfunding. He estado explorando el servicio WeFunder. Su éxito puede crecer con la implementación de la nuevas reglas de crowdfunding de la SEC. Por favor considera seguir nuestro perfil en WeFunder. Planeo escribir más sobre ésto como parte de nuestra serie.

¿Que Sigue?

Sencillamente no habría manera de crear Meeting Planner sin el software de código abierto junto con los históricos y constantes esfuerzos de la comunidad.

Déjenme decirlo de nuevo. No habría sido posible.

Si todavía no lo has hecho, prueba Meeting Planner ahora mismo agendando tu primera reunión, sabiendo que la planeación de tu día ha sido hecho mas fácil y rápido por hombres y mujeres de la comunidad de código abierto.

¡Gracias a todos que alguna vez han consultado código en un repositorio abierto!

Espera nuestros próximos tutoriales en la serie Creando Tu Startup con PHP. Están por venir unas cuántas prestaciones sensacionales.

Enlaces Relacionados

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.