Byl jsem požádán, abych vedl technickou část jednoho startupu (BTW, nechcete se mnou pracovat v Praze?). Dávám si dohromady vše, co v projektu chystám používat, protože se mi to osvědčilo, nebo je to pro tento projekt relevantní.
Bude se jednat o službu, která má mít globální charakter, má fungovat v prohlížeči a budou ji používat miliony lidí. Funding už je zajištěný.
PHP
- framework (zatím volím mezi Nette, Zendem a Symfony, problém Zendu je v tom, že verze 2 je za dveřmi, ale ne ve stavu, že by se dal používat; na Symfony je obtížné sehnat vývojáře; i Nette má co zlepšovat, ale v tuto chvíli bych volil asi to)
- PHPUnit – kdo netestuje, nemůže o sobě tvrdit, že je profesionál (ne, o tom opravdu odmítám diskutovat).
- Mockista – zjednoduší nám mockování
- Googy – správné řešení práce s řetězci, poli, funkcionální programování pro PHP, implementuje celé Underscore.JS
Práce s databází
Tak tady jsem zatím naprosto bezradný. Žádná databázová vrstva v PHP mi nepřijde dobrá. Doctrine je pomalý, dibi, Nette\Database nebo NotORM moc low-level, Zend_Db_Table low-level a ještě špatně použitelný. Nejspíš budu nucen napsat si tenký Data Mapper nad Nette\Database.
HTML a CSS
- HTML5 Boilerplate 2 – osvědčil se nám na Tripomatiku, oceňuju hlavně detekci podporovaných vlastností z HTML5
- BlueprintCSS – enormně zrychlí prototypování, od té doby, co ho používám, neměl jsem v IE problém s rozpadajícím se layoutem. Díky Blueprintu udělám za 5 minut třináctisloupcový layout.
- Less.JS – Less dělá z CSS kulervoucí jazyk (proměnné, mixiny, výpočty). Navíc umožňuje používat BlueprintCSS sémantickým způsobem (namixuju si nesémantické classy do svých přímo v cssku a do HTML už dávám jen sémantické classy a ID) – tím pádem umožní i responsive design.
Javascript
- CoffeeScript – Cčková syntaxe je v případě JavaScriptu opruz. Ten jazyk je objektový a funkcionální (což jste mohli vidět u Crockforda na Webexpu). Coffee objektovou i funkcionální část z JavaScriptové syntaxe vytahuje velmi viditelně. Zdrojový kód je podstatně čitelnější.
- jQuery – pořád ještě framework číslo 1 pro práci s DOMem. Musí se s ním ale opatrně.
- Angular.JS – v mnoha situacích je jeho použítí vhodné, já na druhou stranu budu psát web, který musí jet i bez Javascriptu, takže Angularu tam moc nebude
- Underscore.JS – funkcionální programování ještě funkcionálnější a podporované napříč prohlížeči, jo!
Management
- Scrum – během let jsem si zkusil všechny role ve Scrumu a systém jako takový mi přijde docela přirozený
- Getting Real – postup z knížky Getting Real není sice obvykle popisován jako agilní metodika, ale když se na to podíváte pořádně, zjistíte, že se o agilní přístup jedná.
- Pivotal Tracker – tento software mi maximálně vyhovuje a stojí za ním solidní firma
Dnešní doba nabízí spoustu nástrojů, které programování posouvají kupředu. Které nástroje používáte vy a nedokážete si už bez nich představit život?
