Banyere onye ahịa webụ 1C

Otu n'ime njirimara mara mma nke 1C: Teknụzụ ụlọ ọrụ bụ na ngwa ngwa, nke emepụtara site na iji teknụzụ ụdị njikwa, enwere ike ịmalite ya na ndị ahịa dị mkpa (executable) maka Windows, Linux, MacOS X, yana dị ka onye ahịa weebụ maka ihe nchọgharị 5 - Chrome, Internet Explorer, Firefox, Safari, Edge, na ihe a niile na-agbanweghị koodu isi mmalite. Ọzọkwa, externally ngwa na mkpa ahịa na na ihe nchọgharị na-arụ ọrụ na anya fọrọ nke nta ka yiri.
Chọta ọdịiche 10 (foto 2 n'okpuru ịkpụ):

Window ndị ahịa dị mkpa na Linux:

Banyere onye ahịa webụ 1C

Otu mpio ahụ dị na onye ahịa weebụ (na ihe nchọgharị Chrome):

Banyere onye ahịa webụ 1C

Gịnị mere anyị ji mee onye ahịa webụ? N'ikwu ya n'ụzọ na-adịghị mma, oge ewepụtala anyị ọrụ dị otú ahụ. Ịrụ ọrụ n'ịntanetị abụrụla ihe dị mkpa maka ngwa azụmahịa. Mbụ, anyị gbakwunyere ike na-arụ ọrụ site na Ịntanetị anyị mkpa ahịa (ụfọdụ n'ime anyị asọmpi, n'agbanyeghị, kwụsịrị n'ebe ahụ; ndị ọzọ, na Kama nke ahụ, gbahapụrụ mkpa ahịa na-ejedebeghị onwe ha mejuputa a web ahịa). Anyị kpebiri inye ndị ọrụ anyị ohere ịhọrọ nhọrọ ndị ahịa nke dabara ha mma.

Banyere onye ahịa webụ 1C

Ịgbakwunye ike dabere na webụ na onye ahịa ahụ dị gịrịgịrị bụ nnukwu ọrụ nwere mgbanwe zuru oke na nhazi ihe nkesa ndị ahịa. Ịmepụta onye ahịa weebụ bụ ọrụ ọhụrụ kpamkpam, malite na ọkọ.

Ulationkpụzi nsogbu a

Ya mere, ihe ngo a chọrọ: onye ahịa weebụ ga-eme otu ihe ahụ dị ka onye ahịa dị mkpa, ya bụ:

  1. Gosipụta interface onye ọrụ
  2. Mezue koodu ndị ahịa nke edere n'asụsụ 1C

A na-akọwa njirimara onye ọrụ na 1C na onye na-ahụ maka ihe nlegharị anya, mana n'ụzọ doro anya, na-enweghị nhazi pixel-site-pixel nke ihe; A na-eji ihe dị ka ụdị iri na abụọ nke interface ihe - bọtịnụ, mpaghara ntinye (ederede, ọnụọgụ, ụbọchị/oge), ndepụta, tebụl, eserese, wdg.

Koodu ndị ahịa n'asụsụ 1C nwere ike ịnwe oku nkesa, na-arụ ọrụ na akụrụngwa mpaghara (faịlụ, wdg), mbipụta na ọtụtụ ndị ọzọ.

Ma ndị ahịa dị gịrịgịrị (mgbe ọ na-arụ ọrụ site na webụ) yana onye ahịa webụ na-eji otu ọrụ webụ emekọrịta ozi na sava ngwa 1C. Mmejuputa ndị ahịa, n'ezie, dị iche - onye ahịa dị gịrịgịrị ka edere na C ++, edere onye ahịa weebụ na Javascript.

A bit nke akụkọ ihe mere eme

