Tady mám nějaký seznam věcí souvisejících s webovým developmentem. Ví někdo jak se to dělá v reálu, skutečně se ty aplikace lepí pomocí níže uvedených věciček? Přijde mi to hrozně roztříštěné, doporučí někdo něco z toho/má zkušenost?
Přehledy frameworků
TodoMVC(
http://todomvc.com/)
* Todo List aplikace implementovaná pomocí mnoha různých frameworků
RAD Designery
Mají GUI designer který umožní graficky vytvářet uživatelské rozhraní.
CrossUI (
http://www.crossui.com/)
* RAD GUI builder/designer pro JavaScript
* generuje JavaScript
* ukázka online builderu:
http://www.crossui.com/RAD/Builder.html* Licence pro 1 developera $399, pro 5 developerů: $1499
* vypadá na první pohled pěkně, ale méně známe
DHTMLX (
http://dhtmlx.com)
* RAD GUI builder/designer pro JavaScript
* generuje JavaScript
* ukázka online builderu:
http://dhtmlx.com/docs/products/visualDesigner/live/* vypadá na první pohled pěkně, ale méně známe
Eclipse RAP (
http://www.eclipse.org/rap/)
* remote application platform
* vše v Javě
* designer ve swingu
* napojení na server side
* licence: EPL (Eclipse Public License)
Sencha - Ext JS (
https://www.sencha.com/products/extjs/)
* framework od Sencha
* cena licence (min. 5 developerů): $1995
SmartClient (
http://www.smartclient.com/)
*http://stackoverflow.com/questions/4064578/extjs-or-smartclient
Vaadin (
https://vaadin.com/)
* velmi svázán s ekosystémem Javy
Frameworky
Nemají GUI designer, ale představují komplexnější řešení, řeší i napojení
na JavaScript objekty, případně komunikaci se serverem a ne jenom vzhled aplikace.
Knockback (
http://kmalakoff.github.io/knockback/)
* MVC Framework kombinující KnockoutJS a BackboneJS
* řeší napojení grafických komponent na zdroje dat
* řazení a ukládání kolekcí
* podpora ORM
* lokalizace
Web Toolkit (
http://www.webtoolkit.eu)
* programování uživatelského rozhraní pomocí C++ bez nutnosti znát JavaScript
* vlastní HTTP server pro integraci do aplikace postavený nad C++ knihovnou Boost::Asio, tedy VELMI rychlý
* Licence: GPL zdarma (pro nás nepoužitelná)
komerční
Dojo toolkit (
https://dojotoolkit.org)
* velká ucelená sada knihoven usnadňující programování v JavaScriptu
* Dojo/Dijit - ovládací prvky, tlačítka, tabulky
* Dojo/Query - alternativa k jQuery
* Dojo/MVC - model, view, controller framework
* simulace tříd a dědičnosti, request/response, ...
* podpora pro lokalizaci/multijazyčnost
* náročné na naučení
Ember JS (
http://emberjs.com/)
* framework na vytváření webových aplikací
* používá šablony handlebars
* MVC Framework
* spolupracuje s jQuery
* směrování
Angular JS (
https://angularjs.org/)
* MVC framework od Google
* deklarativní vytváření znovupoužitelných komponent
Knihovny
Mají menší záběr, usnadňují práci programátora který si vše musí vše udělat sám.
jQuery (
https://jquery.com/)
* knihovna pro JavaScript zjednodušující manipulaci s DOMem
* pozor, jQuery NENABÍZÍ žádné napojení na cokoliv, pouze umožňuje dynamicky nastylovat HTML elementy
* nějaký příklad který někdo udělal (ale to jde i v čístém JS):
http://desktop.sonspring.com/ jQueryUI (
https://jqueryui.com)
* sada grafických komponent pro JavaScript
ZeptoJS (
http://zeptojs.com/)
* stejné rozhraní jako jQuery, ale jen 10kb po minifikaci
* funguje pouze v moderních prohlížečích, Internet Explorer 10+
SammyJS (
http://sammyjs.org/)
* malý a jednoduchý javascriptový framework
Bootstrap (
http://getbootstrap.com/)
* známá sada hotových šablon pro vytváření responzivního webu (přizpůsobuje se mobilu i desktopu)
*
https://bootstrapbay.com/blog/bootstrap-editors/*
https://www.zdrojak.cz/clanky/k-cemu-je-dobry-bootstrap-frontend-frameworky/*
https://jdsteinbach.com/css/stop-abusing-bootstrap-foundation/Foundation (
http://foundation.zurb.com/)
* známá sada šablon a grafických prvků pro HTML
Semantic UI (
http://semantic-ui.com)
* sada šablon a grafických knihoven
* spolupracuje s jQuery
UI Kit (
http://getuikit.com/index.html)
* sada grafických komponent pro HTML
Polymer (
https://www.polymer-project.org/)
* sada grafických komponent pro HTML
DevExpress (
https://www.devexpress.com/)
* Web Development:
http://js.devexpress.com/WebDevelopment/* free trial
* cena: $499.99
JavaScript - závislosti mezi moduly
RequireJS (
http://requirejs.org/)
* načítání závislých modulů, definice závislostí
* AMD - asynchronous module definition
Browserify (
http://browserify.org/)
* definice závislostí mezi moduly
Nástroje - Programy které usnadňují život programátora nebo řeší další problémy spojené s vývojem.
NPM - node package manager (
https://www.npmjs.com/)
* umožňuje stáhnout a instalovat JavaScriptové knihovny a další programy
* původně správce závislostí pro NodeJS (serverside javascript), postupně se ale používá i na další věci
Bower - browser package manager (
http://bower.io/)
* umožňuje stáhnout a instalovat JavaScriptové knihovny, zaměření na client-side věci které běží v browseru
* instalace pomocí NPM
Grunt (
http://gruntjs.com/)
* automatizace buildu pro JavaScript
* rozdělení zdrojového kódu JS do více souborů (třeba i jedna třída/funkce na soubor)
* běží na pozadí a automaticky kompiluje výsledý javascript z menších souborů
* může spouštět další programy (např. automatické formátování kódu při uložení)
Gulp (
http://gulpjs.com/)
* alternativa ke Gruntu
*
https://www.zdrojak.cz/clanky/gulp-vs-grunt-souboj-bez-viteze-a-porazeneho/Google Closure Compiler (
https://developers.google.com/closure/compiler/docs/gettingstarted_app)
* kompiluje JavaScript do JavaScriptu
* kontrola JS kódu, optimalizace, minifkace, obfuskace
Microsoft TypeScript Compiler (
http://www.typescriptlang.org/)
* nadstavba nad JavaScriptem od Microsoftu
* jazyk který je nadmnožinou JavaScriptu => veškerý validní JavaScript je zároveň TypeScript
* podpora modulů, tříd, dědičnosti
* rozdělení kódu do více souborů které se zkompletují do jednoho výsledného JavaScriptu
Google Traceur Compiler (
https://github.com/google/traceur-compiler)
* umožňuje psát kód v nejnovější verzi JavaScriptu ES6 a zkompilovat ho tak aby fungoval i ve starších prohlížečích
Knihy a články - užitečné odkazy
* Mozilla Developer Network - ukázky a příklady (
https://developer.mozilla.org/)
* JavaScript Design Patterns (
http://addyosmani.com/resources/essentialjsdesignpatterns/book/)
* Patterns For Large-Scale JavaScript Application Architecture (
http://addyosmani.com/largescalejavascript/)
*
http://hackflow.com/blog/2015/03/08/boiling-react-down-to-few-lines-in-jquery/