kdy nepoužít google web toolkit?
<p>uvažuji o použití gwt v hlavním in-house projektu vývoje webových aplikací, konkrétně je to v mých očích hlavní výhodou kompilace s javascriptem, která by (alespoň teoreticky) pomohla mému týmu snížit velikost tech stacku o jeden .</p><p>nicméně, protože jsem byl spálen dříve (jako většina devs), rád bych slyšel od programátorů, kteří ho skutečně použili na jakékoli problémy s gwt, které by bránily nebo omezily jeho použití v určité problémové doméně.</p><p>jaké jsou argumenty proti používání gwt a proč?</p>
<p>jsem dobrý i špatný na odpověď na tuto otázku - dobrý, protože jsem to vlastně už dříve použil, a špatný, protože jsem byl před prací s gwt docela zkušený s html/css/javascript. to mě nechalo zbláznit pomocí gwt takovým způsobem, že ostatní vývojáři java vývojáři, kteří opravdu neví dhtml, možná nebyli).</p><p>gwt dělá to, co říká - abrazuje javascript a do jisté míry html do java. pro mnoho vývojářů to zní skvěle. víme však, jak to říká jeff atwood, <a href="http://www.codinghorror.com/blog/2009/06/all-abstractions-are-failed-abstractions.html">všechny abstrakce jsou abstrakce bez selhání</a> (stojí za přečtení, pokud vezmeme v úvahu gwt). u gwt to konkrétně přináší následující problémy:</p><h3>použití html v gwt saje.</h3><p>jak jsem řekl, do určité míry dokonce abstrakta html. vypadá to dobře vývojáři java. ale není tomu tak. html je formát značek dokumentů. pokud jste chtěli vytvořit java objekty pro definování dokumentu), nepoužíval by prvky označení dokumentu. je to šíleně podrobný. je také dostatečně neovládaný. v html existuje v podstatě jeden způsob, jak napsat <code>&lt;p&gt;hello how are &lt;b&gt;you&lt;/b&gt;?&lt;/p&gt;</code>. v gwt máte 3 podřízené uzly (text, <code>b</code>, text) připojené k uzlu <code>p</code>. buď můžete nejprve vytvořit p, nebo nejprve vytvořit podřízené uzly. jeden z podřízených uzlů může být výsledkem funkce. po několika měsících vývoje u mnoha vývojářů je snaha dešifrovat, jak váš dokument html vypadá sledováním kódu gwt, proces vyvolávající bolesti hlavy.</p><p>nakonec se tým rozhodl, že možná použití htmlpanel pro všechny html je tou správnou cestou. nyní jste ztratili mnoho výhod gwt spočívajících v tom, že elementy jsou snadno dostupné pro kód java kód pro snadné vázání dat).</p><h3>použití css v gwt saje.</h3><p>připojením k abstrakci html to znamená, že způsob, jakým musíte používat css, je také odlišný. od posledního použití gwt (asi před 9 měsíci) se to mohlo zlepšit, ale v té době byla podpora css nepořádkem. z důvodu způsobu, jakým gwt vytváří html, máte často úrovně uzlů, o kterých jste nevěděli, že byly injektovány (jakýkoli css dev ví, jak to může dramaticky ovlivnit vykreslování). bylo příliš mnoho způsobů, jak vložit nebo propojit css, což mělo za následek matoucí zmatek jmenných prostorů. kromě toho jste měli podporu sprite, která opět zní pěkně, ale ve skutečnosti jste zmutovali váš css a měli jsme problémy s tím, že jsme psali vlastnosti, které jsme potom museli explicitně přepsat později, nebo v některých případech, zmařili naše pokusy, aby odpovídaly našim hand- kódoval css a musel to pouze přepracovat tak, aby jej gwt nezvrátil.</p><h3>spojení problémů, průnik výhod</h3><p>každý jazyk bude mít svůj vlastní soubor problémů a výhod. zda je používáte, je vážený vzorec založený na nich. když získáte abstrakci, získáte spojení všech problémů a průnik výhod. javascript má své problémy a běžně se šíří mezi inženýry na straně serveru, ale má také několik funkcí, které jsou užitečné pro rychlý vývoj webu. zamyslete se nad uzávěrkami, zkratkou syntaxe, objekty ad-hoc, veškerými věcmi, které provedl jquery (jako dotazování dom pomocí selektoru css). nyní zapomeňte na jeho použití v gwt!</p><h3>oddělení obav</h3><p>všichni víme, že s rostoucím projektem je rozhodující mít dobré oddělení zájmů. jedním z nejdůležitějších je oddělení mezi zobrazením a zpracováním. gwt to opravdu ztěžovalo. pravděpodobně ne nemožné, ale tým, na kterém jsem byl, nikdy nepřišel s dobrým řešením, ai když jsme si mysleli, že máme, vždy jsme měli jeden, který unikal do druhého.</p><h3>desktop! = web</h3><p>jak @berin loritsch zveřejnil v komentářích, model nebo myšlení gwt je vytvořeno pro živé aplikace, kde má program živý displej pevně spojený se zpracovatelským motorem. to zní dobře, protože to je to, co tolik cítí, že web chybí. existují však dva problémy: <strong> a) </strong> - web je postaven na http a toto je ze své podstaty odlišné. jak jsem již zmínil výše, technologie postavené na http - html, css, dokonce i načítání zdrojů a ukládání do mezipaměti (obrázky atd.), byly postaveny <em> pro</em> tuto platformu. <strong> b) </strong> java vývojáři, kteří pracují na webu), se snadno nepřepínají k tomuto myšlence pro desktopové aplikace. v tomto světě je zcela jiná disciplína. vývojáři flex by pravděpodobně byli vhodnější pro gwt než java weboví vývojáři).</p><h3>na závěr...</h3><p>gwt je schopna produkovat rychle a špinavě ajax aplikace docela snadno pomocí pouze java. pokud rychle a špinavý nezní jako to, co chcete, nepoužívejte jej. pracoval jsem pro společnost, která se hodně zajímala o koncový produkt, a pro uživatele je to smysl pro polský, vizuální i interaktivní vzhled. pro nás front-end vývojáře to znamenalo, že jsme potřebovali ovládat html, css a javascript způsobem, který umožňoval použití gwt, jako když se snažíte hrát na klavír s boxerskými rukavicemi.</p>
Tak ono zalezi o jakou dokumentaci ti jde. Muzes mit dokumentaci ve forme JavaDoc pro Javovske aplikace. K tomu ti staci vyvojovy nastroj, ktery vyvojari uz pouzivaji. Lze z toho generovat html stranky. Toto je dokumentace pro vyvojare. (IMHO javadoc ale obecne komentare a poznamky v kodu jsou musthave, at uz nejakou dokumentaci vubec planujete delat nebo ne ;) )Testy jsou z urciteho pohledu taky dokumentace. Dokumentuji, jak urcite casti maji fungovat, jake jsou okrajove podminky, a co to delat nema.Pokud mas na mysli napr user guide, nebo architecture, security, maintenance/support a podobne, tak nato muzes pouzit treba LibreOffice s podporou nastroju pro tvorbu napr. UML diagramu, jako treba class diagram. Tady mas moznosti jako EnterpriseArchitect (placeny, ale existuje i spousta free variant). Je toho spousta. Nebo muzes pouzit nejaka online reseni (i v ramci intranetu), jako napr. wiki, Confluence, E-share, GitHub (muzes mit interni/privatni instalaci, GitHub ma svoji vlastni wiki) Napsal jsem generickou knihovnu GPG / PGP NPAPI pro použití v prohlížeči, který má veřejné metody pro většinu všechno, včetně rozšifrování a ověření.


