Hlavní navigace

Názor ke zprávičce Firefox zvažuje převzetí Flashe a čtečky PDF z Chromu od Filip Jirsák - Nevýhoda. Ano, výhoda bajtkódu je jasná. Podložené měřením...

  • 2. 10. 2016 15:55

    Filip Jirsák

    Nevýhoda. Ano, výhoda bajtkódu je jasná. Podložené měřením to nemám, ale svým "zkušeným okem" to vidím tak, že běh něklika tisíc řádků kódu v JS ve JS VM Browseru je celkově rychlejší a méně náročné než stejný počet řádků bajtkódu Javy v JVM.
    Nic vám nebrání posílat na klienta zdrojový kód Javy a překládat ho teprve tam. Když si myslíte, že čas kompilace je záporný…

    Jenomže chybu v tvém JS odhalíš tím, že si to po sobě vyzkoušíš, nebo si napíšeš testy
    Kompilátor odhalí chyby ve všech možných stavech programu, zkoušení nebo testy odhalí chyby jenom v tom, co jste vyzkoušel nebo otestoval. Na čím vyšší úrovni se chyba odhalí, tím je dražší, tím je náročnější ji opravit, a tím je pravděpodobnější, že se na ni vůbec nepřijde.

    že to očetřuješ v kódu
    Jak chcete v kódu ošetřit, že máte špatnou syntaxi a program se vůbec nespustí? Když uděláte překlep ve jméně proměnné, sice můžete ošetřit, že nedojde k vyhození výjimky, ale ten kód se stejně neprovede, takže je to ve výsledku stejně k ničemu.

    Ovšem Java běží na JVM a už jenom to něco žere a už jenom tím vznikají nároky navíc.
    Oproti javascriptové VM (třeba V8) jsou nároky JVM naopak nižší. Například proto, že javascriptová VM musí překládat kód ze zdrojového kódu, JVM dostává bajtkód, který je na zpracování mnohem efektivnější. Dále proto, že JVM může provádět spoustu optimalizací, protože má například údaje o typech. No a také proto, že JVM je tu déle, takže se na těch optimalizacích odvedlo podstatně víc práce.

    Není nutno nic přizpůsobovat, kromě toho mít v PC Javu a kromě toho mít browser v kterém toto umí běžet.
    Pro Java WebStart žádný prohlížeč nepotřebujete. Pro běh aplikací v Javě potřebujete Javu, pro běh aplikací ve webovém prohlížeči potřebujete webový prohlížeč? Vy v tom vidíte nějaký principiální rozdíl?

    Ale to neznamená, že jdou tvořit jenom v Javě notabene že kvůli jedné takové WA musím mít v PC aktuální Javu když existuje tuna jiných webových technologií, ale uznávám že ty "jiné WA " nejsou pro javisty plnohodnotné a lidi co je píšou jsou "jenom kodéři" ( to poslouchám pořád ) a bez kompileru se asi jako chyby odhalovat nedá atd . . . ne to je jenom o tom, na co jsi zvyklý a jestli přijmeš to, jaký jazyk je . . .
    Ono těch webových aplikací, které lidé běžně používají, je docela dost. A nejde o to, že by webové technologie byly nevhodné pro javisty, ony jsou jsou extrémně nevhodné pro tvorbu aplikací. Vždyť i tak základní věc, jako je vícevláknové zpracování, je teprve ve fázi návrhu. GUI se „vykresluje“ pomocí značkovacího jazyka pro formátování textů. To, že píšu webové aplikace pomocí jediné reálně dostupné technologie neznamená, že tu technologii nemůžu označit za extrémně nevhodnou, když taková je.

    Když jsem zkoučel to Sublime Text - a to už není nějaký kalendářík, byl jsem překvapený jak jednoduché a výkoné to je
    Což je ale dané jedině přebytkem výkonu dnešních počítačů. Představte si, jak výkonné by to bylo, kdyby to nebylo napsaná v něčem tak náročném na zdroje, jako je JavaScript a HTML.