Skip to content

[draft] mango frontend devstack pro lenochy

Matej Simek edited this page Sep 24, 2015 · 1 revision

= Představení o co jde a proč by to kodéři měli začít používat

  • současné problémy - důvody proč vzniklo mango
    • nastavení buildu
    • neustále aktualizovat
    • opakování na projektech, údržba verzí mezi projekty
    • opakování lokálních závislostí v každém projektu (rychlost rozběhnutí projektu)
  • co je mango
    • předkonfigurovaný frontend devstack
    • build
    • developemnt mode (browsersync)
    • scaffolding projektu (future)
    • řešení závislostí (NPMkem)
  • jak mango řeší zmíněné problémy
    • přednastaveno z výroby
    • snadná aktualizace jedním příkazem
    • udržujeme my pouze jeden nástroj, ne verze mezi projekty
    • core závislosti v systému pouze jednou
    • jednotné fungování v rámci systému / mezi projekty
  • jak se mango používá
    • commnadline utilitka
    • instalace jedním příkazem
    • plug and play
    • jednoduchý konfigurační soubor
    • dev mód
  • budoucnost / výzva začít ho používat
    • f: rozšíření o další jazyky (less, šablony, ...)
    • f: pravý scaffolding (ideál využití yeoman generátorů)
    • f: hooky
    • f: neustálá aktualizace a zařazování moderních technologií
    • výzva vyzkoušet

// Úvod

Pryč jsou doby čistého HTML a CSS. Dnešní každodenní kodérskou realitou je práce s všemožnými preprocessory, compilery, transpilery apod. Build zdrojových souborů hraje nezastupitelnou roli a stává se klíčovým prvkem. Jeho nasazení a údržba ale většinou není triviální věc.

// Nastavení buildu

Prvotním krokem bude použití nástrojů typu Grunt či Gulp. Ty vám pomůžou mnoha dostupnými pluginy pro konkrétní úkony. S čím si musíte ale poradit sami je jejich správné nastavení a následné sestavení dohromady.

// Neustále aktualizovat / hledat nové tooly/pluginy.

Použivané techniky, stejně tak i nástroje a jejich možnosti se rychle vyvíjí a tak

// Opakování na projektech, údržba verzí mezi projekty

Jednoduchý JSON stačí, aby se z chaosu ve zdrojácích stal ten nejmodernější devstack pod sluncem.

Nástup preprocessorů, transpilerů a postprocessorů s sebou přinesl

Čisté CSS je už dávno pasé a stylům teď kralují preprocessory. Zvyšuje se počet souborů, zvyšuje se složitost struktury souborů

...

Současné možnosti

Grunt, Gulp ... opruz to nastavovat, instalace lokálních modulů pro každý projekt

...

Yeoman - řeší scaffolding ale build stále potřebuje lokální moduly

...

Udržování konfigurací napříč mnoha projekty je časově náročné. Takže jsme si řekli a dost.

Tvůj nový nejlepší kamarád

...

Instalace jednou provždy

npm install -g mango-cli

Konfigurace raz dva

{
    "styles": [
        "styles/screen.styl",
        "styles/ie8.js"
    ],
    "scripts": [
        "scripts/index.js",
        "scripts/ie8.js"
    ],
    "images": [
        "images/**/*.{jpg,png,svg}"
    ],
    "templates": [
        "templates/**/*.jade",
    ],
    "static": [
        "fonts/**"
    ],
    "dependencies": [
        "jquery",
        "bootstrap-stylus"
    ],
    "watch": [
        "app/**"
    ],
    "dist_folder": "dist"
}

...

https://github.com/manGoweb/mango-cli