• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    AVATARAngularJS - frontend, backend, allend ;)
    AngularJS je skvělý javascriptový framework.

    Toto téma si klade za úkol usnadnit jeho učení, sdílení tipů, triků, odkazů a rad. Na paškál si vezmeme jak frontend, tak komunikaci s backendem.
    Dlouhodoběji pak bude vznikat, na základě místní komunity, tutoriál tvroby základu CMS.

    Odkazy:
    http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro

    http://toddmotto.com/ultimate-guide-to-learning-angular-js-in-one-day/
    http://www.itnetwork.cz/javascript-tutorial-uvod-do-angularjs

    http://pterkildsen.com/2012/11/16/angularjs-tips-and-tricks/

    http://demos.angularcode.com/grid/
    http://ionicframework.com/
    https://prerender.io/
    rozbalit záhlaví
    RATTKIN
    RATTKIN --- ---
    INDIAN: pokud chcete data reprezentovat v tabulce, je dobrá komponenta ag-grid. je pro víc frameworků.

    ono celkem dost komponent je pro víc framworků, takže jsou si asi dost podobné.

    my jsme před dvěma lety začali v angularu a pořád v tom děláme.
    výhoda angularu proti menším/novějším frameworkům je v komplexnosti, respektive nařizuje celou strukturu aplikace, to je dobré když je víc lidí nebo složitější aplikace.
    jasně jiné frameworky mají jinou syntaxi která se někomu třeba líbí víc, nebo netrvají na struktuře aplikace, ale když v agularu umíte tak proč v tom nepokračovat.

    určitě doporučuji pro složitější věci trvat na typescript, tslint a na všechno interfaces, nikde žádný 'Any'
    MIKULAS
    MIKULAS --- ---
    INDIAN: přesně tohle jsem dělal poslední půlrok ve Vue.js - klidně bych to ho nazval nástupcem Angularu (a Ractu zároveň), no flame prosím :)

    
    new Vue({
      el: '#app',
      data () {
        return {
          info: null
        }
      },
      mounted () {
        axios
          .get('https://api.coindesk.com/v1/bpi/currentprice.json')
          .then(response => (this.info = response))
      }
    })
    
    JINX
    JINX --- ---
    INDIAN: Jestli je backend v jave tak treba jhipster?
    INDIAN
    INDIAN --- ---
    Mel bych takovej vseobecnej a laickej dotaz - Angular a vubec JS znam jenom z vlaku, sem spis mezi backendem a infra...
    (mozna se budu ptat blbe):

    Potrebujem pro interni aplikaci udelat frontend pro nekolik desitek uzivatelu, kde budou hlavne ruzny prehledy s roznorodejma filtrama a byly by hlavne treba konfigurovatelny sloupce (kazdej by si delal svoje pohledy ulozeny v cookies), proste neco co by mohlo mit trochu generickej pristup.
    Budou treba i naky formulare pro zadani/editaci, toho ale bude asi minimum, rekneme 10% z celyho frontendu.

    Na backend uz je hotovy API, takze z hlediska dat neni co resit.

    Proc Angular: Je to jedina platforma co se u nas interne pouziva - nedelame ui/web, zivej nas market data a lidi co dela interni aplikace je par, doslova 2. Ted mam navic k dispozici kluka po skole, co Angular zna taky, takze bysme radi zustali u stejny platformy...
    Otazka by znela ve smyslu - existujou v soucasnosti jeste naky komponenty nebo pribuzny frameworky ktery by nam v tomhle ulehcily praci? Pripadne existuje nakej hodnotnej nastupce Angularu?
    MIKULAS
    MIKULAS --- ---
    RATTKIN: nemyslím si, že by u kompilace AoT záleželo na tom, kde se provede
    RATTKIN
    RATTKIN --- ---
    FONTAN: jo ale typescript je MS
    FONTAN
    FONTAN --- ---
    RATTKIN
    RATTKIN --- ---
    MIKULAS: děkuju na začátek jsem buildnul app na lokále a nahrál ji na webserver... ono se to kompiluje jako normální html+javascript!
    Vzpomněl jsem si, že to angular sliboval, ale jak jsem odkojený ostatními produkty Microsoftu, jsem to čekal že to tak nebude
    RATTKIN
    RATTKIN --- ---
    je lepší buildnout aplikaci na lokále a pak uploadnout /dist na server,
    nebo to buildovat přímo na serveru?

    hlavně z hlediska bezpečnosti/spolehlivost
    MIKULAS
    MIKULAS --- ---
    RATTKIN: Angular muze byt kompilovan (HTML->TypeScript) u klienta nebo tzv. Ahead-of-Time (AoT) na serveru pro vyssi vykon.

    K tomu potrebujes "ng-cli" a "npm". AoT se zapina "ng build -prod --sourcemaps".

    Jinak je postup deploye jako u PHP a pokud nechceš AoT, už to umíš:
    Pullnes branch a restartujes webserver (apache, nginx, nodejs...). Před restartem si nad tím můžeš ještě spustit nějaké minifikace a spojování skriptů/stylů (grunt) pro produkční prostředí.

    Distribuce linuxu je pak věc osobních preferencí, já mám rád Ubuntu.
    RATTKIN
    RATTKIN --- ---
    začátečnická otázka, tak prosím odpověď jako pro blbýho a prosím nesmějte se mi:

    dělám angular appku na lokále, verzuju to do SVN (já vim, git by byl lepší) Chtěl bych nějakou branch dát na server a tam to jednoduše ručně, nebo i automaticky provozovat veřejně.

    Na php jsem to dělal tak, že jsem měl vývojovou SVN branch a testovací prostředí. Co bylo hotové, dalo se merge do ostré větve a na ostrém serveru se dal update, všechny nové soubory tam naskákaly (php se nekompiluje, takže bylo hotovo) Znám apache a mysql, ale angular bude něco jiného.

    Jaký si mám dát na server linux? dělám suse nebo radši debian, to by šlo? Nebo je lepší něco speciálního?
    A co dál budu potřebovat?
    CERMI_FOX
    CERMI_FOX --- ---
    ahoj, snažím se udělat pár pokusů (chceme přejít na Angular6) a narazil jsem na problém:
    Mám modul např MyCommon a v něm komponentu A a B, přičemž A používá B.
    Mám několik aplikací , které používaj MyCommon modul, přičemž
    1) v jedné aplikaci bych chtěl tu komponentu A použít tak, jak je
    2) v druhé aplikaci bych chtěl nějak vyměnit (zcustomizovat) komponentu B, ale ideálně nemuset přepisovat komponentu A.

    (reálně těch aplikací je hodně, komponent taky, ale v jednotlivých aplikacich bude potřeba customizovat maximálně pár komponent, proto zkouším tohle řešení)

    Jde to nějak rozumně? Snažil jsem se dogooglit, ale bezúspěšně.
    RATTKIN
    RATTKIN --- ---
    stává se mi docela často, že mi nějaký komponent nefunguje, respektive funguje ve "starší verzi" a musím ho
    znovu uložit s drobnou změnou, aby se rekompiloval.
    zatím dělám jen development ale otravuje to. v produkci se něco takového doufám nemůže stát, respektive jak se to řeší?
    RATTKIN
    RATTKIN --- ---
    RATTKIN: ng-bootstrap v tuto chvíli je nekompletní berlička, jako ostatní bootstrap pokusy. Mnohem líp funguje Angular Material.
    RATTKIN
    RATTKIN --- ---
    FIKOTEK: našel si nějaké jednoduché menu a-la navbar? lepím to z ng-bootstrap ale není to vůbec jednoduché
    RATTKIN
    RATTKIN --- ---
    nestálo by ze záhlaví vyhodit JS #ItsJustAngular
    RATTKIN
    RATTKIN --- ---
    MIKULAS: dík, návod na google vypadá jednodužší, než login frameworky a jejich pluginy
    MIKULAS
    MIKULAS --- ---
    RATTKIN: vlastní + google (+ github)
    RATTKIN
    RATTKIN --- ---
    co používáte jako login backend, děláte si to sami po staru, nebo nějaké ty nové über frameworky které se lepí na další frameworky?

    Cíl je vlastní login + facebook + google
    FIKOTEK
    FIKOTEK --- ---
    MIKULAS: Dekuji, ja s Angularem zacinam, nebudu si to komplikovat a jQuery pouzivat nebudu, nebo jen v krajnim pripade, kdy nebude vyhnuti.
    MIKULAS
    MIKULAS --- ---
    FIKOTEK: pouzivej, ale bud pripraven na komplikace v situacich, kdy dochazi ke zmenam v UI (napr. zmena stav tlacitka, prepsani hodnoty, prekresleni tabulky, pridani polozky do selectboxu).

    Rada jQuery komponent existuje i jako direktiva pro angular a tam byva digest cyklus vyresen, ale pokud neni, muze to byt orisek.
    FIKOTEK
    FIKOTEK --- ---
    AVATAR: Za 2 roky se mohlo mnohe zmenit :-/ ale i presto dekuji.
    AVATAR
    AVATAR --- ---
    FIKOTEK: ja mysim, ze se to pekne doplnuje. Ale je fakt, ze uz se dva roky angularu nevenuju, tak treba se to zmenilo :)
    Kliknutím sem můžete změnit nastavení reklam