Deze zelfstudie maakt deel uit van de Bouw je Startup met PHP-serie op Envato Tuts +. In deze serie begeleid ik je door het opstarten van een startup van concept naar realiteit met behulp van mijn Meeting Planner app als een realistisch voorbeeld. Elke stap die ik doe, zal ik de Meeting Planner-code vrijgeven als open-source voorbeelden waar je van kunt leren. Ik zal ook opstartgerelateerde zakelijke problemen aanpakken zodra deze zich voordoen.
In de aflevering van vandaag zou ik graag een stapje terug willen doen en nadenken over hoe het is dat ik in een paar maanden een geavanceerde, eenvoudig te gebruiken planningsservice heb kunnen bouwen, mijn eigenlijke programmeertijd voor onderbrekingen van hersenchirurgie, bestraling en andere raadpleging).
Het is duidelijk dat ik, net als Donald Trump, een geweldige 'winnaar' ben! of niet; Ik win zoveel dat je het gewoon niet kunt nemen - je zegt, stop, stop alsjeblieft het winnen. En ik ben gewoon weer een voorbeeld van het potentieel voor "one-man startups" om producten uit garages te lanceren. Ik kan niet geloven dat Steve Jobs Steve Wozniak nodig had of dat Paul Allen Bill Gates nodig had - wat een zielige koppelingen! Overbezet waren ze!
De waarheid is dat ik dit allemaal nooit had kunnen opbouwen zonder de briljante inspanningen van de open-source gemeenschap.
Vandaag ga ik een kijkje nemen naar alle open-sourcecomponenten die de basis vormen voor Meeting Planner, de applicatie waar ik aan het bouwen ben en waarover ik schrijf in Envato Tuts +. Als u Meeting Planner nog niet hebt uitgeprobeerd, kunt u meteen uw eerste vergadering plannen - vraag een vriend om koffie of een lunch.
Ik neem wel deel aan de opmerkingen hieronder, dus deel uw feedback. Vandaag ben ik vooral geïnteresseerd in de vraag of er andere open-sourcecomponenten in Meeting Planner zijn dan ik hieronder vermeld. Ik sta ook open voor nieuwe functie-ideeën en suggesties voor onderwerpen voor toekomstige zelfstudies.
Ter herinnering: alle code voor Meeting Planner is geschreven in het Yii2 Framework voor PHP (twee grote opensource-elementen). Als je meer wilt weten over Yii2, bekijk dan onze parallelle serie, Programming With Yii2.
Helaas zijn er zoveel mannen in technologie als gevolg van onze cultuur en discriminatie dat de vertrouwde uitdrukking 'one man startup' een ingebouwde gendervooroordeel heeft. De daling van vrouwen die computerwetenschappen studeerden, begon eigenlijk in de jaren tachtig. Vóór die tijd waren vrouwen evenveel betrokken bij technologie!
SmallBizTrends heeft een leuke infographic van de Top 10 van meest succesvolle 'Man'-startups, waarvan sommige twijfelachtig individuele bedrijven waren. Het verhaal van de eerste huur van een Amazon-medewerker lijkt bijvoorbeeld aan te geven dat de eenmansfase kort was en de vrouw van Bezos niet veel dank biedt voor de begindagen. Andere startups hebben bewijs van langere eenpersoonfasen.
via Small Biz Trends, Top 10 meest succesvolle One Man StartupsBlogger en ontwikkelaar Steve Ridout werkt al drie jaar aan ReadLang solo en telt mee.
One-person startups zijn er, maar het is zeldzaam dat ze het groot maken. Funders zoeken meer naar teams dan naar individuen. Teams zijn over het algemeen effectiever, nou ja, teamwerk - oh ja, en samenwerking.
Tot dusverre heeft mijn team voor Meeting Planner een enorme hoeveelheid gratis open-source software omvat, waarvoor ik ongelooflijk dankbaar ben.
Laten we eens bekijken wat bevoegdheden zijn voor Meeting Planner en zijn services.
"Ik ben wat ik ben door wie we allemaal zijn."
Meeting Planner (MP) werkt bij Digital Ocean, dat ook open-source-software uitvoert en ondersteunt, en ze boden me een paar maanden servicetegoed aan terwijl ik Meeting Planner bouwde op zijn eigen druppel.
MP draait op een smaak van Linux, het meest populaire open-source besturingssysteem dat we bijna allemaal kennen en waarderen. Ontwikkelaar Linus Torvalds creëerde Linux in 1981 toen hij de Universiteit van Helsinki bezocht, als reactie op het gebrek aan open licenties met andere besturingssystemen.
De MP-smaak is Ubuntu, gebaseerd op een andere smaak, Debian. Volgens Wikipedia werd Debian voor het eerst aangekondigd in 1993 door Ian Murdock, Debian 0.01 werd uitgebracht in augustus 1993 en de eerste stabiele release werd gemaakt in 1996. Ubuntu, uitgebracht in 2004, is "vernoemd naar de Zuidafrikaanse filosofie van ubuntu (letterlijk , 'menselijkheid'), die Canonicals Ltd suggereert, kan vrij vertaald worden als 'menselijkheid voor anderen' of 'Ik ben wat ik ben vanwege wie we allemaal zijn'. "
De Apache HTTP-server, een van de vroegste, ondersteunt Meeting Planner. Wikipedia-rapporten Apache werd "de eerste webserver-software die meer dan 100 miljoen websites bedient". Het begon in 1995 met de ontwikkeling van Microsofts nieuwe onlineservicewebsite voor nieuwsdiensten, mogelijk gemaakt door mediabeelden, gebaseerd op zijn eigen bedrijf met CD-inhoud. U herinnert zich bijvoorbeeld de verbazingwekkende Microsoft Dogs CD-ROM, mogelijk gemaakt door mediaweergave:
Eerlijk gezegd ken ik de geschiedenis van de media-weergave niet, maar het lijkt erop dat Microsoft was gebaseerd op een vroege NeXT-standaard.
Microsoft Dogs. Maar ik dwaal af…
Meeting Planner is geschreven in open-source PHP, een taal geschreven in de C-programmeertaal met open-source compilers.
Het is echter het open-source Yii Framework voor PHP, wat voor mij fundamenteel het meest stimulerende aspect was bij het samenstellen van Meeting Planner. Voor het eerst uitgebracht in 2010, maakt Yii MVC programmeren snel en efficiënt in PHP.
Ja, ik weet ook goed voor Laravel, maar toen ik dieper in programmeren doofde, leek het niet zo volwassen als Yii. En eerlijk gezegd voldoet Yii 2.0 aan al mijn behoeften.
Meeting Planner demonstreert de kwaliteit van Yii beter dan enig ander werk dat ik heb gedaan.
Wilt u meer weten over Yii? Niet alleen omdat ik het heb geschreven, adviseer ik ook de Envato Tuts + -serie How to Program with Yii2; nou, oké, vooral omdat ik het heb geschreven. Een ander op Yii gebaseerd product dat ik heb behandeld, is het WordPress-alternatief, Craft CMS, een uitstekend CMS voor ontwikkelaars die meer kracht en controle over hun publicatieplatform willen hebben.
Een paar van de Yii-teamleden hebben me ook persoonlijk geholpen in de loop van de jaren, wat ik enorm op prijs stel.
Meeting Planner maakt ook gebruik van de primaire databasepartner van polyamorous PHP, MySQL, een andere beroemde open-source database die in 1994 werd gelanceerd.
Yii's ActiveRecord-ondersteuning maakt het schrijven van code om met MySQL te werken over het algemeen eenvoudig en beheersbaar.
MP vertrouwt op e-mail om aankondigingen van uitnodigingen en wijzigingen aan vergaderingen aan te kondigen en iCal-bijlagen voor de agenda's van mensen te bezorgen. Het stuurt zijn e-mails met Yii's extensie voor populaire SwiftMailer via de open SMTP-standaard naar eigen Mailgun voor uitlevering. Om met de API van Mailgun te werken, maakt MP gebruik van opensource-Guzzle.
En om prachtige HTML-e-mails te verzenden die compatibel zijn met al die vervelende e-mailclients, maakt het gebruik van Open-source Oxygen-sjablonen van Send With Us. Op een dag zal MP in staat zijn om openBuilding's open-source CSS inliner voor SwiftMailer dynamisch te gebruiken; het werkt gewoon nog niet helemaal voor mij.
Naast de hierboven genoemde gebruikt Meeting Planner een heleboel andere componenten, extensies en plug-ins die allemaal open source zijn. Laten we dit .json-bestand eens bekijken:
"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 amigos/yii2-resource-manager-component": "0.1. *", "Yiisoft / yii2-authclient": "~ 2.0.0", "mailgun / mailgun-php": "~ 2.0", "guzzlehttp / guzzle ":" 6.2.0 als 4.2.3 "," php-http / guzzle6-adapter ":" 1.0.0 "," kartik-v / yii2-widget-typeahead ":" ^ 1.0 "," kartik-v / yii2-widget-switchinput ":" ^ 1.3 ",
Je hebt waarschijnlijk gemerkt dat dit een deel is van MP's composer.json-bestand. Wat is dat, vraag je? Het is een bestand dat wordt gebruikt door onze open-source pakketbeheerder.
Het integreren en beheren van het gebruik van alle bovengenoemde componenten zou een stuk moeilijker zijn zonder componist, de open source community-pakketbeheerder.
Voor HTML5 en CSS integreert Yii2 Bootstrap 3 uit de verpakking. Uw Yii-site ziet er geweldig uit en gedraagt zich vanaf het begin op verantwoorde wijze op mobiele apparaten en tablets.
Volgens Wikipedia is Bootstrap het tweede meest starrede project op GitHub, met meer dan 95.000 sterren en meer dan 40.000 vorken. Bootstrap is ontwikkeld door Mark Otto en Jacob Thornton tijdens het werken op Twitter.
Voor mij is het een van de belangrijkste gemeenschappelijke componenten van goede webontwikkeling die ieders leven eenvoudiger maakt; Met Bootstrap kunnen ontwikkelaars zonder ontwerpvaardigheden geweldige sites bouwen - kijk maar eens naar Meeting Planner (Ik heb geen goede ontwerpvaardigheden). En het stelt ons in staat om ons te concentreren op onze producten in plaats van op basisontwerp. Bootstrap laat je beginnen met de oprichting van een groot ontwerpteam en bespaart onvertelde tijd en geld.
Meeting Planner maakt ook gebruik van een handvol Bootstrap-extensies die zijn geïntegreerd met Yii door een aantal populaire community-georiënteerde ontwikkelaars:
Deze en andere plug-ins bouwen voort op populaire open-sourcebibliotheken en widgets:
Deze plug-ins zijn belangrijke elementen van de gebruikerservaring van Meeting Planner voor planning.
Yii biedt ook enkele extra opensource-extensies. Met de AuthClient-extensie kan ik bijvoorbeeld sociale login via Facebook, Google en LinkedIn eenvoudig integreren in Meeting Planner. En MP maakt gebruik van Yii's geavanceerde sjabloon die databasegestuurd gebruikersbeheer uit de doos biedt.
Er is ook af en toe een "open service" zoals Gravatar die standaard gebruikersprofielafbeeldingen biedt.
Onlangs ben ik uiteindelijk overgestapt van de eigen, gedateerde TextMate naar GitHub-ondersteunde open-source Atom-editor. Mijn productiviteit is van de grond gekomen. Er is maar één aspect van AutoComplete van TextMate. Ik heb nog geen tijd gehad om te googlen voor een vervanging. Kijk, de Atom-gemeenschap heeft een miljoen pakketten gebouwd die gemakkelijk kunnen worden opgezocht en geïnstalleerd.
Dat is alles wat ik op dit moment kan bedenken. Er zijn waarschijnlijk veel andere stukken die open source zijn binnen Meeting Planner die ik hier niet besefte of noem. Plaats alsjeblieft je toevoegingen in de reacties! Je kunt me ook rechtstreeks op Twitter @reifman bereiken.
En ik heb niet alle online communities die ik vond via Google-zoekopdrachten vermeld met vragen en antwoorden waar ik regelmatig op vertrouw voor programmeertips. Of het feit dat onze computers en mobiele apparaten zelf op veel open-source software vertrouwen.
Als u een ontwikkelaar bent, kunt u de dag waarschijnlijk niet doorkomen zonder interactie met een open-sourcecomponent of -hulpprogramma. Ik moedig u aan om na te denken over manieren waarop u steun kunt tonen voor de inspanningen van de gemeenschap.
Terwijl ik vooruitkijk naar het werven van fondsen van investeerders, heb ik besloten om een aandeel van één procent in te zamelen voor open source. Met andere woorden, één procent van Meeting Planner zal worden gebruikt ter ondersteuning van open-sourceprojecten en stichtingen, geregisseerd door onze uiteindelijke raad van bestuur.
Ik begin ook te experimenteren met crowdfunding. Ik heb de WeFunder-service verkend. Het succes van de SEC kan toenemen met de implementatie van de nieuwe crowdfundingregels van de SEC. Overweeg om ons WeFunder-profiel te volgen. Ik ben van plan hier meer over te schrijven als onderdeel van onze serie.
Er is gewoon geen manier geweest om Meeting Planner te bouwen zonder open-source software en de historische en voortdurende inspanningen van de community.
Laat me het nog een keer zeggen. Het zou niet mogelijk zijn geweest.
Als u dit nog niet hebt gedaan, probeer Meeting Planner nu uit door uw eerste vergadering te plannen, wetende dat het plannen van uw dag sneller en gemakkelijker is gemaakt door mannen en vrouwen van de open-sourcecommunity.
Bedankt aan iedereen die ooit code in een open repository heeft ingecheckt!
Kijk uit voor komende tutorials in de Building Your Startup With PHP-serie. Er komen nog een paar grote functies aan.