Zdrojem plugin se nachází zde: <https://github.com/kylehuff/webpg-npapi>


Plugin je v současné době používá v WebPG rozšíření pro Chrome, zde se nachází: <https://chrome.google.com/webstore/detail/hhaopbphlojhnmbomffjcbnllcenbnih>


A je zdrojem rozšíření je najít zde: <https://github.com/kylehuff/webpg-chrome>


Oba jsou cross-platform pro Windows, Linux a OSX. Upřímně řečeno, já bych jít s sestavení .NET, jak se zdá být jednodušší řešení a těsněji obsahoval řešení, než zahájit nový proces. Některé z důvodů, proč jsem pocit, že způsob, jakým jsou tyto:


1. S nástrojem příkazového řádku, že jste na trh nový proces. Takže je to zcela samostatný proces ID běh a bude probíhat mimo rozsah a aplikační domény vaší stávající aplikace. Veškerá komunikace mezi aplikací a procesu bude přes hranice procesu a bude muset být provedeno buď s telefonem, jakési sdílené paměti, nebo nějaký jiný přístup, který by mohl být těžkopádný (zejména při řešení otázek).
2. Se zahájením nového procesu, jste v podstatě ztratí kontrolu nad tímto procesem z vaší aplikace. Pokud vaše aplikace zemře nebo se vypne, budete muset tento proces výslovně zabít - jinak budete muset úchyty zůstat otevřené soubory uzamčeny, atd.
3. Včetně sestavení .NET v aplikaci umožňuje vše spustit ve stejném kontextu (obecně), který umožňuje lepší komunikaci mezi složkami, snadnější ladění a odstraňování poruch (obecně), a jediný způsob je řízena.
4. Máte trochu větší kontrolu nad kódu. Zahájení procesu je v podstatě black-box - nemáte ponětí, co se děje uvnitř ní. Je pravda, že se sestavení .NET máte podobný black-box scénář, ale vzhledem k tomu, že je ve stejném procesu, může mít nějaké další vhled do toho, jak jsou hovory byly provedeny, kde jsou výjimky být hozen, atd. V podstatě mít trochu větší vhled do složky s sestavení .NET spíše než zahájit nový proces.


