Это руководство является частью серии « Создай свой стартап с помощью PHP» на Envato Tuts +. В этой серии я проведу вас через запуск стартапа от концепции до реальности, используя мое приложение Meeting Planner в качестве примера из реальной жизни. На каждом этапе я буду публиковать код Планировщика собраний в качестве примеров с открытым исходным кодом, из которых вы можете извлечь уроки. Я также буду решать вопросы, связанные с бизнесом по мере их возникновения.
В сегодняшнем эпизоде я хотел бы сделать шаг назад и подумать о том, как мне удалось создать сложную, простую в использовании службу планирования самостоятельно в течение нескольких месяцев, с учетом фактического времени программирования перерывы в операциях на головном мозге , облучении и других консультациях).
Ясно, что, как и Дональд Трамп, я удивительный «победитель!» или не; Я выигрываю так много, что вы просто не можете его взять — говорите, остановитесь, пожалуйста, остановите выигрыш. И я просто еще один пример того, как «стартапы из одного человека» могут запускать продукты из гаражей. Я не могу поверить, что Стиву Джобсу нужен был Стив Возняк, а Полу Аллену нужен Билл Гейтс — какие жалкие муфты! Они были переполнены!
Правда в том, что я бы никогда не смог построить все это без блестящих усилий сообщества открытого ПО .
Сегодня я собираюсь взглянуть на все компоненты с открытым исходным кодом, которые обеспечивают основу для Meeting Planner, приложения, которое я создавал и писал для Envato Tuts +. Если вы еще не опробовали Планировщик совещаний, запланируйте свою первую встречу прямо сейчас — пригласите друга на кофе или обед.
Я принимаю участие в комментариях ниже, поэтому, пожалуйста, поделитесь своими отзывами. Сегодня меня особенно интересует, есть ли другие компоненты с открытым исходным кодом в Планировщике собраний, чем я упоминаю ниже. Я также открыт для новых идей и тематических предложений для будущих уроков.
Напоминаем, что весь код для Meeting Planner написан на Yii2 Framework для PHP (два больших элемента с открытым исходным кодом) . Если вы хотите узнать больше о Yii2, ознакомьтесь с нашей параллельной серией « Программирование с Yii2» .
«Запуск одного человека» все еще существует?
К сожалению, в результате нашей культуры и дискриминации в технологии так много мужчин, что знакомая фраза «запуск одного человека» имеет встроенную гендерную предвзятость. Падение женщин, изучающих информатику, фактически началось в 1980-х годах. До этого женщины были одинаково вовлечены в технологии!
SmallBizTrends имеет забавную инфографику из 10 самых успешных стартапов «одного человека» , некоторые из которых были сомнительными отдельными предприятиями. Например, история первого найма служащего Amazon, похоже, указывает на то, что его этап с одним человеком был недолгим, и с самого начала жене Безоса не особо доверяли. Другие стартапы имеют свидетельства о более длительных фазах одного человека.
Блоггер и разработчик Стив Ридоут работает над ReadLang соло три года и считает.
Стартапы с одним человеком существуют, но редко они делают это большим. Спонсоры ищут команды больше, чем отдельные лица. Команды, как правило, более эффективны, хорошо, потому что командная работа — о да, и сотрудничество.
До сих пор моя команда для Meeting Planner охватила огромное количество бесплатного программного обеспечения с открытым исходным кодом, за которое я невероятно благодарен.
Давайте рассмотрим, что полномочия Meeting Planner и его услуги.
Открытый исходный код, используемый с Планировщиком собраний
«Я тот, кто я есть из-за того, кто мы все».
Хостинг
Meeting Planner (MP) работает в Digital Ocean, который также запускает и поддерживает программное обеспечение с открытым исходным кодом , и они предложили мне несколько месяцев на обслуживание, создавая Meeting Planner на собственной капле.
Основополагающий кодекс
Операционная система
MP работает под управлением Linux, самой популярной операционной системы с открытым исходным кодом, которую почти все мы знаем и любим. Разработчик Линус Торвальдс создал Linux в 1981 году, когда учился в Хельсинкском университете, в ответ на отсутствие открытых лицензий с другими операционными системами.
Версия MP — это Ubuntu , основанная на другой версии Debian . Согласно Википедии, Debian был впервые анонсирован в 1993 году Ианом Мердоком, Debian 0.01 был выпущен в августе 1993 года, а первый стабильный выпуск был выпущен в 1996 году. Ubuntu, выпущенный в 2004 году, назван в честь южноафриканской философии ubuntu (буквально , «человечность»), который, по мнению [ведущего разработчика], Canonical Ltd, можно свободно перевести как «человечество для других» или «я есть то, что я есть из-за того, кто мы все». »
Веб сервер
HTTP-сервер Apache , один из самых ранних , поддерживает Meeting Planner. Википедия сообщает, что Apache стал «первым программным обеспечением для веб-серверов, обслуживающим более 100 миллионов веб-сайтов». Он начал развиваться в 1995 году, когда я помогал новому онлайн-сервису Microsoft управлять новостными сайтами, основанными на медиа-обзоре, на основе его собственного бизнеса контента на CD. Например, вы можете вспомнить удивительный компакт-диск Microsoft Dogs, работающий от медиа-представления:
Честно говоря, я не знаю историю представления СМИ , но, похоже, Microsoft основывалась на раннем стандарте NeXT.
Microsoft Dogs. Но я отвлекся …
Язык программирования и рамки
Meeting Planner написан на PHP с открытым исходным кодом, языке, написанном на языке программирования C с открытыми компиляторами.
Тем не менее, это Yii Framework с открытым исходным кодом для PHP, который был для меня самым важным аспектом при создании Meeting Planner. Впервые выпущенный в 2010 году, Yii делает программирование MVC быстрым и эффективным на PHP.
Да, я знаю, что Laravel тоже хорош, но когда я углубился в программирование, он казался не таким зрелым, как Yii. И, честно говоря, Yii 2.0 удовлетворил все мои потребности.
Meeting Planner демонстрирует качество Yii лучше, чем любая другая работа, которую я делал.
Хотите узнать больше о Yii? Не только потому, что я написал это, я рекомендую серию Envato Tuts + Как программировать с Yii2 ; ну, ладно, в основном потому что я это написал. Еще один продукт, основанный на Yii, который я рассмотрел, — это альтернатива WordPress, Craft CMS , выдающаяся CMS для разработчиков, которым нужно больше возможностей и контроля над своей издательской платформой.
Несколько членов команды Yii также помогли мне лично за эти годы, что я очень ценю.
База данных
В Meeting Planner также используется основной партнер базы данных PHP — MySQL, еще одна известная база данных с открытым исходным кодом, запущенная в 1994 году .
Поддержка ActiveGecord в Yii делает написание кода для работы с MySQL в целом простым и управляемым.
Доставка по электронной почте
MP использует электронную почту для объявления приглашений на собрания и внесения изменений в собрания, а также для доставки вложений iCal для календарей людей. Он отправляет свои электронные письма, используя расширение Yii для популярного SwiftMailer через открытый стандарт SMTP, в собственный Mailgun для исходящей доставки. Для работы с API Mailgun , MP использует Guzzle с открытым исходным кодом .
И, чтобы отправлять красивые электронные письма в формате HTML, совместимые со всеми этими противными почтовыми клиентами, он использует шаблоны с открытым исходным кодом Oxygen . Однажды MP сможет динамически использовать CSS-инлайнер OpenBuilding с открытым исходным кодом для SwiftMailer ; это просто не совсем работает для меня еще.
Расширения приложений и плагины
В дополнение к упомянутым выше, Meeting Planner использует множество других компонентов, расширений и плагинов с открытым исходным кодом. Давайте посмотрим на этот файл .json:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
«require»: {
«php»: «>=5.4.0»,
«yiisoft/yii2»: «>=2.0.7»,
«yiisoft/yii2-bootstrap»: «*»,
«yiisoft/yii2-swiftmailer»: «*»,
«openbuildings/swiftmailer-css-inliner»:»*»,
«2amigos/yii2-google-maps-library»: «*»,
«2amigos/yii2-google-places-library»: «*»,
«stichoza/google-translate-php»: «~2.0»,
«google/apiclient»: «1.0.*@beta»,
«2amigos/yii2-date-time-picker-widget»: «*»,
«yiisoft/yii2-jui»: «*»,
«cebe/yii2-gravatar»: «*»,
«kartik-v/yii2-widget-fileinput»: «*»,
«yiisoft/yii2-imagine»: «*»,
«2amigos/yii2-resource-manager-component»: «0.1.*»,
«yiisoft/yii2-authclient»: «~2.0.0»,
«mailgun/mailgun-php»: «~2.0»,
«guzzlehttp/guzzle»:»6.2.0 as 4.2.3″,
«php-http/guzzle6-adapter»:»1.0.0″,
«kartik-v/yii2-widget-typeahead»: «^1.0»,
«kartik-v/yii2-widget-switchinput»: «^1.3»,
|
Вы, вероятно, заметили, что это часть файла MP composer.json. Вы спросите, что это? Это файл, используемый нашим менеджером пакетов с открытым исходным кодом.
Менеджеры пакетов
Интеграция и управление использованием всех вышеперечисленных компонентов было бы намного сложнее без composer , менеджера пакетов сообщества с открытым исходным кодом.
HTML5 и CSS фреймворки
Для HTML5 и CSS Yii2 интегрирует Bootstrap 3 из коробки. Ваш сайт Yii выглядит потрясающе и ведет себя ответственно на мобильных устройствах и планшетах с самого начала.
Согласно Википедии, Bootstrap является вторым самым популярным проектом на GitHub , с более чем 95 000 звезд и более 40 000 вилок. Bootstrap был разработан Марком Отто и Джейкобом Торнтоном во время работы в Twitter.
Для меня это один из наиболее важных общих компонентов хорошей веб-разработки, который делает жизнь каждого человека проще; Bootstrap позволяет разработчикам , не обладающим навыками дизайна, создавать великолепные сайты — достаточно взглянуть на Meeting Planner ( у меня нет хороших навыков проектирования ). И это позволяет нам сосредоточиться на наших продуктах, а не на базовом дизайне. Bootstrap позволяет вам начать с создания большой команды дизайнеров и экономит огромное количество времени и денег.
Bootstrap Расширения
Meeting Planner также использует несколько расширений Bootstrap, интегрированных с Yii некоторыми популярными разработчиками, ориентированными на сообщество:
Эти и другие плагины основаны на популярных библиотеках и виджетах с открытым исходным кодом:
Эти плагины являются ключевыми элементами пользовательского интерфейса Meeting Planner для планирования.
Расширения Yii
Yii также предлагает несколько дополнительных расширений с открытым исходным кодом . Например, его расширение AuthClient позволяет мне легко интегрировать социальные сети Facebook, Google и LinkedIn для входа в Meeting Planner . И MP использует расширенный шаблон Yii, который обеспечивает управление пользователями на основе базы данных из коробки.
Сервисы
Есть также случайный «открытый сервис», такой как Gravatar, который предлагает изображения профиля пользователя по умолчанию.
Текстовые редакторы
Недавно я наконец-то перешел с проприетарного устаревшего TextMate на GitHub-поддерживаемый редактор Atom с открытым исходным кодом. Моя производительность взлетела. Есть только один аспект автозаполнения TextMate, для которого у меня еще не было времени искать замену. Видите, сообщество Atom создало миллионы пакетов, которые легко найти и установить.
Что еще?
Это все, что я могу думать на данный момент. Вероятно, есть много других частей с открытым исходным кодом в Планировщике собраний, которые я здесь не осознавал и не упоминал. Пожалуйста, оставьте свои дополнения в комментариях! Вы также можете связаться со мной через Twitter @reifman напрямую.
И я не упомянул все интернет-сообщества, найденные в поисках Google, с вопросами и ответами, на которые я регулярно полагаюсь для советов по программированию. Или тот факт, что наши компьютеры и мобильные устройства используют много программного обеспечения с открытым исходным кодом.
Доля владения открытым исходным кодом
Если вы разработчик, вы, скорее всего, не сможете пройти весь день без взаимодействия с каким-либо компонентом или инструментом с открытым исходным кодом. Я призываю вас подумать о том, как вы можете оказать поддержку усилиям сообщества.
Один процент за открытый исходный код
Поскольку я рассчитываю на привлечение средств от инвесторов, я решил выделить одну процентную долю только для открытого источника. Другими словами, один процент от Планировщика собраний будет использоваться для поддержки проектов и фондов с открытым исходным кодом, которыми руководит наш возможный совет директоров.
Я также начинаю экспериментировать с краудфандингом. Я изучал сервис WeFunder. Его успех может возрасти с внедрением новых правил краудфандинга SEC . Пожалуйста, обратите внимание на наш профиль WeFunder . Я планирую написать об этом больше как часть нашей серии.
Что дальше?
Я просто не смог бы создать Планировщик собраний без программного обеспечения с открытым исходным кодом и исторических и постоянных усилий сообщества.
Позвольте мне сказать это снова. Это не было бы возможно.
Если вы еще этого не сделали, попробуйте Планирование собраний прямо сейчас, запланировав свою первую встречу , зная, что планирование вашего дня стало быстрее и проще для мужчин и женщин из сообщества открытого кода.
Спасибо всем, кто когда-либо проверял код в открытом хранилище!
Следите за будущими уроками в серии « Построение стартапа с помощью PHP» . Есть еще несколько важных функций.