Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.javascript > #3468 > unrolled thread

Hashing library

Started byRoman Tyczka <noemail@because.no>
First post2018-08-03 14:32 +0200
Last post2018-09-06 22:58 +0200
Articles 20 on this page of 30 — 5 participants

Back to article view | Back to pl.comp.lang.javascript


Contents

  Hashing library Roman Tyczka <noemail@because.no> - 2018-08-03 14:32 +0200
    Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-03 15:33 +0200
      Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-03 15:45 +0200
        Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-03 16:15 +0200
        Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-03 19:57 +0200
          Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-06 14:41 +0200
            Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-06 22:23 +0200
            Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-08 22:34 +0200
              Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-09 11:04 +0200
                Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-10 11:49 +0200
                  Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-10 12:41 +0200
                    Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-10 20:03 +0200
          Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-10 12:47 +0200
            Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-10 22:34 +0200
              Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-08-13 12:02 +0200
                Re: Hashing library Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-08-13 14:46 +0200
                Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-08-19 21:40 +0200
                  Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-09-04 09:30 +0200
                    Re: Hashing library Tomek <skowtom@wp.xxx.pl> - 2018-09-04 09:45 +0200
                      Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-09-04 10:59 +0200
                        Re: Hashing library Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-09-04 14:30 +0200
                          Re: Hashing library Roman Tyczka <noemail@because.no> - 2018-09-04 15:17 +0200
                            Re: Hashing library Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-09-04 15:55 +0200
                              Re: Hashing library Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-09-04 16:41 +0200
                            Re: Hashing library Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-09-04 19:05 +0200
                          Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-09-06 22:46 +0200
                            Re: Hashing library Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-09-06 23:13 +0200
                              Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-09-07 13:07 +0200
                        Re: Hashing library Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-09-04 19:03 +0200
                    Re: Hashing library Borys Pogoreło <borys@pl.edu.leszno> - 2018-09-06 22:58 +0200

Page 1 of 2  [1] 2  Next page →


#3468 — Hashing library

FromRoman Tyczka <noemail@because.no>
Date2018-08-03 14:32 +0200
SubjectHashing library
Message-ID<ja6kj9pynkt3$.dlg@tyczka.com>
Potrzebuję biblioteki hashującej, teraz akurat SHA512. Widzę, że popularna
jest/była CryptoJS, ale to chyba martwy projekt i strach w to wbijać.
Znalazłem jeszcze jsSHA, ale nie wiem czy dobre.

Co obecnie się używa do tych celów?

-- 
pozdrawiam
Roman Tyczka

[toc] | [next] | [standalone]


#3470

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-03 15:33 +0200
Message-ID<8nfcmbsbq719.48va3s5uolyi$.dlg@40tude.net>
In reply to#3468
Dnia Fri, 3 Aug 2018 14:32:48 +0200, Roman Tyczka napisał(a):

> Potrzebuję biblioteki hashującej, teraz akurat SHA512. Widzę, że popularna
> jest/była CryptoJS, ale to chyba martwy projekt i strach w to wbijać.
> Znalazłem jeszcze jsSHA, ale nie wiem czy dobre.

Masz to w przeglądarce:
https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3471

FromRoman Tyczka <noemail@because.no>
Date2018-08-03 15:45 +0200
Message-ID<1xbx91tfkrzcf.dlg@tyczka.com>
In reply to#3470
On Fri, 3 Aug 2018 15:33:52 +0200, Borys Pogoreło wrote:

> Dnia Fri, 3 Aug 2018 14:32:48 +0200, Roman Tyczka napisał(a):
> 
>> Potrzebuję biblioteki hashującej, teraz akurat SHA512. Widzę, że popularna
>> jest/była CryptoJS, ale to chyba martwy projekt i strach w to wbijać.
>> Znalazłem jeszcze jsSHA, ale nie wiem czy dobre.
> 
> Masz to w przeglądarce:
> https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto

O proszę, chociaż jedno miłe zaskoczenie. Nawet przez sekundę wcześniej
pomyślałem, że tak powszechnie potrzebny drobiazg jak funkcja skrótu
powinna być w standardzie bez dodatków, ale zaraz odepchnąłem myśl, bo może
za dużo bym chciał ;-)

Jeszcze tylko dopytam, przy IE piszą, że od wersji 11 (czyli to co jest w
Win10), co z Win7, 8 i Vistą? 

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3473

FromRoman Tyczka <noemail@because.no>
Date2018-08-03 16:15 +0200
Message-ID<7slfwjaiofvq$.dlg@tyczka.com>
In reply to#3471
On Fri, 3 Aug 2018 15:45:08 +0200, Roman Tyczka wrote:

>> Masz to w przeglądarce:
>> https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto

Przy okazji... w CryptoJS miałem funkcje do kodowania base64, tu nie mogę
znaleźć. Z kolej sam JS ma niby atob() i btoa() (btw genialne nazwy!) ale
zwracają inny wynik niż to co CryptoJS oraz inne biblioteki jakich używam. 

Co zatem używać do base64?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3474

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-03 19:57 +0200
Message-ID<1291u9tu6p6uq.1ihbayc0y8bmw.dlg@40tude.net>
In reply to#3471
Dnia Fri, 3 Aug 2018 15:45:08 +0200, Roman Tyczka napisał(a):

> Jeszcze tylko dopytam, przy IE piszą, że od wersji 11 (czyli to co jest w
> Win10), co z Win7, 8 i Vistą?

IE11 chyba jest też na W7, na W8 na pewno.

Jeszcze znalazłem coś takiego:
https://github.com/vibornoff/webcrypto-shim

Co do base64, to witamy w świecie javascriptu, gdzie zaczyna się cyrk, gdy
w grę wchodzą dane binarne:
https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3480

FromRoman Tyczka <noemail@because.no>
Date2018-08-06 14:41 +0200
Message-ID<k8rs0fgtbu7s$.dlg@tyczka.com>
In reply to#3474
On Fri, 3 Aug 2018 19:57:30 +0200, Borys Pogoreło wrote:

>> Jeszcze tylko dopytam, przy IE piszą, że od wersji 11 (czyli to co jest w
>> Win10), co z Win7, 8 i Vistą?
> 
> IE11 chyba jest też na W7, na W8 na pewno.
> 
> Jeszcze znalazłem coś takiego:
> https://github.com/vibornoff/webcrypto-shim
> 
> Co do base64, to witamy w świecie javascriptu, gdzie zaczyna się cyrk, gdy
> w grę wchodzą dane binarne:
> https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem


Nim jeszcze dotarłem do base64 już się odbiłem od crypto.

Zrobiłem sobie metodę:

	SHA512 : function (str) {
		var buffer = new TextEncoder("utf-8").encode(str);
		var hash = crypto.subtle.digest("SHA-512", buffer);
		return Array.from(new Uint8Array(hash));
	},

i ona po prostu nie działa, zwraca pustą tablicę.
W ostatniej linii konwertuje na tablicę bajtów obiekt jaki zwraca metoda
digest(). Ale z nim coś jest nie teges, debuger pokazuje, że ma dwa
propertysy PromiseStatus: pending i PromiseValue : undefined.
Wyczytałem, że to jakieś proxy dla wartości wyliczanej asynchronicznie.
Skoro pending to coś się nie skończyło. Ale nie mam pojęcia jak z tego
wybrnąć.

Co robię nie tak?

ps. znalazłem jeszcze taki przykład:

https://gist.github.com/chrisveness/e5a07769d06ed02a2587df16742d3fdd

i w komentarzach ktoś napisał, że dostęp do crypto api jest ograniczony do
"secure origins". Czy to znaczy, że jeśli odpalam w przeglądarce stronę bez
SSLa (bo nie mam lokalnie żadnego certyfikatu) to może być przyczyną
niedziałania crypto api? Czy da się to obejść?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3481

FromRoman Tyczka <noemail@because.no>
Date2018-08-06 22:23 +0200
Message-ID<fg6b797g4327$.dlg@tyczka.com>
In reply to#3480
On Mon, 6 Aug 2018 14:41:04 +0200, Roman Tyczka wrote:

> i w komentarzach ktoś napisał, że dostęp do crypto api jest ograniczony do
> "secure origins". Czy to znaczy, że jeśli odpalam w przeglądarce stronę bez
> SSLa (bo nie mam lokalnie żadnego certyfikatu) to może być przyczyną
> niedziałania crypto api? Czy da się to obejść?

Odpaliłem tę moją funkcję na https://js.do czyli spod HTTPS, nadal nie
działa. Chyba wrócę do CryptoJS.

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3485

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-08 22:34 +0200
Message-ID<1uv4sltabhocn$.rl6dp2a8um20$.dlg@40tude.net>
In reply to#3480
Dnia Mon, 6 Aug 2018 14:41:04 +0200, Roman Tyczka napisał(a):

> Wyczytałem, że to jakieś proxy dla wartości wyliczanej asynchronicznie.
> Skoro pending to coś się nie skończyło. Ale nie mam pojęcia jak z tego
> wybrnąć.
> 
> Co robię nie tak?

Nie czekasz na wynik Promise.

Jeśli możesz użyć nowej składni, to możesz sobie ułatwić życie:

async function(str) {
    // ...
    var hash = await crypto...
    return ..
}

W przeciwnym razie powinieneś jawnie poczekać na rozwiązanie sie Promise.

> i w komentarzach ktoś napisał, że dostęp do crypto api jest ograniczony do
> "secure origins". Czy to znaczy, że jeśli odpalam w przeglądarce stronę bez
> SSLa (bo nie mam lokalnie żadnego certyfikatu) to może być przyczyną
> niedziałania crypto api? Czy da się to obejść?

Nie, localhost też jest secure origin.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3487

FromRoman Tyczka <noemail@because.no>
Date2018-08-09 11:04 +0200
Message-ID<13nchrdxh4skw.dlg@tyczka.com>
In reply to#3485
On Wed, 8 Aug 2018 22:34:10 +0200, Borys Pogoreło wrote:

>> Co robię nie tak?
> 
> Nie czekasz na wynik Promise.
> 
> Jeśli możesz użyć nowej składni, to możesz sobie ułatwić życie:
> 
> async function(str) {
>     // ...
>     var hash = await crypto...
>     return ..
> }

Robię tak i zonk:

async function sha512(str) {
	var buffer = new TextEncoder("utf-8").encode(str);
	var hash_promise = await window.crypto.subtle.digest("SHA-512", buffer)
	.then(function (buff) {
              var bytes = new Uint8Array(buff);
              var res = '';
              for (var i = 0; i < bytes.length; i++) {
                var byte = bytes[i].toString(16);
                byte = (byte.length < 2) ? ('0' + byte) : byte;
                res += byte;}
              return res;
              });
	return hash_promise;
}

let result = sha512('raz dwa trzy');

tutaj result ciągle jest niepoliczony, ma obiekt typu Promise ze stanem
Pending :-(

 
> W przeciwnym razie powinieneś jawnie poczekać na rozwiązanie sie Promise.

Tylko to niestety jest dla mnie nie do ogarnięcia, z przerwami tkwie już w
tym 3ci dzie i nie potrafię tego ogarnąć, mój stary mózg jest chyba zbyt
sztywny na te wielokrotnie zagłębione anonymousy.

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3489

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-10 11:49 +0200
Message-ID<9a4dym4anctr$.1fkr0tr1ah1te$.dlg@40tude.net>
In reply to#3487
Dnia Thu, 9 Aug 2018 11:04:50 +0200, Roman Tyczka napisał(a):

> let result = sha512('raz dwa trzy');
> 
> tutaj result ciągle jest niepoliczony, ma obiekt typu Promise ze stanem
> Pending :-(

Bo teraz wymieszałeś async i then(). Jeśli korzystasz z async, to życie
staje się dużo prostsze, bo piszesz sekwencyjnie:

var buff = await window.crypto.subtle.digest("SHA-512", buffer);
var bytes = new Uint8Array(buff);
... itd.

Trzeba zadbać tylko o jakąś obsługę wyjątków.

> Tylko to niestety jest dla mnie nie do ogarnięcia, z przerwami tkwie już w
> tym 3ci dzie i nie potrafię tego ogarnąć, mój stary mózg jest chyba zbyt
> sztywny na te wielokrotnie zagłębione anonymousy.

Ogarniesz. Trzeba po prostu zmienić sposób myślenia.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3490

FromRoman Tyczka <noemail@because.no>
Date2018-08-10 12:41 +0200
Message-ID<e6wnc4tdn570.dlg@tyczka.com>
In reply to#3489
On Fri, 10 Aug 2018 11:49:53 +0200, Borys Pogoreło wrote:

>> let result = sha512('raz dwa trzy');
>> 
>> tutaj result ciągle jest niepoliczony, ma obiekt typu Promise ze stanem
>> Pending :-(
> 
> Bo teraz wymieszałeś async i then(). Jeśli korzystasz z async, to życie
> staje się dużo prostsze, bo piszesz sekwencyjnie:
> 
> var buff = await window.crypto.subtle.digest("SHA-512", buffer);
> var bytes = new Uint8Array(buff);
> ... itd.
> 
> Trzeba zadbać tylko o jakąś obsługę wyjątków.

Sprawdzę to potem jeszcze raz, bo to naprawdę ułatwia, choć już z Promisami
troszkę poszedłem do przodu i nawet działa. 
Ale jeśli chodzi o async/await to wg dokumentacji IE tego nie wspiera,
czyli klops :/
Co prawda M$ się już wypiął na IE ale chyba nadal sporo ludzi go używa,
jakie masz na ten temat zdanie?
 
>> Tylko to niestety jest dla mnie nie do ogarnięcia, z przerwami tkwie już w
>> tym 3ci dzie i nie potrafię tego ogarnąć, mój stary mózg jest chyba zbyt
>> sztywny na te wielokrotnie zagłębione anonymousy.
> 
> Ogarniesz. Trzeba po prostu zmienić sposób myślenia.

O tak, mózg zapiekły na klasycznym, ładnym, obiektowym i sekwencyjnym
kodzie (mimo częstego i szerokiego korzystania z wątków) ma spory problem,
żeby tę magię przytulić i się pogodzić z tym jak to działa. Co krok to
niespodzianka :-)

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3495

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-10 20:03 +0200
Message-ID<1r6jf5rfp4dx7$.1s10ymt75597x$.dlg@40tude.net>
In reply to#3490
Dnia Fri, 10 Aug 2018 12:41:31 +0200, Roman Tyczka napisał(a):

> Sprawdzę to potem jeszcze raz, bo to naprawdę ułatwia, choć już z Promisami
> troszkę poszedłem do przodu i nawet działa. 
> Ale jeśli chodzi o async/await to wg dokumentacji IE tego nie wspiera,
> czyli klops :/

To nie jest jedyny problem z IE jaki Cię czeka. Czas się przywitać z
Babelem, który przekształca kod do starszej wersji JS. Do async/await
istnieje wtyczka:
http://babeljs.io/docs/en/babel-plugin-transform-async-to-generator/
ale nie wiem jak jest z jej zgodnością z IE. Chyba tam nawet generatorów
jeszcze nie ma, ale może są jakieś polyfille.

> O tak, mózg zapiekły na klasycznym, ładnym, obiektowym i sekwencyjnym
> kodzie (mimo częstego i szerokiego korzystania z wątków) ma spory problem,
> żeby tę magię przytulić i się pogodzić z tym jak to działa. Co krok to
> niespodzianka :-)

Tu przynajmniej nie masz problemów związanych ze współbieżnością, chociaż
tyle.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3491

FromRoman Tyczka <noemail@because.no>
Date2018-08-10 12:47 +0200
Message-ID<18mz4mv8y0u8m$.dlg@tyczka.com>
In reply to#3474
On Fri, 3 Aug 2018 19:57:30 +0200, Borys Pogoreło wrote:

>> Jeszcze tylko dopytam, przy IE piszą, że od wersji 11 (czyli to co jest w
>> Win10), co z Win7, 8 i Vistą?
> 
> IE11 chyba jest też na W7, na W8 na pewno.
> 
> Jeszcze znalazłem coś takiego:
> https://github.com/vibornoff/webcrypto-shim

No, a to nie tyle można, co wręcz trzeba używać, bo się okazuje, że
podzbiór Crypto czyli Crypto.subtle - obiekt gdzie ukryte są te hasze i
inne zabawki jest co prawda wspierany w IE11, ale: "User must explicitly
enable this feature". Czyli pozamiatane, bo trudno zakładać, że ktoś to
włączy.

Od lat pracuję na Windows i na Windows piszę soft, ale dopiero teraz
wyraźnie odczuwam jak ta firma jest na bakier ze światem, standardami i
user experiencem, którym sobie gębę wycierają w co drugim zdaniu :/

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3497

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-10 22:34 +0200
Message-ID<1av1z8ff3tvns.1kmmxyio9wkcr$.dlg@40tude.net>
In reply to#3491
Dnia Fri, 10 Aug 2018 12:47:55 +0200, Roman Tyczka napisał(a):

> Od lat pracuję na Windows i na Windows piszę soft, ale dopiero teraz
> wyraźnie odczuwam jak ta firma jest na bakier ze światem, standardami i
> user experiencem, którym sobie gębę wycierają w co drugim zdaniu :/

Ciesz się, że ominęły Cię czasy IE6-IE8. W przypadku WinAPI miałeś łatwo,
bo to MS był autorem. A technologie webowe chcieli zagarnąć dla siebie i to
był dopiero bałagan. W tamtych czasach niczym niezwykłym był kod, gdzie
sporą częścią były wyjątki na IE (inna obsługa eventów, inny AJAX, itd.).
Dlatego też m.in. jQuery i mu podobne biblioteki zyskały taką popularność -
dawały ujednolicone API, ukrywając te setki wyjątków i przypadków
brzegowych.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3498

FromRoman Tyczka <noemail@because.no>
Date2018-08-13 12:02 +0200
Message-ID<a2cbj58rdh4u$.dlg@tyczka.com>
In reply to#3497
On Fri, 10 Aug 2018 22:34:42 +0200, Borys Pogoreło wrote:

>> Od lat pracuję na Windows i na Windows piszę soft, ale dopiero teraz
>> wyraźnie odczuwam jak ta firma jest na bakier ze światem, standardami i
>> user experiencem, którym sobie gębę wycierają w co drugim zdaniu :/
> 
> Ciesz się, że ominęły Cię czasy IE6-IE8. W przypadku WinAPI miałeś łatwo,
> bo to MS był autorem. A technologie webowe chcieli zagarnąć dla siebie i to
> był dopiero bałagan. 

No wiem, wiem, pamiętam, choć obserwowałem to z boku i osobiście nie czułem
tego bólu :-)

A teraz popatrz jaki m$ do przodu:
https://www.dobreprogramy.pl/Najlepsza-przegladarka-na-smartfony-to-nie-Chrome.-Wyzsze-oceny-zbiera-Microsoft-Edge,News,89799.html

> W tamtych czasach niczym niezwykłym był kod, gdzie
> sporą częścią były wyjątki na IE (inna obsługa eventów, inny AJAX, itd.).
> Dlatego też m.in. jQuery i mu podobne biblioteki zyskały taką popularność -
> dawały ujednolicone API, ukrywając te setki wyjątków i przypadków
> brzegowych.

Przy okazji powiedz mi czy jQuery nadal jest używane w nowych projektach
czy to już nisza i są inne tego typu narzędzia?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3499

FromCezary Tomczyk <cezary.tomczyk@gmail.com>
Date2018-08-13 14:46 +0200
Message-ID<pkruje$1s13$1@csiph.com>
In reply to#3498
On 13/08/2018 12:02, Roman Tyczka wrote:
> On Fri, 10 Aug 2018 22:34:42 +0200, Borys Pogoreło wrote:
> 
>>> Od lat pracuję na Windows i na Windows piszę soft, ale dopiero teraz
>>> wyraźnie odczuwam jak ta firma jest na bakier ze światem, standardami i
>>> user experiencem, którym sobie gębę wycierają w co drugim zdaniu :/
>>
>> Ciesz się, że ominęły Cię czasy IE6-IE8. W przypadku WinAPI miałeś łatwo,
>> bo to MS był autorem. A technologie webowe chcieli zagarnąć dla siebie i to
>> był dopiero bałagan.
> 
> No wiem, wiem, pamiętam, choć obserwowałem to z boku i osobiście nie czułem
> tego bólu :-)
> 
> A teraz popatrz jaki m$ do przodu:
> https://www.dobreprogramy.pl/Najlepsza-przegladarka-na-smartfony-to-nie-Chrome.-Wyzsze-oceny-zbiera-Microsoft-Edge,News,89799.html