To jsou jen některé myšlenky z vrcholu mé hlavy. Doufám, že to pomůže. Máte-li dotazy, dejte mi vědět a já vám zpracovat mé odpovědi. Hodně štěstí!! Ho přeinstaluj, molh se poškodit nějaký důležitý soubor, popřípadě nějaká nová aktualizace. Která se nestáhla, nebo stáhla ale chybně (např přerušením netu)

Na metina se vykšli, raději někde sosni WOW ![:)]( ":)") je to w podstatě to samé ale o 200% lepší ![:)]( ":)") <p>myslím, že se to opravdu rozpadne na váš provoz. pomalejší hardware, pomalejší (již pomalejší) generování stránky. není to specifické pro wp, je to stejné pro všechny velké php skripty.</p><p>pokud dostanete serverový hit každou chvíli, jako na dev boxu nebo rodinném blogu, není to žádný velký problém. bude to jen vyplivnout stránky pomaleji. dostanete-li pravidelně souběžné zásahy, vaše stránky se dostanou z webu poměrně snadno.</p><p>všimněte si také, že mnoho low-end sdílené host směšuje více lokalit na low-end hardware. je to samozřejmě ne tak nízké, jako to, na co jste se připojili, ale nečekal bych, že velký rozdíl ve výkonu ve srovnání s přeplněným sdíleným serverem.</p> <p>ubuntu wiki má <a href="https://help.ubuntu.com/community/reportingbugs">velmi důkladný průvodce</a> , který je dobře ilustrován a pokrývá mnoho možných scénářů.</p><p>podstatou této stránky je to, že nejprve potřebujete <a href="https://launchpad.net/+login">launchpad account</a> , pak stiskněte <kbd>alt</kbd>+<kbd>f2</kbd> a zadejte <code>ubuntu-bug packagename</code>. v 11.04 a novějších můžete zadat <code>ubuntu-bug -w</code> a klikněte na postižené okno.</p><p>na této wiki stránce jsou také popsány metody, které vám řeknou, jak:</p><ul> <li>chyby souborů proti spuštěným programům</li> <li>proti žádnému konkrétnímu balíčku ( <a href="https://wiki.ubuntu.com/bugs/findrightpackage">a jak se rozhodnout, který balíček</a> )</li> <li>az počítačů bez připojení k internetu.</li> </ul><p>existuje <a href="https://www.youtube.com/watch?v=18nsscrdia0">rychlé výukové video</a> , které vysvětluje lépe.</p><p>a další informace na tomto webu o tom, jak shromažďovat informace pro hlášení o chybě:</p><ul> <li> <a href="https://askubuntu.com/questions/109779/ive-got-internal-error-whilst-running-a-ubuntu-beta-how-to-gather-information">při spuštění ubuntu beta mám interní chybu. jak shromažďovat informace a zjistit, co to je?</a> </li> </ul> Máte-li stejnou platformu i verzi aplikace, s největší pravděpodobností jste každý v jiné skupině uživatelů pro A/B testování. Tak vývojáři ověřují účinnost aplikace a nakonec zvolí tu účinnější verzi a zavedou všem. Chce-li lingoty, může zkusit web na PC nebo třeba i v mobilu v nějakém internetovém prohlížeči. Pravděpodobně to zabere. Pleteš páté přes deváté... Zdrojový kód a strojový kód jsou dvě naprosto nesouvisející věci. A když z toho máš v hlavě bordel, tak to prostě nečti. Každý na tohle hlavu nemá, tak to nech těm, co ji mají ty se věnuj tomu, na co hlavu máš. Není to žádná ostuda :) <h2> <a href="https://chrome.google.com/webstore/detail/speakit/pgeolalilifpodheeocdmbhehgnkkbak?utm\_source=chrome-ntp-icon">speakit!</a> </h2><p>věřím, že jsem nejlepší bezplatný software tts našel zdarma pomocí google chrome rozšíření s názvem "speakit". toto funguje pouze v prohlížeči chrome pro mě na ubuntu). s chromiem z nějakého důvodu nefunguje. mluvíme o dvou ženských hlasech, které znějí velmi realisticky ve srovnání se vším ostatním. tam jsou uvedeny alespoň další čtyři mužské a ženské hlasy s chrome rozšíření) pokud prohledáváte internetový obchod chrome internetový obchod pomocí výrazu „tts“).</p><p><strong> použití </strong>: pro použití na webu. zvýrazníte text, který chcete číst, a klikněte pravým tlačítkem myši na ikonu „speakit“ nebo klikněte na ikonu speakit v doku na horním panelu chrome).</p><hr><p>uživatelé firefoxu mají také dvě možnosti. v doplňcích firefoxu proveďte <a href="https://addons.mozilla.org/en-us/firefox/search/?platform=linux&amp;q=tts">vyhledávání tts</a> a měli byste najít „click speak“ a také „text to voice“. hlasy nejsou tak dobré jako hlasy, které jsou chrome speakit, ale jsou rozhodně použitelné).</p><p>rozšíření speakit využívá technologii ispeech a za cenu 20 $ ročně může web převádět text do zvukových souborů mp3. můžete zadávat text, adresy url, kanály rss, stejně jako dokumenty jako txt, doc a pdf a výstup do mp3. můžete vytvářet podcasty, vkládat zvuk atd. <a href="http://www.ispeech.org/free.text.to.speech.tts.software">zde je odkaz</a> a <a href="http://www.ispeech.org/view/681080/4429622">kázka jejich zvuk</a> (nevím, jak dlouho bude odkaz trvat).</p> Já bych generování XML, když se něco změní, spíše než na požadavku společnosti Google. To znamená, že aktualizuje pouze tak rychle, jak to potřebuje.


Já bych to uložit centrálně. Máte-li CDN, prásk ho tam a přesměrovat na něj. Dalo by se argumentovat, je to noční můra, ale je to ještě horší, než když všechny své frontendy generující vlastní verzi souboru Sitemap? Odpověď: Ne, je to mnohem efektivnější.


Pokud nechcete mít CDN bych zkoumat způsob přesměrování žádosti z jednoho uzlu do druhého. Ty by mohly být dokonce schopen řídit se svým zátěže Vyrovnávání takže určité řetězce user-agent jít přímo do uzlu sitemap generující.







Co se týče otázky 2 ... tvrzení Google budou automaticky kontrolovat s vámi, jakmile budou vědět, jak rychle se vaše aktualizace webu. Já bych aktualizovat ručně několika prvních a pak Google by měl vědět, jakou rychlostí se dál na.


Ale pokud nejste odesílání 20 ping za hodinu, pochybuji, že budu vadit příliš mnoho. Není to, jako by to změní váš výkon SERP.