Как да се подготвим за Startup Weekend Sofia – developer’s point of view

След няколко дни ще се състои второто издание на Startup Weekend в София (И като цяло в България).
За незапознатите, това са 48 часа възможност за екип, който се е събрал на място да изкоди идея, pitch-ната пак на същото място.

Startup Weekend Sofia

Startup Weekend Sofia

На Startup Weekend-a ще има 3 типа хора – кодъри, дизайнери и non-technical. Аз, като един кодър, ще напиша моята гледна точка за това как човек може да се подготви така, че за рамките на 48 часа да изкара добър прототип на идеята, която му се е въртяла в главата от много време.

Инструменти за менажиране на работата

48 часа не са много време, а има голяма вероятност хората, с които ще работите там да са непознати.
За да не се губи излишно време в организация и подготовка, хубаво е човек да прегледа инструментите, които се ползват най-много в индустрията !

Тъй като екипите работят един до друг, нещата, които трябва да се изчистят са – как се трансферира кода, къде се държи кода, къде са разпределените задачки.

Github

Octocat

Octocat

Както казва народа, Github е най-доброто нещо след клавиатурата, което се е случило на програмистите.
Едно repository в Github и метод за работа (Например Gitflow) решават проблемът с кода.

Всеки програмист работи по собствен branch и когато има нещо готово за deploy-ване, някой поема отговорността да merge-не към master.

За една доза автоматизация отгоре, може да се отдели време в началото да се настрои hook, който да deploy-ва автоматично на даденият сървър при commit-ване в master branch-a.

Trello

След като се решат проблемите с кода, идват проблемите с това кой какъв код да пише.
Project Management система за 48 часа звучи като overkill, но за сметка на това има един малък диамант, който върши идеална работа – Trello.
Представлява real-time Kanban board, който е интуитивен, лесен за работа и споменах ли вече, realtime ?
Отделете 6 минути и изгледайте intro видеото на Trello:

Текстов редактор

Без да искам да влизам в религиозни войни за текстови редактори, ако ползвате Notepad++, по-добре започнете да използвате Sublime.
Освен дразнещите от време на време съобщения, приканващи да закупите продукта, редакторът е доста бърз и интуитивен за работа, като на места е по-мощен от vim.

При 48 часа за кодене на продукт е много важно да не се пише излишен код. Каквото може да се преизползва или допише от редактор, винаги е добре-дошло!

Технологии за разработка

След като инструментите са на лице е важно и какви технологии ще се използват.
За backend няма да говоря отново, за да не вляза в религиозните войни.

Ще обърна внимание на две особено полезни технологии и библиотеки, когато става въпрос за бързо създаване на прототип:

Twitter Bootstrap

Това е CSS framework, който е изключително лесен и удобен за писане.
Представете си, че правите fluid layout с 15 реда markup, а CSS правилата вече са написани, тествани и работещи ?

Освен layout благинки, Twitter Bootstrap идва и с голям набор от предефинирани компоненти, като бутони, етикети, всякакви информационни полета и т.н.

Казано по-просто – ако пишете прототип без CSS, той ще изглежда грозно.
Ако само добавите Twitter Bootstrap към проекта, всичко придобива човешки вид.
Ако отделите време и да си поиграете малко – сайтът е готов да продава !

Разгледайте галерията с готови templates – най-лесният начин да научите Twitter Bootstrap.

Backbone JS

MV*

MV*

В днешно време приложенията трябва да са интерактивни, а интерактивността предполага знания върху JavaScript.

Само сухото ползване на JavaScript и jQuery в проект, който се пише бързо (За рамките на 48 часа) може да доведе до сериозни оплитания в кода, което пък да счупи мотивацията на кодърите в най-повратните моменти.

Какво е BackboneJS ? Лесна за ползване MV* (Model-View-Anything) библиотека, която предоставя out-of-the-box CRUD логика през AJAX (Т.е спестява писане на тривиални неща).

С нея лесно се разделя кое е View, кое е Model и на базата на събития, всяко нещо се update-ва както си му е реда (без да се пише излишен код).

Правилна структура в едно web приложение, което се пише бързо, няма да се отплати на първият ден, но с настъпването на втория ще бъде цяло чудо, че отделни компоненти могат да се преизползват директно!

Ето поредица от tutorials за BackboneJS:
http://backbonetutorials.com/
http://arturadib.com/hello-backbonejs/
http://javascriptplayground.com/blog/2012/04/backbone-js-tutorial-1

PhoneGap

Накрая, ако случайно попаднете в team, който прави мобилно приложение, а нямате знания по iOS или Android, има технология, която е точно за такива моменти: PhoneGap.
Накратко, PhoneGap представлява JavaScript библиотека, която позволява да се пишат native iOS и Android приложения на, познайте какъв език, JavaScript !

Да, правилно разбрахте, може използвайки само 1 език да си направите целият прототип на мобилното приложение, без да се налага да имате MacBook или да знаете Java.

За tutorials, как се ползва PhoneGap, може да използвате прекрасните и безплатни видеа от Академията на Телерик !

Музика!

И на последно, но не по важност място, направете си различни плейлисти за събитието. Всичко минава много по-добре с музиката 🙂

Аз лично ще комбинирам неща за скоростно писане на код, за мислене и за релакс.

Leave a Reply

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *