it-swarm-eu.dev

Měli byste verze webových aplikací?

Nedávno jsem diskutoval se spolupracovníkem o verzích webových aplikací.

Nemyslím si, že to vůbec potřebujete, a pokud si jen přejete, aby se vaše poslední vydání zveřejnilo, zkontrolujte, zda je datum (YYMMDD) pravděpodobně dost dobré.

Jsem mimo základnu? Chybí mi to? Mám použít čísla verzí webové aplikace

35
John MacIntyre

Pokud stejnou webovou aplikaci dále prodáváte více zákazníkům, měli byste ji zcela aktualizovat.

Pokud se jedná o web, který byl nainstalován pouze na jednom místě, pak je potřeba méně hrozné, ale stále by to pravděpodobně nemohlo ublížit. Byli byste méně náchylní k problémům s časovým pásmem a podobně. Diagnostika problému v knihovně verze 1.0.2.25 je mnohem hezčí, než pronásledovat sestavení knihovny 3. listopadu 2010 11:15 a.m.

32
Adam Lear

Pokud můžete automatizovat číslo verze na dll vaší aplikace, nemohlo by to bolet. To vám pomůže sledovat verze.

Obecně jsou webové aplikace vydávány pouze na jednom místě, kde je hostitelem, takže to není tak důležité jako aplikace na počítači. Může pomoci s vrácením, sledováním chyb (tj. Ve které verzi byla tato verze) a sledováním rozdílu mezi vývojovými, inscenačními a produkčními servery, pokud jsou k dispozici.

Podíval bych se na automatizaci - je to druh věci, kterou můžete jednou nastavit a použít ji, pokud/kdy ji potřebujete.

12
Remus

Vaši uživatelé se nestarají o čísla verzí, protože vždy mají nejnovější a největší verzi, ale dlužíte sami sobě (a vašemu týmu), aby přesně věděli, která verze běží naživo. Nakonec váš vývojový zdroj přestane být synchronizován s živým kódem a pak rčitě to musíte vědět. Takže označte svá vydání ve stromu svn/git a označte webovou aplikaci touto značkou.

9
Martin Wickman

Pokud máte instance dev/test, je velmi důležité, aby členové projektového týmu mohli vidět, které sestavení/revize testují.

9
Jeremy

Kromě toho, co řekli ostatní, bych dodal, že verzování je také důležité z marketingového hlediska. Nová verze je něco nového, co lze uvést na trh potenciálním nebo stávajícím zákazníkům. Umožňuje zákazníkům vědět, že je něco „nového“, a vidět, že se věci vyvíjejí kupředu. Poskytuje pěkné skupiny nových funkcí. A vypadá to profesionálnější.

4
GrandmasterB

Webovou aplikaci byste měli verzovat s build buildem z build serveru a mít toto ID uzavřené ve všech hlášeních o chybách.

To vám umožní vrátit se v čase, pokud musíte opravit chybu nahlášenou na starší verzi, která se momentálně nenachází ve výrobě.

4
user1249

Říkám, že pro nic jiného než triviální webovou aplikaci byste ji měli verzi. V práci jsou dva, trochu odlišné pojmy:

  1. aplikace jako celek
  2. jednotlivé soubory

Bez ohledu na situaci se domnívám, že soubory by měly mít čísla jednotlivých verzí (nebo revizí). Ideálně by to automaticky řešil váš systém pro správu verzí. Jak již uvedli ostatní, je snazší zjistit číslo verze souboru, než je datum a čas.

Pokud máte (nebo možná) máte více než jednu živou instalaci aplikace, měla by být verzována jako celek. Toto je také dobrý postup, pokud máte samostatné prostředí pro vývoj a testování (jak jste pravděpodobně měli). Každé číslo verze aplikace (nebo vydání) odkazuje na soubor jednotlivých souborů pod konkrétními čísly verzí. Při řešení tohoto všeho je další zátěž, je snazší zkontrolovat konkrétní verzi než jednotlivé soubory na konkrétních číslech revizí.


To mě nutí myslet na pojem lingvistika. Říká se, že pokud nemůžete něco vyjádřit v jazyce, nemůžete na to myslet (v tomto jazyce). Myslím na německé slovo „Schadenfreude“. Je mnohem snazší myslet (a mluvit) na tento pojem „pocit radosti kvůli neštěstí někoho jiného“ odkazem na toto Slovo, než na jeho definici. To je důvod, proč se Slovo plížilo k použití v anglickém jazyce.

Podobně čísla verzí usnadňují mluvení (a přemýšlení) o vaší aplikaci a jejích souborech v konkrétních stavech. Pokud jste tým jedné osoby a pracujete na jedné aplikaci, pravděpodobně to nezmění velký rozdíl. Avšak jak se věci komplikují, je pro vás lepší mít tyto štítky k dispozici.

4
George Marian

