Přejít k navigační liště

Zdroják » Zprávičky » Google Dart přichází

Google Dart přichází

Zprávičky ‐ ‐ Různé ‐

Nálepky:

Google představil Dart, jazyk, který by měl přiblížit programování pro webový frontend znalostem programátorů, odchovaných C++/Javou. Přináší třídy, rozhraní, knihovny, typové anotace a další věci obvyklé v OOP jazycích, a svým zápisem připomíná C-like jazyky. Hello world s použitím třídy lze zapsat takto:

class HelloDartTest {
  static testMain() {
    print("Hello, Darter!");
  }
}
main() {
  HelloDartTest.testMain();
}

Překladač Dart může z tohoto kódu vytvořit JavaScriptovou reprezentaci, nebo jej může spouštět na serverovém VM.

Pokud tento kód přeložíte do JS bez dalších optimalizací, zjistíte, že výsledkem je 17259 řádků JS kódu. (Při snaze tento kód minifikovat pomocí online JS nástrojů se prohlížeč Firefox 7.0.1 po několika sekundách poroučel s hlášením o pádu – pozn.red.)

Zajímavá diskuse probíhá pod odkázaným příkladem – jednak se dozvíte, jak správně provést následné optimalizace a eliminace mrtvého kódu (výše uvedený překlad obsahuje velké množství knihovního kódu, který nebude použit), a pokud po ránu hledáte spíš rozptýlení, naleznete řadu obrázků a komentářů, které více či méně vtipně glosují číslovku 17259 („Achievment unlocked – 17259 lines Hello World“ či „Představte si, co by Dart dokázal ve 34528 řádcích? – Napsal by Hello World dvakrát!“)

Komentáře

Odebírat
Upozornit na
guest
9 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů
vlkoII

Je celkom zaujimave si prejst tie riadky okom. Samozrejme ze ten hello world je na riadku 17192, vsetko ostatne je dart framework nad js, presne v style „JavaScript is Assembly Language for the Web“ http://www.hanselman.com/blog/JavaScriptIsAssemblyLanguageForTheWebSematicMarkupIsDeadCleanVsMachinecodedHTML.aspx

Asi si na to budeme musiet zvyknut, aj ked samozrejme mohol base kod google oddelit do separatnej js kniznice a zminimalizovat ho, ale who cares?

nikdo

To je trochu nadstřelené, řekl bych. Schválně jsem si to teď zkusil. HelloWorld v C: zdroják 93 B, výsledná binárka 7131 B (bez optimalizací).

Martin Putniorz

Bohužel to výkonu moc nepomůže http://jsperf.com/dart-hello-world-test-with-optimize/9

vlkoII

Napadlo by ma prirovnanie, ze film v rozliseni 240×160 pixlov ma neporovnatelne mensiu velkost ako film vo full HD a aj tak si vacsina ludi vyberie tu druhu variantu, len neviem nakolko sa to k teme dart vs js vs real pc jazyky hodi.

Ja len dufam, ze webarchive tu moc nezafunguje, lebo nase deti v buducnosti pozerajuc 4k video sa budu sa budu z debaty o raw zdrojaku s velkostou 550k (tolko ma ten sample v skutocnosti velkost) asi riadne uchechtavat.:)

Ladislav Thon

Dart je dynamicky typovaný. Typové anotace se používají pro kontrolu (checker, devel mode) a při kompilaci do JavaScriptu (a pochopitelně jsou skvělé pro vytváření dalších nástrojů), ale jedním ze základním principů je, že jejich odstranění nemá žádný vliv na sémantiku.

PH

Konečně jazyk (po ObjC), který s typy zachází rozumně.

Spacer.gif a tabulky v tabulkách: Jak se kdysi dělaly webové stránky

Kdo dnes napíše display: grid a za minutu má hotový třísloupcový layout, těžko si představí, jakou akrobacii to stálo před pětadvaceti lety. Webové stránky tehdy držely pohromadě vnořené tabulky, průhledné obrázky o velikosti jednoho pixelu a pevná víra, že to nikdo neotevře v jiném prohlížeči. Pojďme si připomenout, jak to fungovalo, proč to fungovalo a proč jsme s tím museli skončit.

Rust pomohl vrátit JPEG XL do Chromu. Stačí to k úspěchu na webu?

Před čtyřmi lety Google podporu JPEG XL z Chromu odstranil. Teď formát vrací s dekodérem v Rustu, který vznikl na popud vývojářů Firefoxu. AVIF přitom může nabídnout menší soubory a bezeztrátový WebP rychlejší dekódování. JPEG XL má jiné přednosti: velkou fotografii dokáže zobrazovat už během stahování a staré JPEGy zmenší bez další ztráty kvality. Vedle historie jeho návratu se podíváme na výsledky srovnání, bezeztrátovou kompresi i praktické nasazení jednotlivých formátů na webu.