Ce tutoriel fait partie de la Construire votre démarrage avec la série PHP sur Envato Tuts +. Dans cette série, je vous guide dans le lancement d’une startup du concept à la réalité en utilisant mes Planificateur de réunion application comme exemple de la vie réelle. À chaque étape du processus, je publierai le code de Meeting Planner sous forme d’exemples open source à partir desquels vous pourrez apprendre. Je traiterai également les problèmes liés au démarrage au fur et à mesure qu'ils surviennent.
Dans l’épisode d’aujourd’hui, je voudrais prendre du recul et réfléchir sur le fait que j’ai réussi à créer un service de planification sophistiqué et facile à utiliser par moi-même en quelques mois, mon temps de programmation réel tenant compte de interruptions dues à une chirurgie cérébrale, à une radiothérapie et à d'autres consultations).
Clairement, comme Donald Trump, je suis un incroyable "gagnant!" ou pas; Je gagne tellement que vous ne pouvez tout simplement pas le prendre - vous dites, arrêtez, s'il vous plaît, arrêtez de gagner. Et je ne suis qu'un autre exemple du potentiel des "startups individuelles" pour lancer des produits hors des garages. Je ne peux pas croire que Steve Jobs ait besoin de Steve Wozniak ou Paul Allen avait besoin de Bill Gates, quels couplages pathétiques! Ils étaient surchargés!
La vérité est que je n’aurais jamais pu construire tout cela sans le brillants efforts habilitants de la communauté open-source.
Aujourd'hui, je vais jeter un coup d'œil à tous les composants open-source qui constituent la base de Meeting Planner, l'application que j'ai développée et écrite pour Envato Tuts +. Si vous n'avez pas encore essayé Meeting Planner, planifiez votre première réunion dès maintenant. Demandez à un ami de prendre un café ou un déjeuner..
Je participe aux commentaires ci-dessous, alors partagez vos commentaires. Aujourd'hui, je m'intéresse particulièrement à la question de savoir s'il existe d'autres composants open source dans Meeting Planner que ceux mentionnés ci-dessous. Je suis également ouvert aux nouvelles idées de fonctionnalités et suggestions de sujets pour les prochains tutoriels..
Pour rappel, tout le code pour Meeting Planner est écrit dans le framework Yii2 pour PHP (deux gros éléments open-source). Si vous souhaitez en savoir plus sur Yii2, consultez notre série parallèle Programmation avec Yii2..
En raison de notre culture et de notre discrimination, la technologie et les hommes sont si nombreux que la phrase familière, "one man start", comporte un préjugé sexiste inhérent. La baisse du nombre de femmes qui étudient en informatique a réellement commencé dans les années 1980. Avant cela, les femmes étaient également impliquées dans la technologie!
SmallBizTrends propose une infographie amusante des 10 meilleures start-ups "Man" les plus réussies, dont certaines étaient des entreprises individuelles douteuses. Par exemple, l'histoire du premier employé d'Amazon embauché semble indiquer que sa phase de recrutement par un seul employé a été brève et que la femme de Bezos n'a pas beaucoup de crédit depuis ses débuts. D'autres startups ont des preuves de phases plus longues d'une personne.
via Small Biz Trends, Top 10 des entreprises les plus réussies avec One Man StartupsLe blogueur et développeur Steve Ridout travaille sur ReadLang solo depuis trois ans et compte.
Les startups à une personne existent, mais il est rare qu’elles réussissent. Les bailleurs de fonds recherchent plus des équipes que des individus. Les équipes sont généralement plus efficaces, car le travail d’équipe (ah oui) et la collaboration.
Jusqu'ici, mon équipe pour Meeting Planner a englobé une énorme quantité de logiciels libres et à source ouverte, pour lesquels je suis extrêmement reconnaissant..
Passons en revue les pouvoirs de Meeting Planner et de ses services..
"Je suis ce que je suis à cause de qui nous sommes tous."
Meeting Planner (MP) fonctionne chez Digital Ocean, qui exécute et prend également en charge les logiciels open source. Ils m'ont offert quelques mois de crédit de service tout en développant Meeting Planner avec son propre droplet..
MP fonctionne sur une version de Linux, le système d’exploitation open source le plus populaire, que nous connaissons et apprécions presque tous. Le développeur Linus Torvalds a créé Linux en 1981 alors qu'il fréquentait l'université d'Helsinki, en raison du manque de licences ouvertes avec d'autres systèmes d'exploitation..
La version MP est Ubuntu, basée sur une autre version, Debian. Selon Wikipedia, Debian a été annoncé pour la première fois en 1993 par Ian Murdock, la version 0.01 de Debian a été publiée en août 1993 et la première version stable a été publiée en 1996. Ubuntu, publié en 2004, est "nommé d'après la philosophie d'Afrique du Sud d'ubuntu , 'humanité'), ce que [le principal développeur), Canonical Ltd, suggère peut être traduit vaguement par 'humanité envers les autres' ou 'je suis ce que je suis à cause de qui nous sommes tous' ".
Le serveur HTTP Apache, l'un des plus anciens, alimente Meeting Planner. Selon Wikipedia, Apache est devenu "le premier logiciel de serveur Web à servir plus de 100 millions de sites Web". Son développement a débuté en 1995, alors que j'aidais le nouveau service en ligne de Microsoft à gérer des sites d’information basés sur l’affichage multimédia, basés sur son activité de contenu CD exclusif. Par exemple, vous vous souviendrez peut-être de l’étonnant CD-ROM Microsoft Dogs, optimisé par la vue multimédia:
Franchement, je ne connais pas l'historique de la vue des médias, mais il semble que celui de Microsoft était basé sur un ancien standard NeXT.
Microsoft Dogs. Mais je m'éloigne du sujet…
Meeting Planner est écrit en PHP open-source, un langage écrit en langage de programmation C avec des compilateurs open-source..
Cependant, c'est le framework open source Yii pour PHP qui a été fondamentalement l'aspect le plus important pour moi dans la construction de Meeting Planner. Initialement publié en 2010, Yii rend la programmation MVC rapide et efficace en PHP.
Ouais, je sais que Laravel est bon aussi, mais quand j'ai plongé plus profondément dans la programmation, cela ne semblait pas aussi mature que Yii. Et, franchement, Yii 2.0 a répondu à tous mes besoins.
Meeting Planner démontre la qualité de Yii mieux que tout autre travail que j'ai effectué.
Vous voulez en savoir plus sur Yii? Non seulement parce que je l'ai écrit, je recommande la série Envato Tuts + Comment programmer avec Yii2; d'accord, surtout parce que je l'ai écrit. Un autre produit basé sur Yii que j'ai couvert est l'alternative à WordPress, Craft CMS, un CMS exceptionnel pour les développeurs qui veulent plus de puissance et de contrôle sur leur plate-forme de publication..
Quelques membres de l’équipe Yii m’ont aussi personnellement aidé au fil des ans, ce que j’apprécie énormément..
Meeting Planner utilise également MySQL, le principal partenaire de base de données de polyamorous PHP, une autre base de données open source célèbre lancée en 1994..
La prise en charge d'ActiveRecord de Yii permet d'écrire du code pour qu'il fonctionne avec MySQL généralement facile et facile à gérer..
MP utilise le courrier électronique pour annoncer les invitations à une réunion et les modifications apportées à une réunion, ainsi que pour envoyer des pièces jointes iCal aux calendriers des personnes. Il envoie ses emails en utilisant l'extension de Yii pour le populaire SwiftMailer via la norme ouverte SMTP à Mailgun en propriété exclusive pour la livraison sortante. Pour utiliser l'API de Mailgun, MP utilise Guzzle en source ouverte..
Et, pour envoyer de beaux emails HTML compatibles avec tous ces clients de messagerie embêtants, il utilise les modèles Open Source de Oxygen de Send With Us. Un jour, MP pourra utiliser dynamiquement l'inliner CSS open-source d'OpenBuilding pour SwiftMailer; ça ne fonctionne tout simplement pas encore pour moi.
En plus de ceux mentionnés ci-dessus, Meeting Planner utilise une tonne d'autres composants, extensions et plug-ins qui sont tous à code source ouvert. Jetons un coup d'oeil à ce fichier .json:
"require": "php": "> = 5.4.0", "yiisoft / yii2": "> = 2.0.7", "yiisoft / yii2-bootstrap": "*", "yiisoft / yii2-swiftmailer" : "*", "openbuildings / swiftmailer-css-inliner": "*", "2 amigos/yii2-google-maps-library": "*", "2 amigos/yii2-google-places-library": "*" , "stichoza / google-translate-php": "~ 2.0", "google / apiclient": "1.0.*@beta", "2 amigos/yii2-date-time-picker-widget": "*", "yiisoft / yii2-jui ":" * "," cebe / yii2-gravatar ":" * "," kartik-v / yii2-widget-fileinput ":" * "," yiisoft / yii2-imagine ":" * ", "2 amis / yii2-resource-manager-component": "0.1. *", "Yiisoft / yii2-authclient": "~ 2.0.0", "mailgun / mailgun-php": "~ 2.0", "guzzlehttp / guzzle ":" 6.2.0 en tant que 4.2.3 "," php-http / guzzle6-adapter ":" 1.0.0 "," kartik-v / yii2-widget-typeahead ":" ^ 1.0 "," kartik-v / yii2-widget-switchinput ":" ^ 1.3 ",
Vous avez probablement remarqué qu'il s'agit d'une partie du fichier composer.json de MP. Qu'est-ce que tu demandes? C'est un fichier utilisé par notre gestionnaire de paquets open-source.
Intégrer et gérer l'utilisation de tous les composants ci-dessus serait beaucoup plus difficile sans composeur, le gestionnaire de paquets de la communauté open-source.
Pour HTML5 et CSS, Yii2 intègre Bootstrap 3 directement. Votre site Yii a l'air génial et se comporte de manière responsable sur les appareils mobiles et les tablettes depuis le début.
Selon Wikipedia, Bootstrap est le deuxième projet le plus étoilé sur GitHub, avec plus de 95 000 stars et plus de 40 000 forks. Bootstrap a été développé par Mark Otto et Jacob Thornton alors qu'il travaillait sur Twitter.
Pour moi, c'est l'un des composants communs les plus importants d'un bon développement Web qui facilite la vie de tout le monde. Bootstrap permet aux développeurs sans compétences en conception de créer d’excellents sites. Il suffit de regarder Meeting Planner (Meeting Planner).Je n'ai pas de bonnes compétences en design). Et cela nous permet de nous concentrer sur nos produits plutôt que sur la conception de base. Bootstrap vous permet de commencer avec la fondation d'une grande équipe de concepteurs et vous fait gagner un temps précieux et de l'argent..
Meeting Planner utilise également une poignée d'extensions Bootstrap intégrées à Yii par certains développeurs populaires axés sur la communauté:
Ces plugins et d'autres s'appuient sur des bibliothèques et des widgets open source populaires:
Ces plug-ins sont des éléments clés de l'expérience utilisateur de Meeting Planner pour la planification..
Yii propose également des extensions open-source supplémentaires. Par exemple, son extension AuthClient me permet d’intégrer facilement les connexions sociales de Facebook, Google et LinkedIn à Meeting Planner. Et MP utilise le modèle avancé de Yii qui fournit une gestion des utilisateurs basée sur une base de données prête à l'emploi..
Il existe également un "service ouvert" occasionnel tel que Gravatar, qui offre des images de profil utilisateur par défaut..
Récemment, j'ai finalement abandonné TextMate, un logiciel propriétaire daté, pour devenir un éditeur Atom open source pris en charge par GitHub. Ma productivité a décollé. Il n'y a qu'un aspect de la saisie semi-automatique de TextMate pour lequel je n'ai pas encore eu le temps de chercher un remplaçant pour Google. Voir, la communauté Atom a construit un zillion de paquets qui sont faciles à rechercher et à installer.
C'est tout ce à quoi je peux penser pour le moment. Il y a probablement beaucoup d'autres éléments open source dans Meeting Planner que je n'ai pas réalisés ni mentionnés ici. S'il vous plaît poster vos ajouts dans les commentaires! Vous pouvez également me joindre directement sur Twitter @reifman.
Et je n'ai pas mentionné toutes les communautés en ligne trouvées dans les recherches Google avec des questions et des réponses sur lesquelles je m'appuie régulièrement pour obtenir des conseils en matière de programmation. Ou le fait que nos ordinateurs et appareils mobiles reposent sur de nombreux logiciels à source ouverte.
Si vous êtes un développeur, vous ne pourrez probablement pas passer la journée sans interagir avec un composant ou un outil open source. Je vous encourage à réfléchir aux moyens de montrer votre soutien aux efforts de la communauté..
Alors que je prévois de collecter des fonds auprès d’investisseurs, j’ai décidé de céder une participation de 1% uniquement à l’open source. En d'autres termes, 1% de Meeting Planner sera utilisé pour soutenir des projets et des fondations open source, dirigés par notre éventuel conseil d'administration..
Je commence aussi à expérimenter le crowdfunding. J'ai exploré le service WeFunder. Son succès pourrait croître avec la mise en œuvre des nouvelles règles de la SEC en matière de financement participatif. S'il vous plaît envisager de suivre notre profil WeFunder. J'ai l'intention d'écrire à ce sujet plus dans le cadre de notre série.
Je n'aurais tout simplement pas pu construire Meeting Planner sans un logiciel à source ouverte et sans les efforts passés et en cours de la communauté..
Permettez-moi de le dire encore. Cela n'aurait pas été possible.
Si vous ne l'avez pas encore fait, essayez dès maintenant Meeting Planner en planifiant votre première réunion, sachant que la planification de votre journée a été simplifiée et accélérée par les hommes et les femmes de la communauté open source..
Merci à tous ceux qui ont déjà enregistré du code dans un référentiel ouvert!
Surveillez les prochains tutoriels dans la série Construire votre démarrage avec PHP. Il y a quelques autres fonctionnalités plus importantes à venir.