Info about jLoads
https://github.com/jloads/logo
biblioteka pozwalająca na ładowanie treści, skryptów, obrazów, mediów poprzez generowanie zapytań w czasie rzeczywistym.
jLoads to rozwiązanie po stronie frontendu, do ładowania plików poprzez przeglądarkę, to proste rozwiązanie pozwalające na szybkie stworzenie strony, bez narzędzi w sposób modułowy. Co daje takie rozwiązanie? Tworzenie szybko czegoś w oparciu o gotowce, np: potrzebujesz stworzyć stronę z logowaniem, ankietą, ofertą, itd wchodzisz na darmową i otwarta bibliotekę mediów i po prostu dodajesz do swojego, ewnetualnie zmieniasz, to co jest potrzebne, dodajesz konfigiurację tylko swoją. W późniejszym etapie, to będzie gotowa do pobrania aplikacja na systemy mobilne jak android.
pozwala na definiowanie środowiska, jeśli domena dla danego adresu url nie jest zdefiniowana, a jest zdefiniowana domena jednego ze środowisk:
- lokalne
- tekstowe
- produkcyjne
- ...
Wówczas domeną domyślną jest ta domena, która spełnia warunek. Warunek to funkcja zwrotna wykonywana jako Callback()
jloads.env("//localhost:8080/", "local", function () {
return window.location.hostname === 'localhost';
});
W ostatniej dekadzie pwostało wiele nowych specjalizacji w obszarze sofwtare developement. Jako programiści Backend-owi potrzebujemy wsparcia w obszarze frontendu.
Obecne frameworki wymagają nauki gdyż wprowadzają sporo abstrakcji mimo, że są łatwiejsze w użyciu niż sam Javascript do uzyskania tego samego rezultatu, potrzebna jest wiedza z zakreu budowy i serwisowania tych rozwiazań.
Aby możliwe było łatwe przejscie pmiędzy projektami potrzebne są jakieś standardy. One już istnieją, tylko w momencie powstawiania masy frameworków, trudno o ich użycie, gdyż każdy z nich narzuca własne.
Z tego powodu warto zastanawoić się do czego to prowadzi. Dla każdego, który widzi wartość w użyciu technologii natywnych jak czysxty język Javascript, bash, .. oferujemy narzędzie pozwalająca na implementacje modularyzacji w sposób natywny, bez potrzeby tworzenia abstrakycjnej warstwy.
To czego potrzebujemy to ładowania asynchronicznych mediów w przeglądarce, tak by były wolne od konfliktów wynikacjących z zależności, błędów, itp.
Tutaj z pomocą przychdzi jLoads, biblioteka, która ładuje wszystkie media jako pojedyncze moduły/pliki dzięki temu możliwe jest łatwe reużycie, gdyż są to proste elementy HTML, CSS, JAVASCRIPT, SVG, itd
Dzięki mozliwości ich kombinacji na stronie www u klienta powstaje wiele możliwości reakcji.
- Filozofia, w duchu której powstaje jLoads, to natywne rozwiązania na potrzeby modularyzacji
- Standaryzacja sposóbów dostępu do mediów, a nie standaryzacja treści!
- Droga do której prowadzi jLoads to Steramowanie APlikcji
- Dodatkowe rozwiazania pozwalające na poszerzenie korzyści płynącej z JLoads to
- jBodys jako obszerna biblioteka otwartych i darmowych modułów
- jRuns jako runner po stronie serwera dla kodu po stronie backendu
To co jest istotne, to możliwość pracy z zastanym kodem "Legacy Code", bez potrzeby implementacji nowych frameworków,
// Configuration
var success = function (data) {
console.log('loaded', data);
};
var error = function (data) {
console.error('!loaded', data);
};
// Declaration
var jloads = new Load(document.body, success, error);
// Environment
jloads.env("//localhost:8080/", "local", function () {
return window.location.hostname === 'localhost';
});
jloads.env("//get.jloads.com/", "production", function () {
return window.location.hostname !== 'localhost';
});
// Load NOW
jloads.js([
"//code.jquery.com/jquery-git.min.js",
"//stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js",
]);
// Dynamic loading
document.addEventListener("DOMContentLoaded", function(event) {
loadDefaultCss();
});
function loadDefaultCss(){
jloads.cacheOff().css([
"//code.jquery.com/ui/1.12.1/jquery-ui.min.js",
"//stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css",
"css/default.css",
]);
}
function loadPinkCss(){
jloads.cacheOff().css([
"css/pink.css",
]);
}
function loadBlackCss(){
jloads.cacheOff().css([
"css/black.css",
]);
}
jloadsUrl({
"head": [
"jquery-3.2.1.min.js",
"codemirror/lib/codemirror.js",
"codemirror/addon/search/searchcursor.js",
"codemirror/addon/search/search.js",
"codemirror/addon/dialog/dialog.js",
"codemirror/addon/edit/matchbrackets.js",
"codemirror/addon/edit/closebrackets.js",
"codemirror/addon/comment/comment.js",
"codemirror/addon/wrap/hardwrap.js",
"codemirror/addon/fold/foldcode.js",
"codemirror/addon/fold/brace-fold.js",
"codemirror/mode/javascript/javascript.js",
"codemirror/keymap/sublime.js",
"codemirror/lib/codemirror.css",
"codemirror/addon/fold/foldgutter.css",
"codemirror/addon/dialog/dialog.css",
"codemirror/theme/monokai.css"
],
"#forms": [
"form/test.html",
"css/codemirror.css",
"form/inputs.css?6"
]
});
Projekt APIcra jest wspierany przez API Foundation
Celem jest rozwój ekosystemu w celu szybszego wytwarzania oprogramowania
Obecnie istnieje kilka narzędzi, od planowania po uruchamianie i utrzymanie oprogramowania: