Excel otrzymuje nowy silnik obliczeń. Jest napisany w JavaScripcie

Strona główna Aktualności
Excel otrzymuje nowy silnik obliczeń (fot. Kamil Dudek)
Excel otrzymuje nowy silnik obliczeń (fot. Kamil Dudek)

O autorze

Zespół Microsoft Garage, który można opisać jako agile'ową wersję starszego Microsoft Research, ogłosił niedawno ukończenie prac nad kalkulatorem/estymatorem dla wersji Online arkusza Excel. Pozwoli on znacząco zredukować liczbę połączeń z chmurą obliczeniową Microsoftu podczas prac z arkuszem w przeglądarce.

Excel Online, podobnie jak w dużej części Google Sheets, nie dokonuje obliczeń aktualizujących widok komórek po stronie klienta. Arkusz jest obliczany w chmurze Office i jedynie odświeżany w czasie rzeczywistym w oknie przeglądarki internetowej. Wydaje się, że to oczywiste zachowanie w przypadku oprogramowania chmurowego, ale wcale przecież nie musi tak być. Aplikacja JS u klienta może bowiem zajmować się nie tylko odświeżaniem dokumentu obliczanego zdalnie, ale także brać udział w części samych obliczeń.

Chmura: w tę i z powrotem

W czasach słusznie minionych, obfitujących w kontrolki ActiveX i aplety Javy, duża część obliczeń bywała notorycznie przerzucana do klienta. Było wiele powodów, dla których stosowano taką właśnie architekturę, ale wraz z rozwojem rozwiązań mobilnych i chmurowych, niniejsze podejście stało się niemożliwe do utrzymania. Dziś w powszechnym użyciu jest radykalne przeciwieństwo dawnej architektury: bez łączności z serwerem usługodawcy nie da się zrobić nic. Klient to w zasadzie tylko wyświetlacz, ale model dokumentu jest tak skomplikowany, że "nic nierobiąca" strona i tak pożera mnóstwo zasobów, walcząc ze skryptami i websocketami.

Metodyka "cloud first" jako jedno ze swoich uzasadnień dostarcza stwierdzenie, że to (niemal) stuprocentowa gwarancja, że wszyscy klienci pracują na tej samej wersji oprogramowania. Ponieważ nie da się wymusić na użytkownikach regularnej aktualizacji (nawet wersje subskrypcyjne to za mało, po prostu nie zawsze da się zapewnić natychmiastowe pobranie nowości), należy ich wygonić w chmurę. Dzięki temu, każdy dostanie dokładnie to, czego chce producent.

To podejście ma dość spore wady. Pomijając kwestie znaczącego zmniejszania wpływu użytkownika na przetwarzanie jego własnych danych, istnieją też ograniczenia czysto techniczne. Obliczenia generują obciążenie. W przypadku usługi Office Online będzie ono olbrzymie, choć większość subskrybentów Office używa pełnych, pulpitowych wersji. Po drugie, marnuje się sprzęt. Podpięty do trwałego źródła zasilania komputer na energooszczędnym procesorze naprawdę mógłby sobie trochę policzyć sam, zamiast pchać wszystko w chmurę.

Wreszcie, zdalne obliczenia to nieuniknione opóźnienia.I to jest tutaj naczelny argument, bo właśnie w tym miejscu zachodzi największy zysk. Microsoft chwali się, że przeniesienie silnika obliczeń do klienta, z uwagi na skalę wykorzystania usługi, oszczędności sumują się łącznie na siedem lat, każdego dnia.

Bez rewolucji

Obliczenia chmurowe nie są likwidowane. Wciąż będą stosowane, również podczas walidacji. Istnieją bowiem przypadki, gdzie są niezbędne. Microsoft w dość marketingowy sposób podaje skalę sprawności nowego rozwiązania: 99% możliwych do przetworzenia formuł jest rozwiązywanych z zachowaniem 99.95% dokładności.

Takie dane nie mówią tym, jaki jest to udział wszystkich formuł ani jaki jest rząd nietrafności precyzji podczas obliczeń. Takie wątpliwości każą domniemywać, że nowy silnik Excela przyda się w obliczeniach biznesowych/użytkowych/aplikacyjnych, ale nie naukowych.

Nowy komponent (Calc.ts) napisano w języku TypeScript, statycznie typowanym wariantem JavaScriptu, stworzonym przez Microsoft. Będzie stopniowo wdrażany w wersji programu Excel dostępnej przez portal Office.com, sprzężonej z kontem Microsoft i dyskiem OneDrive.

© dobreprogramy
s