btw mobilnych urządzeń, to na nich korzystam z Brave Browser: 
https://brave.com/

>> W tamtych czasach niczym niezwykłym był kod, gdzie
>> sporą częścią były wyjątki na IE (inna obsługa eventów, inny AJAX, itd.).
>> Dlatego też m.in. jQuery i mu podobne biblioteki zyskały taką popularność -
>> dawały ujednolicone API, ukrywając te setki wyjątków i przypadków
>> brzegowych.
> 
> Przy okazji powiedz mi czy jQuery nadal jest używane w nowych projektach
> czy to już nisza i są inne tego typu narzędzia?
> 

Osobiście nie korzystam z jQuery od wielu lat. Nie ma takiej już 
potrzeby, według mnie.

-- 
Cezary Tomczyk
http://www.ctomczyk.pl/
https://www.aslint.org/ - Accessibility Lint Validator

[toc] | [prev] | [next] | [standalone]


#3500

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2018-08-19 21:40 +0200
Message-ID<38s66rqe41ct.ohjg70kaph14.dlg@40tude.net>
In reply to#3498
Dnia Mon, 13 Aug 2018 12:02:46 +0200, Roman Tyczka napisał(a):

> A teraz popatrz jaki m$ do przodu:
> https://www.dobreprogramy.pl/Najlepsza-przegladarka-na-smartfony-to-nie-Chrome.-Wyzsze-oceny-zbiera-Microsoft-Edge,News,89799.html

I dobrze, niech w końcu trzymają się standardów.

> Przy okazji powiedz mi czy jQuery nadal jest używane w nowych projektach
> czy to już nisza i są inne tego typu narzędzia?

Powoli wymiera. Wsparcie dla selektorów CSS w przeglądarkach jest
praktycznie identyczne, a na manipulację DOM są teraz lepsze i
wydajniejsze rozwiązania. Zostaje AJAX, dla którego masz dziesiątki innych
bibliotek. I parę przydatnych funkcji typu $.extend, które jednak masz
również w innych bibliotekach typu Lodash.

Zostają proste i szybkie projekty, użycie z przyzwyczajenia, konieczność
zachowania zgodności wstecz lub wykorzystywanie kodu, który opiera się w
jakimś stopniu na jQuery.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [next] | [standalone]


#3501

