Wpis z mikrobloga

Co jest wąskim gardłem CSS? Chodzi o wydajność interface, czym się różni od aplikacji natywnej na Androoida, że tam działa lepiej niż w HTML?
Czy nie da się zrobić czegoś podobnego z Webem?
Gdzieś czytałem, że position, absolutel pomaga...

Kiedyś zadałem podobne pytanie o JavaScript i po kilku miesiącach pojawił się asm.js.
Może pojawi się coś podobnego dla user interface?

#html #css #webdev
#javascript
  • 7
@look997: Z grubsza pozycjonowanie i kompozycja właśnie. Samo renderowanie warstw jest szybkie i w niektórych przypadkach akcelerowane hardwarowo (np wszystkie przekształcenia macierzowe czyli translate3d itd co można wykorzystać jako małe przełączniki akcelerowania warstwy - https://aerotwist.com/blog/on-translate3d-and-layer-creation-hacks/).

Dokładnie taki sam problem jest w GUI w grach. W momencie kiedy zaczynają pojawiać się kontrolki z głęboką hierarchią i zaawansowanymi funkcjami pozycjonowania zaczyna być nieciekawie. Do tego stopnia, że przy takich samych możliwościach html +
@regis3: Wszystko ok, ale Brackets od Adobe sam w sobie ma bardzo niewydajny interface w porównaniu do innych programów tego typu napisanych natywnie.

Czy Adobe źle, niedbale zrobiła swój edytor a da się lepiej?
@look997: Jasne. Moja wypowiedź dotyczyła głównie samego css i renderowania przez przeglądarke. W edytorach opartych o przeglądarkę dochodzi niestety masa javascriptu. Ogólnie największym wrogiem wydajności jest uniwersalność. Niemal każda optymalizacja wiąże się z ukonkretnieniem danego rozwiązania.

Stąd np. główna przewaga asm.js o którym pisałeś. Mamy mały podzbiór języka i masę założen dzięki czemu łatwiej skompilować daną partię do natywnego kodu i wystawić binding w formie pojedynczej funkcji (druga to dopracowywana przez
@look997: Dodam jeszcze, że bardzo dużą zmianę może przynieść web components. Dzieki dostępowi do shadow dom kontrolki uzytkowników mogą być tak szybkie jak te wbudowane w przeglądarkę.