Ọrụ ndị ahịa webụ malitere na 2006, ya na otu (na nkezi) mmadụ 5. N'oge ụfọdụ nke ọrụ ahụ, ndị mmepe na-etinye aka iji mejuputa ọrụ dị iche iche (akwụkwọ mpempe akwụkwọ, eserese, wdg); dị ka a na-achị, ndị a bụ otu ndị mmepe na-arụ ọrụ a na mkpa ahịa. Ndị ahụ. ndị mmepe degharịrị akụkụ na Javascript nke ha mebuburu na C++.

Site na mmalite, anyị jụrụ echiche nke mgbanwe ọ bụla akpaka (ọbụlagodi akụkụ) nke C ++ mkpa koodu ahịa n'ime onye ahịa weebụ Javascript n'ihi nghọtahie siri ike dị n'etiti asụsụ abụọ ahụ; Edere onye ahịa webụ ahụ na Javascript site na ọkọ.

N'ime usoro izizi nke ọrụ ahụ, onye ahịa webụ tụgharịrị koodu ndị ahịa n'asụsụ 1C arụnyere n'ime Javascript ozugbo. Onye ahịa ahụ dị gịrịgịrị na-eme ihe dị iche iche - a na-achịkọta koodu dị na asụsụ 1C arụnyere n'ime bytecode, mgbe ahụ, a na-asụgharị bytecode a na onye ahịa. Mgbe nke ahụ gasịrị, onye ahịa weebụ malitere ime otu ihe ahụ - nke mbụ, o nyere uru arụmọrụ, na nke abụọ, o mere ka o kwe omume ijikọta ụkpụrụ ụlọ nke ndị ahịa na ndị ahịa weebụ.

Ụdị nke mbụ nke 1C:Enterprise ikpo okwu nwere nkwado ndị ahịa weebụ ka ewepụtara na 2009. Onye ahịa webụ n'oge ahụ kwadoro ihe nchọgharị abụọ - Internet Explorer na Firefox. Atụmatụ mbụ gụnyere nkwado maka Opera, mana n'ihi nsogbu ndị a na-apụghị imeri emeri n'oge ahụ na ndị na-emechi ngwa ngwa na Opera (ọ gaghị ekwe omume iji 2% jide n'aka na ngwa ahụ na-emechi, ma n'oge ahụ na-eme usoro nkwụsị site na. ihe nkesa ngwa 100C) sitere na atụmatụ ndị a ga-ahapụrịrị.

Usoro oru ngo

Na mkpokọta, ikpo okwu 1C: Enterprise nwere oru 4 edere na Javascript:

  1. WebTools – ọba akwụkwọ nke ọrụ ndị ọzọ na-eji (anyị tinyekwara Ọbá akwụkwọ mmechi Google).
  2. Ihe njikwa Ụdị akwụkwọ (nke etinyere na Javascript na ma ndị ahịa dị gịrịgịrị na ndị ahịa webụ)
  3. Ihe njikwa Onye nhazi oge (nke etinyere na Javascript na ma ndị ahịa dị gịrịgịrị na ndị ahịa webụ)
  4. Onye ahịa webụ

Ọdịdị nke ọrụ ọ bụla yiri nhazi nke ọrụ Java (ma ọ bụ ọrụ NET - nke ọ bụla dị nso); Anyị nwere oghere aha, na oghere aha ọ bụla dị na folda dị iche. N'ime folda ahụ enwere faịlụ na klaasị aha. Enwere ihe dị ka faịlụ 1000 na ọrụ ndị ahịa webụ.