FromRoman Tyczka <noemail@because.no>
Date2018-09-04 09:30 +0200
Message-ID<cwceexigv6cu.dlg@tyczka.com>
In reply to#3500
On Sun, 19 Aug 2018 21:40:04 +0200, Borys Pogoreło wrote:

>> A teraz popatrz jaki m$ do przodu:
>> https://www.dobreprogramy.pl/Najlepsza-przegladarka-na-smartfony-to-nie-Chrome.-Wyzsze-oceny-zbiera-Microsoft-Edge,News,89799.html
> 
> I dobrze, niech w końcu trzymają się standardów.
> 
>> Przy okazji powiedz mi czy jQuery nadal jest używane w nowych projektach
>> czy to już nisza i są inne tego typu narzędzia?

Po przerwie wracam do JS, będę znowu dręczył pytaniami ;-)
 
> Powoli wymiera. 

No właśnie takie mam wrażenie, a projekcik jaki teraz robię był zaczęty
dawno temu przez kogoś innego i używa jQuery. jQuery zaczynam się uczyć,
ale wygląda na to, że to ślepa uliczka. Z kolei gdy go teraz wywalę to
wszystko co mam muszę przeorać, choć dużo tego nie ma. Co radzisz? Porzycić
jQuery? ...a mam chyba ze 3 książki do niego kupione :/

> Wsparcie dla selektorów CSS w przeglądarkach jest
> praktycznie identyczne, a na manipulację DOM są teraz lepsze i
> wydajniejsze rozwiązania. 

Czyli jak konkretnie zastąpić $('#pnl1') lub $('div[id=^pnl]) bez jQuery?
Jakiś przykład?

> Zostaje AJAX, dla którego masz dziesiątki innych
> bibliotek. 

Jaką polecasz?

> I parę przydatnych funkcji typu $.extend, które jednak masz
> również w innych bibliotekach typu Lodash.

Tak, Lodash obczaiłem z grubsza, wydaje się paczką lukru składniowego, choć
przydatny bo upraszcza kod. Niemniej boję się takich bibliotek, bo się
człek do składni przyzwyczai a potem biblioteka zdechnie i tyłek boli. W
Delphi buduję swoje pakiety tego rodzaju, a pod maską korzystają one z
innych bilbiotek. Gdy jakaś padnie, to podmieniam tylko pod maską, a
zewnętrze czyli mój interfejs dostępowy pozostaje bez zmian i mam pewność,
że zawsze będę go miał.
 
> Zostają proste i szybkie projekty, użycie z przyzwyczajenia, konieczność
> zachowania zgodności wstecz lub wykorzystywanie kodu, który opiera się w
> jakimś stopniu na jQuery.

Czyli uciekać z jQuery... 

btw dlaczego jQuery umiera? Co jest głównym powodem?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3502

FromTomek <skowtom@wp.xxx.pl>
Date2018-09-04 09:45 +0200
Message-ID<5b8e380d$0$590$65785112@news.neostrada.pl>
In reply to#3501
> btw dlaczego jQuery umiera? Co jest głównym powodem?
> 

Bo IE umarł?

[toc] | [prev] | [next] | [standalone]


#3503

FromRoman Tyczka <noemail@because.no>
Date2018-09-04 10:59 +0200
Message-ID<9wdxtm3euhsc.dlg@tyczka.com>
In reply to#3502
On Tue, 4 Sep 2018 09:45:16 +0200, Tomek wrote:

>> btw dlaczego jQuery umiera? Co jest głównym powodem?
>> 
> Bo IE umarł?

Może i umarł, ale zombie jeszcze funkcjonuje. 
Tak z ciekawości spytam, bo mam wrażenie, że Borys też IE traktuje jako
nieistotny, pytanie do wszystkich:

- czy powszechne jest uznanie wśród web developerów, że wsparcie dla IE
jest już niepotrzebne?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | pl.comp.lang.javascript


csiph-web