Z vaší otázky je zřejmé, že máte na mysli jednoduchou webovou aplikaci

  • Přístupné pouze pomocí Web GUI a nikoli pomocí Web (-service) API. Pokud máte k aplikaci přistupující uživatelé pomocí rozhraní API, musíte tuto verzi aktualizovat. Pokud změníte rozhraní API, rozbijete klienty, musíte tedy současně udržovat jinou verzi rozhraní API.

  • Pouze v té době spuštěna pouze jedna instance. I když máte pouze webového chlapa, pokud máte více instalací, musíte vědět, který zákazník používá kterou verzi.

  • S přijatelným prostojem pro aktualizaci živé verze. Existuje pravděpodobně obrovský problém, kterým je databáze. Důležité změny v novějších verzích přicházejí se změnami základní struktury dat. Pokud máte v té době spuštěnu pouze jednu verzi, budete pravděpodobně muset vypnout starou verzi, upgradovat databázi a zapnout novou verzi. To má za následek prostoje aplikace. To může být přijatelné v závislosti na počtu a druhu uživatelů.

1
OGrandeDiEnne
  • Interní použití pouze s omezenou instalační základnou?
  • Nebo pravděpodobně mít více verzí ve volné přírodě?

Máme pouze první verzi, takže pro zveřejnění po vydání zprávy používejte pouze číslo verze. Nemusíme sledovat mnoho používaných verzí současně.

0
gbn

Pokud vaše webová aplikace obsahuje více modulů, jak v klientovi, tak na serveru, měl by být každý modul verzí. A každá kombinace verzí modulů na klientovi i na serveru by měla mít jedinečné ID, ID, které by mělo být přítomno ve všech protokolovacích a chybových zprávách.

Použitím této úmluvy bude vždy možné znovu vytvořit stav, ve kterém byla webová aplikace v daném okamžiku.

Domnívám se, že protože dnešní webové aplikace jsou stavěny pomocí dynamických jazyků na obou stranách, na serveru i na klientovi, nemělo by existovat žádný důvod pro opětovné načtení aktualizované webové aplikace, pokud uživatel restartuje prohlížeč nebo ručně načte stránku znovu.

Načíst lze pouze aktualizované části nebo moduly webové aplikace, aniž by to ovlivnilo celkový stav aplikace.

Proč byste se mohli zeptat? Vynucením toho bude webová aplikace svým designem více loupežná, správná a pravděpodobně snadněji udržovatelná. Pokud webová aplikace vždy vyžaduje souběžnou aktualizaci serveru/klienta, pak pravděpodobně nejde o správnou cestu.

0
Ernelli

Ano, měli byste to verzi! Ve vašem kontrolním systému by měla být značka (jako Subversion, git, Mercurial atd.), Která odpovídá číslu verze.

Značka umožňuje vrátit se a vytvořit větev. Například: aktuální produkční verze obsahuje chybu, ale nemůžete ji opravit, protože kód na vašem počítači prostě není připraven zavřít dveře. Pokud ji máte označenou v RCS, můžete ji u této značky rozvětvit a opravit chybu v přesné verzi kódu, který běží ve výrobě.

0
Brad Cupit

Osobně si myslím, že byste přesto měli verzi, ale jednou z velkých výhod verzování webových aplikací, která je specifická pro webové stránky, je to, že dokáže mnohem snadněji spravovat změny statického obsahu.

Řekněme například, že máte soubor mysite.css, jehož datum vypršení platnosti je mnohem pozdější (což obvykle chcete udělat, aby bylo uloženo v prohlížeči v mezipaměti na každé stránce). Pokud změníte styl v tomto souboru, nikdo, kdo byl na vašem webu dříve, jej neuvidí, pokud neudělají něco, aby tento soubor z mezipaměti vyčistili.

Pokud provádíte správu verzí webu, můžete změnit všechny odkazy CSS ve vašem sestavení na něco jako mysite.css? V = 1234, což vám umožní udržet si do budoucna datum vypršení platnosti a nemusíte se starat o budoucí změny, jako v příštím sestavení Budu mysite.css? v = 1235.

0
FinnNk

Ano měl bys. Z důvodů distribuce zde naznačených jinými odpověďmi.

Ale chápu, proč se ptáš na tuto otázku. Přístup webových aplikací je založen na nákladech. Je to v protikladu k dřívějšímu přístupu ke smršťovacím obalům, kde náklady zahrnují fyzická média, distribuci, instalaci, kopii dokumentace, školení a technickou podporu. Vše, co lze vyloučit, by mělo být vyloučeno.

0
user7071

Jednoduše řečeno, předpokládám, že mluvíte o uživatelsky viditelném čísle verze nějakého druhu a nevzdáváte se vývoje verzí ve vývoji. (Pokud si myslíte, že vývoj verzí nepotřebujete, pak se mýlíte, potřebujete kontrolu verzí).

U projektu s jedním hostitelem to není nezbytně nutné, protože v případě jakýchkoli otázek se vždy můžete podívat na hostitele a potvrdit, co skutečně běží. Je to ale docela hezké, protože se to může hodit jednou nebo dvakrát. Je opravdu na vás, zda si myslíte, že to bude užitečné nebo ne.

U projektu s více hostiteli to není opravdu volitelné. Různí hostitelé nakonec skončí s různými verzemi a budete je muset umět rozeznat na konci uživatele.

0
Michael Kohne