N'usoro nhazi, onye ahịa weebụ na-ekewa n'ụzọ dị ukwuu na mpaghara ndị a:

  • Ngwa ndị ahịa jisiri ike
    • Ngwa ngwa n'ozuzu (nchịkọta menu, ogwe)
    • Ntụgharị nke ụdị ejirila, gụnyere, n'etiti ihe ndị ọzọ, ihe dịka njikwa 30 (bọtịnụ, ụdị ntinye dị iche iche - ederede, ọnụọgụ, ụbọchị / oge, wdg, tebụl, ndepụta, eserese, wdg.)

  • Ụdị ihe dịịrị ndị mmepe na onye ahịa (ihe karịrị ụdị 400 n'ozuzu ya: ụdị ihe eji eme ihe interface, ntọala nhazi data, nhazi ọnọdụ, wdg)
  • Ntụgharị asụsụ 1C arụnyere n'ime ya
  • Mgbatị ihe nchọgharị (eji ya maka ọrụ anaghị akwado na Javascript)
    • Na-arụ ọrụ na cryptography
    • Na-arụ ọrụ na faịlụ
    • Nkà na ụzụ nke ihe ndị dị n'èzí, na-enye ohere iji mee ihe na ndị ahịa dị gịrịgịrị na ndị ahịa weebụ

Atụmatụ mmepe

Ime ihe niile dị n'elu na Javascript adịghị mfe. Ikekwe onye ahịa webụ 1C bụ otu n'ime ngwa ndị ahịa kachasị ukwuu edere na Javascript - ihe dịka ahịrị 450.000. Anyị na-arụsi ọrụ ike na-eji ụzọ gbadoro anya ihe na koodu ndị ahịa webụ, nke na-eme ka ịrụ ọrụ na nnukwu ọrụ dị mfe.

Iji wedata nha koodu ndị ahịa, anyị buru ụzọ jiri obfuscator nke anyị wee malite na ụdị ikpo okwu 8.3.6 (October 2014) anyị malitere iji. Ihe nchịkọta mmechi Google. Mmetụta nke ojiji na ọnụọgụ - nha nke usoro ndị ahịa webụ mgbe emechibidoro:

  • Onye obfuscator nke ya - 1556 kb
  • Ihe nchịkọta mmechi Google - 1073 kb

Iji Google Closure Compiler nyeere anyị aka imeziwanye arụmọrụ onye ahịa weebụ site na 30% ma e jiri ya tụnyere onye na-eme ihe n'onwe anyị. Na mgbakwunye, ọnụ ọgụgụ nke ebe nchekwa riri site na ngwa ejirila 15-25% belata (dabere na ihe nchọgharị ahụ).

Google Closure Compiler na-arụ ọrụ nke ọma na koodu gbadoro ụkwụ na ihe, ya mere arụmọrụ ya maka onye ahịa weebụ dị elu dịka o kwere mee. Compiler Closure na-emere anyị ihe ọma ole na ole:

  • Nleba anya ụdị static n'oge nrụpụta ọrụ a (na-eme ka anyị mara na anyị jiri nkọwa JSDoc kpuchie koodu ahụ). Nsonaazụ bụ mpịnye static, dị nso n'ọkwa iji dee na C++. Nke a na-enyere aka ị nweta oke pasentị mperi mperi n'ọkwa nchịkọta ọrụ.
  • Na-ebelata nha koodu site na nkpuchi
  • Ọnụ ọgụgụ kachasị mma nke koodu emegburu, dịka ọmụmaatụ, dịka:
    • inline ọrụ nnọchi. Ịkpọ ọrụ na Javascript bụ ọrụ dị oke ọnụ, yana ngbanwe inline nke obere ụzọ a na-ejikarị eme ihe na-eme ka koodu ahụ dị ngwa ngwa.
    • Na-agụta ndị na-agbanwe agbanwe n'oge a na-achịkọta. Ọ bụrụ na okwu dabere na ihe na-adịgide adịgide, a ga-edochi uru n'ezie na ya

Anyị na-eji WebStorm dị ka gburugburu mmepe ndị ahịa anyị.

Maka nyocha koodu anyị na-eji ụdaQube, ebe anyị na-ejikọta static code analyzers. N'iji ndị nyocha, anyị na-enyocha mmebi nke koodu isi mmalite Javascript ma gbalịa igbochi ya.

Banyere onye ahịa webụ 1C

Kedu nsogbu anyị mere/anyị na-edozi?

N'oge mmejuputa ọrụ ahụ, anyị zutere ọtụtụ nsogbu ndị na-adọrọ mmasị anyị ga-edozi.

Jiri ihe nkesa na-agbanwe data na n'etiti windo

Enwere ọnọdụ ebe nkpuchi nke koodu isi mmalite nwere ike igbochi ọrụ nke sistemụ. Koodu dịpụrụ adịpụ na koodu mmezu nke onye ahịa weebụ, n'ihi nkpuchi, nwere ike ịnwe ọrụ yana aha oke dị iche na nke koodu anyị nwere ike ime na-atụ anya. Koodu mpụga maka anyị bụ:

  • Koodu na-abịa site na sava n'ụdị nhazi data
  • Koodu maka windo ngwa ọzọ

Iji zere mmegide mgbe anyị na ihe nkesa na-emekọrịta ihe, anyị na-eji mkpado @expose:

/**
 * @constructor
 * @extends {Base.SrvObject}
 */
Srv.Core.GenericException = function ()
{
    /**
     * @type {string}
     * @expose
     */
    this.descr;

    /**
     * @type {Srv.Core.GenericException}
     * @expose
     */
    this.inner;

    /**
     * @type {string}
     * @expose
     */
    this.clsid;

    /**
     * @type {boolean}
     * @expose
     */
    this.encoded;
}

Na iji zere mmechi mgbe ị na-emekọrịta ihe na windo ndị ọzọ, anyị na-eji ihe a na-akpọ mbupụ interfaces (mmekọrịta nke ụzọ niile na-ebupụ).

/**
 * Экспортируемый интерфейс контрола DropDownWindow
 *
 * @interface
 * @struct
 */
WebUI.IDropDownWindowExp = function(){}

/**
 * Перемещает выделение на 1 вперед или назад
 *
 * @param {boolean} isForward
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){}

/**
 * Перемещает выделение в начало или конец
 *
 * @param {boolean} isFirst
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){}

/**
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.selectValue = function (){}

Anyị na-eji Virtual DOM tupu ọ ghọọ isi)

Dị ka ndị mmepe niile na-eji UI Weebụ dị mgbagwoju anya, anyị chọpụtara ngwa ngwa na DOM adabaghị adaba na iji ihu ndị ọrụ siri ike rụọ ọrụ. Ihe fọrọ nke nta ka ọ bụrụ ozugbo, etinyere analog nke Virtual DOM iji kwalite ọrụ na UI. N'oge nhazi ihe omume, a na-echekwa mgbanwe DOM niile na ebe nchekwa na, naanị mgbe arụchara ọrụ niile, a na-etinye mgbanwe ndị a gbakọtara na osisi DOM.

Na-ebuli onye ahịa weebụ

Iji mee ka onye ahịa weebụ anyị na-arụ ọrụ ngwa ngwa, anyị na-agbalị iji ike ihe nchọgharị ọkọlọtọ (CSS, wdg) na nke kachasị. Ya mere, a na-emepụta panel iwu ụdị (nke dị na ụdị ngwa ọ bụla) naanị site na iji ngwaọrụ nchọgharị, na-eji okirikiri nhọrọ ukwuu dabere na CSS.

Banyere onye ahịa webụ 1C

Ule

Maka ule arụmọrụ na ịrụ ọrụ, anyị na-eji ngwá ọrụ nwere onwe (nke e dere na Java na C++), yana ụlọ nyocha ndị e wuru n'elu. selenium.

Ngwá ọrụ anyị bụ ihe zuru ụwa ọnụ - ọ na-enye gị ohere ịnwale ihe fọrọ nke nta ka ọ bụrụ mmemme windo ọ bụla, ya mere ọ dị mma maka ịnwale ma onye ahịa dị mkpa na onye ahịa weebụ. Ngwá ọrụ ahụ na-edekọ omume nke onye ọrụ malitere ngwọta ngwa 1C n'ime faịlụ edemede. N'otu oge ahụ, a na-edekọ ihe oyiyi nke mpaghara ọrụ nke ihuenyo-ụkpụrụ. Mgbe ị na-enyocha ụdị ọhụrụ nke onye ahịa weebụ, a na-egwu scripts na-enweghị onye ọrụ. N'ọnọdụ ebe nseta ihuenyo adabaghị na ntinye aka na usoro ọ bụla, a na-ewere ule ahụ dara ada, mgbe nke ahụ gasịrị, onye ọkachamara àgwà na-eme nyocha iji chọpụta ma nke a ọ bụ njehie ma ọ bụ mgbanwe e mere atụmatụ na omume nke usoro. Ọ bụrụ na omume a na-eme atụmatụ, a na-eji ndị ọhụrụ dochie ụkpụrụ ndị ahụ na-akpaghị aka.

Ngwá ọrụ ahụ na-atụkwa arụmọrụ ngwa yana izi ezi ruru 25 millisecond. N'ọnọdụ ụfọdụ, anyị na-atụgharị akụkụ nke edemede ahụ (dịka ọmụmaatụ, ịmegharị ntinye iwu ọtụtụ oge) iji nyochaa mmebi nke oge igbu oge ka oge na-aga. A na-edekọ nsonaazụ nha niile na ndekọ maka nyocha.

Banyere onye ahịa webụ 1C
Ngwá ọrụ nnwale anyị na ngwa a na-anwale

Ngwá ọrụ anyị na Selenium na-ejikọta ibe anyị; dịka ọmụmaatụ, ọ bụrụ na ụfọdụ bọtịnụ na otu n'ime ihuenyo agbanweela ọnọdụ ya, Selenium nwere ike ọ gaghị eso nke a, mana ngwá ọrụ anyị ga-achọpụta, n'ihi na na-eme ntụnyere pixel-by-pixel nke nseta ihuenyo na ọkọlọtọ. Ngwá ọrụ ahụ nwekwara ike soro nsogbu na ntinye nhazi site na keyboard ma ọ bụ òké, ebe ọ bụ na nke a bụ kpọmkwem ihe ọ na-emegharị.

Nnwale na ngwaọrụ abụọ ahụ (nke anyị na Selenium) na-agba ọsọ ụdị ọrụ site na ngwa ngwa anyị. A na-ewepụta ule na-akpaghị aka mgbe arụchara ụlọ ọrụ 1C:Enterprise kwa ụbọchị. Ọ bụrụ na scripts ji nwayọọ nwayọọ (tụnyere ụlọ mbụ), anyị na-enyocha ma dozie ihe kpatara nkwụsị ahụ. Usoro anyị dị mfe - ụlọ ọhụrụ ahụ ekwesịghị ịrụ ọrụ nwayọ karịa nke gara aga.

Ndị na-emepụta ihe na-eji ngwá ọrụ dị iche iche chọpụta ihe ndị na-eme ngwa ngwa; a na-ejikarị eme ihe Dynatrace AJAX Edition ụlọ ọrụ mmepụta ihe DynaTrace. A na-edekọ ndekọ nke ogbugbu nke ọrụ nsogbu na mbụ na ihe ọhụrụ na-ewu ụlọ, mgbe ahụ, a na-enyocha ndekọ. N'otu oge ahụ, oge igbu nke otu arụmọrụ (na milliseconds) nwere ike ọ gaghị abụ ihe dị mkpa - usoro ọrụ dịka nchịkọta mkpofu na-amalite oge ụfọdụ na ihe nchọgharị ahụ, ha nwere ike ịdaba na oge njedebe nke ọrụ ma gbanwee foto ahụ. Ihe ndị ọzọ dị mkpa na nke a ga-abụ ọnụọgụ ntụziaka Javascript e gburu, ọnụ ọgụgụ nke ọrụ atọm na DOM, wdg. Ọ bụrụ na ọnụ ọgụgụ ntuziaka/ọrụ dị n'otu edemede abawanyela na ụdị ọhụrụ, nke a na-apụta mgbe niile mbelata arụmọrụ kwesịrị mezie.

Ọzọkwa, otu n'ime ihe kpatara ọdịda arụmọrụ nwere ike ịbụ na Google Closure Compiler n'ihi ihe ụfọdụ enweghị ike ịrụ ọrụ ngbanwe inline (dịka ọmụmaatụ, n'ihi na ọrụ ahụ na-emegharị ma ọ bụ mebere). N'okwu a, anyị na-agbalị imezi ọnọdụ ahụ site na idegharị koodu isi mmalite.

Mgbatị ihe nchọgharị

Mgbe ngwọta ngwa chọrọ ọrụ na-adịghị na Javascript, anyị na-eji ndọtị ihe nchọgharị:

  • maka ịrụ ọrụ na faịlụ
  • maka ịrụ ọrụ na cryptography
  • na-arụ ọrụ na ihe mpụga

Mgbatị anyị nwere akụkụ abụọ. Akụkụ nke mbụ bụ ihe a na-akpọ ndọtị ihe nchọgharị (na-abụkarị ndọtị maka Chrome na Firefox nke edere na Javascript), nke na-emekọrịta ihe na akụkụ nke abụọ - ndọtị ọnụọgụ abụọ na-arụ ọrụ anyị chọrọ. Ekwesịrị ikwupụta na anyị na-ede ụdị 3 nke mgbakwunye ọnụọgụ abụọ - maka Windows, Linux na MacOS. A na-enye ndọtị ọnụọgụ abụọ dịka akụkụ nke 1C:Enterprise platform ma dị na sava ngwa 1C. Mgbe a na-akpọ ya nke mbụ site na onye ahịa weebụ, a na-ebudata ya na kọmputa onye ahịa ma tinye ya na ihe nchọgharị ahụ.

Mgbe ị na-agba ọsọ na Safari, ndọtị anyị na-eji NPAPI; mgbe ha na-agba na Internet Explorer, ha na-eji teknụzụ ActiveX. Microsoft Edge akwadobeghị ndọtị, yabụ onye ahịa wee na-arụ ọrụ na mmachi.

Mmepe ọzọ

Otu n'ime ọrụ ndị otu mmepe ndị ahịa webụ bụ n'ihu mmepe nke ọrụ. Ọrụ nke onye ahịa webụ kwesịrị ịdị ka ọrụ nke onye ahịa ahụ dị gịrịgịrị; a na-emejuputa ọrụ ọhụrụ niile n'otu oge na ma ndị ahịa na ndị ahịa webụ.

Ọrụ ndị ọzọ gụnyere ịmepụta ihe owuwu ụlọ, imegharị ihe, imeziwanye arụmọrụ na ntụkwasị obi. Dịka ọmụmaatụ, otu n'ime ntụzịaka ahụ bụ ịga n'ihu na-aga n'ihu n'ụdị ọrụ asynchronous. Ewubere ụfọdụ ọrụ nke onye ahịa weebụ ugbu a n'ụdị mmekọrịta mmekọrịta ya na sava ahụ. Ụdị asynchronous ugbu a na-aghọwanye ihe dị mkpa na ihe nchọgharị (ọ bụghị naanị na ihe nchọgharị), nke a na-amanye anyị ịgbanwe onye ahịa weebụ site na iji ndị asynchronous dochie oku mmekọrịta (ma na-emegharị koodu ahụ). A na-akọwa ngbanwe nke nta nke nta na ụdị asynchronous site na mkpa ọ dị ịkwado ngwọta ndị a tọhapụrụ na mmegharị ha nke nta nke nta.

isi: www.habr.com

Tinye a comment