Tej zaum,
Nyob rau hauv tsab xov xwm no, uas yog cov ntsiab lus nyob rau hauv cov xwm, peb yuav sim mus saib nyob rau hauv ib co ntawm cov hauv paus ntsiab lus ntawm dab noj hnub architecture raws li ib tug platform rau tsim integrated txoj kev loj hlob cov cuab yeej thiab muab ib tug thawj lub tswv yim ntawm dab noj hnub Cheebtsam uas tsim lub hauv paus ntawm lub tshuab. platform rau "Tshiab Configurator" 1C: Enterprise.
Introduction to Eclipse Architecture
Cia peb xub saib qee qhov dav dav ntawm Eclipse architecture siv qhov piv txwv
Ua ntej tshaj plaws, nws yuav tsum tau muab sau tseg tias Dab Ntxwg Nyoog yog tus cwj pwm los ntawm cov txheej txheem tsim vaj tsev zoo nkauj, nrog kev sib cais ntawm cov lus ywj pheej ntawm kev ua haujlwm los ntawm kev ua haujlwm tsim los txhawb cov lus programming tshwj xeeb, thiab kev sib cais ntawm UI-yooj yim "core" cov ntsiab lus los ntawm cov khoom cuam tshuam. nrog txhawb cov neeg siv interface.
Yog li, Dab Ntxwg Nyoog Platform txhais ib qho kev sib koom ua ke, kev ywj pheej ntawm kev hais lus, thiab cov cuab yeej tsim kho Java ntxiv rau Java IDE tag nrho rau dab noj hnub. Ob lub Eclipse Platform thiab JDT muaj ob peb yam khoom, txhua tus muaj nyob rau ntawm UI-ywj siab "core" lossis UI txheej (Daim duab 1).
Rice. 1. Dab Ntxwg Nyoog Platform thiab JDT
Cia peb teev cov ntsiab lus tseem ceeb ntawm Eclipse Platform:
- Sijhawm Sawv - Txhais lub plugin infrastructure. Dab noj hnub yog tus yam ntxwv los ntawm ib qho qauv tsim qauv. Qhov tseem ceeb, dab noj hnub yog ib phau ntawm "cov ntsiab lus txuas ntxiv" thiab "kev txuas ntxiv".
- Ntshoo - Tswj ib lossis ntau qhov haujlwm. Ib qhov project muaj cov folders thiab cov ntaub ntawv uas yog mapped ncaj qha rau cov ntaub ntawv system.
- Standard Widget Toolkit (SWT) - Muab cov ntsiab lus yooj yim rau cov neeg siv cuam tshuam nrog kev ua haujlwm.
- JFace - Muab ntau lub UI lub moj khaum ua rau saum SWT.
- workbench - Txhais lub Eclipse UI paradigm: cov neeg kho, kev pom, kev xav.
Nws yuav tsum tau hais tias Eclipse Platform tseem muab ntau lwm yam tseem ceeb rau kev tsim cov cuab yeej tsim kho, suav nrog Debug, Sib Piv, Tshawb Nrhiav, thiab Pab Pawg. Cov lus tshwj xeeb yuav tsum tau ua los ntawm JFace Text - lub hauv paus rau kev tsim "ntse editors" ntawm qhov chaws. Hmoov tsis zoo, txawm tias kev tshuaj xyuas cursory ntawm cov khoom no, nrog rau cov txheej txheem UI txheej, tsis tuaj yeem ua tau nyob rau hauv qhov kev nthuav dav ntawm tsab xov xwm no, yog li nyob rau hauv seem ntawm tshooj no peb yuav txwv peb tus kheej mus rau kev saib xyuas ntawm lub ntsiab "core" Cheebtsam ntawm Eclipse Platform thiab JDT.
Core Runtime
Lub Eclipse plugin infrastructure yog raws li
Core Workspace
Yuav luag txhua qhov kev txhim kho kev sib koom ua ke tsim nyob rau sab saum toj ntawm Eclipse Platform ua haujlwm nrog Eclipse workspace. Nws yog qhov chaw ua haujlwm uas feem ntau muaj cov cai ntawm daim ntawv thov tsim hauv IDE. Workspace maps ncaj qha rau cov ntaub ntawv kaw lus thiab muaj cov haujlwm uas muaj cov folders thiab cov ntaub ntawv. Cov haujlwm no, folders, thiab cov ntaub ntawv raug hu ua peev txheej chaw ua haujlwm. Kev siv qhov chaw ua haujlwm hauv dab noj hnub ua haujlwm ua ib qho kev sib raug zoo nrog cov ntaub ntawv kaw lus, uas ua rau nws muaj peev xwm ua kom nrawm nrawm ntawm cov peev txheej ntoo. Tsis tas li ntawd, chaw ua haujlwm muab ntau yam kev pabcuam ntxiv, suav nrog
Core Resources tivthaiv (org.eclipse.core.resources plugin) yog lub luag haujlwm los txhawb qhov chaw ua haujlwm thiab nws cov peev txheej. Tshwj xeeb, cov khoom siv no muab cov programmatic nkag mus rau qhov chaw ua haujlwm hauv daim ntawv cov qauv tsim. Txhawm rau ua haujlwm zoo nrog cov qauv no, cov neeg siv khoom xav tau ib txoj hauv kev yooj yim los nthuav qhia qhov txuas mus rau cov peev txheej. Nyob rau hauv rooj plaub no, nws yuav tsim nyog los nkaum cov khoom uas ncaj qha khaws lub xeev ntawm cov peev txheej hauv cov qauv los ntawm cov neeg siv khoom. Txwv tsis pub, piv txwv li, rho tawm cov ntaub ntawv, tus neeg siv khoom tuaj yeem tuav cov khoom uas tsis nyob hauv tus qauv, nrog rau cov teeb meem tom qab. Dab noj hnub daws qhov teeb meem no siv qee yam hu ua lis peev txheej. Kov ua raws li tus yuam sij (nws tsuas yog paub txog txoj hauv kev rau cov peev txheej hauv qhov chaw ua haujlwm) thiab tswj kev nkag mus rau cov khoom siv sab hauv, uas ncaj qha khaws cov ntaub ntawv hais txog lub xeev cov peev txheej. Qhov kev tsim no yog kev hloov pauv ntawm tus qauv
Rice. Daim duab 2 piav qhia txog qhov Handle/Body idiom raws li siv rau cov qauv kev pab. IResource interface sawv cev rau tus tuav ntawm cov peev txheej thiab yog API, tsis zoo li cov chav kawm Resource, uas siv qhov kev sib tshuam no, thiab chav kawm ResourceInfo, uas sawv cev rau lub cev, uas tsis yog APIs. Peb hais ntxiv tias tuav tsuas yog paub txog txoj hauv kev rau cov peev txheej txheeb ze rau qhov chaw ua haujlwm hauv paus thiab tsis muaj qhov txuas rau cov ntaub ntawv peev txheej. Cov ntaub ntawv xov xwm cov ntaub ntawv tsim ib lub npe hu ua "element tree". Cov ntaub ntawv no yog kiag li materialized nyob rau hauv lub cim xeeb. Txhawm rau nrhiav cov ntaub ntawv cov ntaub ntawv piv txwv cuam tshuam rau tus kov, lub caij ntoo yog hla raws li txoj hauv kev khaws cia hauv qhov kov.
Rice. 2. IResource thiab ResourceInfo
Raws li peb yuav pom tom qab, tus qauv tsim qauv ntawm cov peev txheej (peb yuav hu nws ua raws) yog siv hauv dab noj hnub rau lwm cov qauv thiab. Txog tam sim no, cia peb sau qee qhov tshwj xeeb ntawm qhov tsim no:
- Kov yog qhov khoom muaj nqis. Cov khoom muaj nqis yog cov khoom tsis hloov pauv uas nws qhov sib npaug tsis yog raws li tus kheej. Cov khoom zoo li no tuaj yeem siv nyab xeeb los ua tus yuam sij hauv cov thawv ntim khoom. Ntau qhov xwm txheej ntawm tus kov tuaj yeem siv tib yam khoom siv. Txhawm rau sib piv lawv, koj yuav tsum siv qhov sib npaug (Object) txoj kev.
- Kov txhais tus cwj pwm ntawm cov peev txheej, tab sis tsis muaj cov ntaub ntawv hais txog lub xeev ntawm cov peev txheej (tsuas yog cov ntaub ntawv nws khaws cia yog "tus yuam sij", txoj hauv kev rau cov peev txheej).
- Kov tuaj yeem xa mus rau cov peev txheej uas tsis muaj nyob (txawm yog ib qho peev txheej uas tseem tsis tau tsim, lossis cov peev txheej uas twb tau muab tshem tawm lawm). Qhov muaj nyob ntawm cov peev txheej tuaj yeem tshawb xyuas siv IResource.exists() txoj kev.
- Qee qhov kev ua haujlwm tuaj yeem ua tiav raws li cov ntaub ntawv khaws cia hauv tus kheej nkaus xwb (hu ua haujlwm nkaus xwb). Piv txwv li IRResource.getParent(), getFullPath(), thiab lwm yam. Cov peev txheej tsis tas yuav muaj nyob rau qhov haujlwm no kom ua tiav. Kev ua haujlwm uas xav tau cov peev txheej kom muaj nyob kom ua tiav tau pov CoreException yog tias tsis muaj peev txheej.
Dab noj hnub muab cov txheej txheem ua haujlwm tau zoo rau kev ceeb toom chaw ua haujlwm hloov chaw (Daim duab 3). Cov peev txheej tuaj yeem hloov pauv raws li qhov tshwm sim ntawm kev ua haujlwm hauv Eclipse IDE nws tus kheej lossis los ntawm kev sib txuas nrog cov ntaub ntawv kaw lus. Hauv ob qhov xwm txheej, cov neeg siv khoom uas sau npe rau cov ntawv ceeb toom tau muab cov ncauj lus kom ntxaws txog cov kev hloov pauv hauv daim ntawv ntawm "peev txheej deltas". Ib lub delta piav qhia txog kev hloov pauv ntawm ob lub xeev ntawm qhov chaw ua haujlwm (sub-) tsob ntoo thiab nws tus kheej yog tsob ntoo, txhua qhov ntawm cov lus piav qhia txog kev hloov pauv rau cov peev txheej thiab muaj cov npe ntawm deltas nyob rau qib tom ntej uas piav qhia txog kev hloov pauv rau cov peev txheej me me.
Rice. 3. IResourceChangeEvent thiab IResourceDelta
Cov txheej txheem ceeb toom raws li cov peev txheej deltas muaj cov yam ntxwv hauv qab no:
- Ib qho kev hloov pauv thiab ntau qhov kev hloov pauv tau piav qhia siv tib lub qauv, txij li lub delta yog tsim los ntawm lub hauv paus ntsiab lus ntawm recursive muaj pes tsawg leeg. Cov neeg siv khoom tuaj yeem ua cov ntawv ceeb toom hloov pauv siv cov qhovntsej thiaj tsis mob los ntawm tsob ntoo ntawm deltas.
- Lub delta muaj cov ntaub ntawv tiav txog kev hloov pauv rau cov peev txheej, suav nrog nws txoj kev txav mus los thiab / lossis kev hloov pauv hauv "cov cim" cuam tshuam nrog nws (piv txwv li, kev sib sau ua yuam kev yog sawv cev ua cov cim).
- Txij li thaum cov ntaub ntawv pov thawj tau tsim los ntawm tus kov, delta tuaj yeem siv ib qho chaw nyob deb.
Raws li peb yuav pom sai sai no, cov ntsiab lus tseem ceeb ntawm kev tsim cov peev txheej qauv hloov kev ceeb toom mechanism kuj tseem cuam tshuam rau lwm cov qauv ua qauv.
JDT Core
Eclipse workspace resource model yog ib hom lus tseem ceeb-agnostic qauv. JDT Core tivthaiv (plugin org.eclipse.jdt.core) muab ib qho API rau kev tshawb nrhiav thiab tshuaj xyuas qhov chaw ua haujlwm los ntawm qhov kev xav ntawm Java, lub npe hu ua "Java qauv" (Java qauv). Qhov API no tau txhais nyob rau hauv cov nqe lus ntawm Java ntsiab, as opposed to the underlying resource model API, uas yog txhais nyob rau hauv cov nqe lus ntawm folders thiab cov ntaub ntawv. Lub ntsiab interfaces ntawm Java element tsob ntoo yog qhia nyob rau hauv daim duab. 4.
Rice. 4. Java Model Elements
Tus qauv Java siv tib lub cev / lub cev idiom raws li cov qauv peev txheej (Daim duab 5). IJavaElement yog tus kov, thiab JavaElementInfo ua lub luag haujlwm ntawm lub cev. IJavaElement interface txhais cov txheej txheem sib xws rau txhua yam Java. Qee qhov ntawm nws txoj kev yog kov-tsuas yog: getElementName(), getParent(), thiab lwm yam. Cov khoom JavaElementInfo khaws lub xeev ntawm cov khoom sib xws: nws cov qauv thiab cov yam ntxwv.
Rice. 5. IJavaElement thiab JavaElementInfo
Tus qauv Java muaj qee qhov sib txawv hauv kev ua raws li qhov yooj yim kov / lub cev tsim piv rau cov qauv peev txheej. Raws li tau sau tseg saum toj no, hauv cov qauv peev txheej, cov khoom ntoo, uas nws cov nodes yog cov khoom siv ntaub ntawv, yog tag nrho hauv kev nco. Tab sis tus qauv Java tuaj yeem muaj cov ntsiab lus ntau dua li cov khoom siv ntoo, vim nws kuj sawv cev rau cov qauv sab hauv ntawm .java thiab .class cov ntaub ntawv: hom, teb, thiab cov txheej txheem.
Txhawm rau kom tsis txhob ua tiav tag nrho cov ntoo ntawm cov ntsiab lus hauv kev nco, Java qauv siv siv qhov loj me LRU cache ntawm cov ntaub ntawv keeb kwm, qhov tseem ceeb yog tuav IJavaElement. element info khoom yog tsim los ntawm kev thov raws li cov khoom ntoo yog navigated. Hauv qhov no, cov khoom siv tsawg tshaj plaws raug tshem tawm ntawm lub cache, thiab tus qauv siv lub cim xeeb tseem txwv rau qhov loj ntawm cache. Qhov no yog lwm qhov kom zoo dua ntawm kev tsim qauv tsim, uas zais tag nrho cov ntsiab lus ntawm kev siv los ntawm tus neeg siv khoom code.
Cov txheej txheem rau kev ceeb toom kev hloov pauv rau Java cov ntsiab lus feem ntau zoo ib yam li cov txheej txheem rau kev taug qab cov kev hloov pauv rau cov chaw ua haujlwm tau tham saum toj no. Ib tus neeg siv xav saib xyuas cov kev hloov pauv hauv Java qauv sau npe rau cov ntawv ceeb toom, uas yog sawv cev raws li ElementChangedEvent khoom uas muaj IJavaElementDelta (Daim duab 6).
Rice. 6. ElementChangedEvent thiab IJavaElementDelta
Tus qauv Java tsis muaj cov ntaub ntawv hais txog lub cev lossis lub npe daws teeb meem, yog li txhawm rau txheeb xyuas cov lej sau hauv Java, JDT Core muab tus qauv ntxiv (tsis yog-kho-raws li) qauv:
Vim hais tias cov ntoo syntax tuaj yeem haus ntau lub cim xeeb, JDT caches tsuas yog ib qho AST rau tus kws kho mob nquag. Tsis zoo li Java qauv, AST feem ntau pom tias yog "nruab nrab", "ntev" qauv, cov ntsiab lus ntawm cov neeg siv khoom yuav tsum tsis txhob tuav cov ntaub ntawv tawm sab nraud ntawm cov ntsiab lus ntawm kev ua haujlwm uas ua rau tsim AST.
Cov qauv peb teev (Java qauv, AST, bindings) ua ke tsim lub hauv paus rau kev tsim "cov cuab yeej kev txhim kho ntse" hauv JDT, suav nrog cov neeg tsim kho Java muaj zog nrog ntau "tus neeg pab", ntau yam kev ua rau kev ua cov cai (nrog rau kev teeb tsa cov npe ntawm cov khoom lag luam. npe thiab formatting raws li tus kheej style), nrhiav thiab refactoring cov cuab yeej. Hauv qhov no, tus qauv Java ua lub luag haujlwm tshwj xeeb, vim nws yog nws uas yog siv los ua lub hauv paus rau qhov pom kev sawv cev ntawm cov qauv ntawm daim ntawv thov raug tsim (piv txwv li, hauv Package Explorer, Outline, Nrhiav, Hu rau Hierarchy, thiab Hom Hierarchy).
Eclipse Cheebtsam siv nyob rau hauv 1C: Enterprise Developments Tools
Hauv daim duab. Daim duab 7 qhia txog dab noj hnub cov khoom uas tsim lub hauv paus ntawm lub tshuab thev naus laus zis rau 1C: Cov cuab yeej txhim kho kev lag luam.
Rice. 7. Dab Ntxwg Nyoog ua lub platform rau 1C: Cov cuab yeej txhim kho kev lag luam
Dab noj hnub Platform muab kev yooj yim infrastructure. Peb tau saib qee qhov ntawm cov txheej txheem no hauv ntu dhau los.
Zoo li txhua yam cuab yeej siv dav dav, EMF yog qhov tsim nyog rau kev daws teeb meem ntau yam ntawm cov qauv, tab sis qee cov chav kawm ntawm cov qauv (piv txwv li, cov qauv ua qauv sib tham saum toj no) yuav xav tau cov cuab yeej tsim qauv tshwj xeeb. Tham txog EMF yog ib txoj haujlwm ua tsaug, tshwj xeeb tshaj yog nyob rau hauv qhov txwv txwv ntawm ib tsab xov xwm, vim qhov no yog cov ntsiab lus ntawm phau ntawv cais, thiab ib qho tuab heev. Cia peb tsuas yog nco ntsoov tias qhov kev ua tau zoo ntawm cov txheej txheem dav dav hauv qab EMF tau tso cai yug me nyuam ntawm tag nrho cov haujlwm uas tau mob siab rau kev ua qauv, uas suav nrog hauv qhov project saum toj kawg nkaus.
1C: Cov cuab yeej txhim kho kev lag luam nquag siv ob qho tib si EMF nws tus kheej thiab ntau lwm yam dab noj hnub qauv ua haujlwm. Tshwj xeeb, Xtext yog ib lub hauv paus ntawm kev txhim kho cov cuab yeej rau xws li 1C: Cov Lus Lag Luam Ua Lag Luam raws li cov lus tsim thiab cov lus nug. Lwm lub hauv paus rau cov cuab yeej tsim kho no yog Eclipse Handly project, uas peb yuav tham txog ntau yam ntxiv (ntawm cov khoom siv dab noj hnub, nws tseem yog qhov paub tsawg tshaj plaws).
Cov hauv paus ntsiab lus ntawm cov qauv tsim qauv, xws li tus kov / lub cev lus, tau tham saum toj no siv cov qauv siv thiab cov qauv Java ua piv txwv. Nws kuj tau sau tseg tias ob qho tib si tus qauv peev txheej thiab tus qauv Java yog lub hauv paus tseem ceeb rau Eclipse Java development tools (JDT). Thiab txij li yuav luag tag nrho * DT Eclipse tej yaam num muaj ib tug architecture zoo ib yam li JDT, nws yuav tsis yog ib tug zoo exaggeration hais tias kov-raws li qauv underlie ntau, yog hais tias tsis yog tag nrho cov IDEs ua nyob rau sab saum toj ntawm Eclipse Platform. Piv txwv li, Eclipse C / C ++ Development Tooling (CDT) muaj tus qauv siv C / C ++ uas ua haujlwm tib lub luag haujlwm hauv CDT architecture li Java qauv ua hauv JDT.
Ua ntej Handly, Dab Ntxwg Nyoog tsis tau muab cov tsev qiv ntawv tshwj xeeb rau kev tsim cov qauv lus siv. Cov qauv uas muaj nyob tam sim no tau tsim los ntawm kev ncaj qha rau Java qauv code (aka theej / paste), nyob rau hauv rooj plaub uas nws tso cai Eclipse Public License (EPL). (Qhov tseeb, qhov no feem ntau tsis yog qhov teeb meem kev cai lij choj rau, hais tias, dab noj hnub cov phiaj xwm nws tus kheej, tab sis tsis yog rau cov khoom lag luam kaw.) Ntxiv rau nws qhov kev tsis txaus ntseeg, cov txheej txheem no qhia txog cov teeb meem paub zoo: code duplication qhia los ntawm thaum hloov mus rau qhov yuam kev, lwm. Dab tsi yog qhov phem tshaj yog tias cov qauv tsim nyob hauv "cov khoom hauv lawv tus kheej" thiab tsis txhob siv qhov zoo ntawm qhov muaj peev xwm rau kev sib koom ua ke. Tab sis kev cais cov tswv yim thiab cov txheej txheem rau cov qauv lus siv tau tuaj yeem ua rau kev tsim cov khoom siv rov qab siv tau rau kev ua haujlwm nrog lawv, zoo ib yam li qhov tshwm sim hauv EMF.
Tsis yog Eclipse tsis nkag siab cov teeb meem no. Rov qab rau xyoo 2005
Hauv qee qhov kev txiav txim siab, qhov project Handly yog tsim los daws cov teeb meem tib yam li EMF, tab sis rau cov qauv siv, thiab feem ntau cov lus sawv cev (piv txwv li, sawv cev ntawm cov qauv ntawm qee cov lus programming). Lub hom phiaj tseem ceeb tau teeb tsa thaum tsim Handly yog teev hauv qab no:
- Kev txheeb xyuas cov ntsiab lus tseem ceeb ntawm thaj chaw kawm.
- Txo kev siv zog thiab txhim kho qhov ua tau zoo ntawm kev siv cov qauv lus siv los ntawm kev siv code rov qab.
- Muab ib qho kev sib koom ua ke meta-level API rau cov qauv tsim, ua kom nws muaj peev xwm tsim cov IDE cov khoom sib xws uas ua haujlwm nrog cov qauv siv lus.
- Flexibility thiab scalability.
- Kev koom ua ke nrog Xtext (hauv ib txheej nyias).
Txhawm rau hais txog cov ntsiab lus sib xws thiab cov txheej txheem, cov kev siv uas twb muaj lawm ntawm cov qauv kev hais lus tau raug tshuaj xyuas. Lub ntsiab interfaces thiab cov kev siv yooj yim muab los ntawm Handly yog qhia hauv Fig. 8.
Rice. 8. Kev sib txuas ua ke thiab kev siv yooj yim ntawm Handly ntsiab
Lub IElement interface sawv cev rau tus tuav ntawm ib lub caij thiab yog ib yam rau cov ntsiab lus ntawm txhua tus qauv Handly-based. Cov chav kawm paub daws teeb meem Element siv cov txheej txheem dav dav / lub cev lub cev (Fig. 9).
Rice. 9. IElement thiab generic kov/lub cev siv
Tsis tas li ntawd, Handly muab cov txheej txheem dav dav rau kev ceeb toom txog kev hloov pauv hauv cov qauv (Daim duab 10). Raws li koj tuaj yeem pom, nws yog qhov dav zoo ib yam li cov txheej txheem ceeb toom tau siv hauv cov qauv peev txheej thiab cov qauv Java, thiab siv IElementDelta los muab kev sib koom ua ke ntawm cov ntaub ntawv hloov pauv.
Rice. 10. General interfaces thiab kev siv yooj yim ntawm Handly ceeb toom mechanism
Qhov Handly tau tham saum toj no (Daim duab 9 thiab 10) tuaj yeem siv los sawv cev yuav luag txhua tus qauv ua qauv. Rau kev tsim lus cov qauv, qhov project muaj kev ua haujlwm ntxiv - tshwj xeeb, kev sib cuam tshuam thiab kev siv yooj yim rau cov ntsiab lus ntawm cov qauv ntawv, lub npe hu ua qhov chaw (Daim duab 8). ISourceFile interface sawv cev rau cov ntaub ntawv qhov chaw, thiab ISourceConstruct sawv cev rau cov khoom hauv cov ntaub ntawv. Cov chav kawm paub daws teeb meem SourceFile thiab SourceConstruct siv cov txheej txheem dav dav los txhawb kev ua haujlwm nrog cov ntaub ntawv hauv qhov chaw thiab lawv cov ntsiab lus, piv txwv li, ua haujlwm nrog cov ntawv tsis sib xws, khi rau cov kev sib koom ua ke ntawm cov ntsiab lus hauv cov ntawv nyeem, sib koom ua qauv nrog cov ntsiab lus tam sim no ntawm cov ntawv ua haujlwm tsis zoo. , lwm. Kev ua raws li cov txheej txheem no feem ntau yog ib qho kev sib tw, thiab Handly tuaj yeem txo qhov kev siv zog ntawm kev tsim cov qauv lus siv los ntawm kev muab cov kev siv tau zoo.
Ntxiv nrog rau cov txheej txheem tseem ceeb uas tau teev tseg saum toj no, Handly muab cov txheej txheem rau cov ntawv nyeem buffers thiab snapshots, kev txhawb nqa rau kev koom ua ke nrog cov code editors (suav nrog kev sib koom ua ke tawm ntawm lub thawv nrog Xtext editor), nrog rau qee qhov sib xyaw UI uas. Ua hauj lwm nrog cov code editors, Handly qauv xws li cov qauv txheej txheem. Txhawm rau piav qhia nws lub peev xwm, qhov project muab ntau yam piv txwv, suav nrog kev siv Java qauv hauv Handly. (Piv rau tag nrho qhov kev siv ntawm Java qauv hauv JDT, tus qauv no yog txhob txwm ua me ntsis yooj yim dua kom pom tseeb dua.)
Raws li tau sau tseg ua ntej, lub hom phiaj tseem ceeb ntawm Handly qhov pib tsim thiab kev txhim kho tom ntej yog thiab txuas ntxiv mus rau qhov scalability thiab yooj.
Nyob rau hauv txoj cai, kov-raws li qauv ntsuas tau zoo heev "los ntawm kev tsim". Piv txwv li, tus kov / lub cev idiom tso cai rau koj los txwv tus nqi ntawm lub cim xeeb noj los ntawm tus qauv. Tab sis kuj muaj nuances. Yog li, thaum kuaj Handly rau scalability, ib qho teeb meem tau pom nyob rau hauv qhov kev siv ntawm lub ceeb toom mechanism - thaum ib tug loj tus naj npawb ntawm cov ntsiab lus tau hloov, tsim deltas siv sij hawm ntau heev. Nws muab tawm tias tib qhov teeb meem tau tshwm sim nyob rau hauv JDT Java qauv, los ntawm qhov sib thooj code tau hloov kho ib zaug. Peb kho cov kab laum hauv Handly thiab npaj ib thaj chaw zoo sib xws rau JDT, uas tau txais txiaj ntsig zoo. Qhov no tsuas yog ib qho piv txwv uas qhia Handly rau hauv cov qauv siv uas twb muaj lawm tuaj yeem muaj txiaj ntsig zoo, vim hais tias nyob rau hauv cov ntaub ntawv no xws li kab laum tuaj yeem kho hauv ib qho chaw xwb.
Txhawm rau ua kom siv Handly rau hauv cov qauv siv uas twb muaj lawm technically ua tau, lub tsev qiv ntawv yuav tsum muaj qhov yooj yim. Qhov teeb meem tseem ceeb yog tswj kev rov qab sib raug zoo thoob plaws API qauv. Qhov teeb meem no tau daws nyob rau hauv
Flexibility kuj muaj lwm yam. Piv txwv li, Handly imposes yuav luag tsis muaj kev txwv rau cov qauv ntawm cov qauv thiab tuaj yeem siv los ua qauv ob qho tib si hom lus thiab hom lus tshwj xeeb. Thaum tsim cov qauv ntawm cov ntaub ntawv qhov chaw, Handly tsis tau sau ib daim ntawv tshwj xeeb ntawm AST tus sawv cev thiab, hauv paus ntsiab lus, tsis txawm xav kom muaj AST nws tus kheej, yog li ua kom muaj kev sib raug zoo nrog yuav luag txhua qhov kev sib cais. Thaum kawg, Handly txhawb nqa tag nrho kev koom ua ke nrog Eclipse workspace, tab sis kuj tuaj yeem ua haujlwm ncaj qha nrog cov ntaub ntawv ua tsaug rau nws kev koom ua ke nrog
Version tam sim no
Raws li tau sau tseg saum toj no, ib qho ntawm cov khoom no yog 1C: Cov Cuab Yeej Txhim Kho Kev Lag Luam, qhov twg Handly yog siv los ntawm qhov pib ua qauv ntawm cov qauv qib siab ntawm xws li 1C: Cov Lus Lag Luam ua cov lus tsim thiab cov lus nug. . Lwm yam khoom tsis tshua paub rau cov pej xeem. Qhov no
Peb cia siab tias tom qab tso tawm version 1.0 nrog kev lees paub ntawm API ruaj khov thiab qhov project tawm hauv lub xeev incubation, Handly yuav muaj cov neeg siv tshiab. Nyob rau hauv lub sijhawm no, qhov project tseem sim thiab txhim kho API ntxiv, tso ob "loj" tso tawm ib xyoos ib zaug - thaum Lub Rau Hli (tib lub hnub qub raws li kev tso tawm ib txhij Eclipse) thiab Kaum Ob Hlis, muab lub sijhawm kwv yees uas cov neeg siv yuav vam khom. Peb tseem tuaj yeem ntxiv tias qhov project "tus kab laum" tseem nyob rau theem qis tsis tu ncua thiab Handly tau ua haujlwm muaj kev ntseeg siab hauv cov khoom ntawm cov neeg siv khoom thaum ntxov txij li thawj cov qauv. Txhawm rau txhawm rau tshawb Eclipse Handly ntxiv, koj tuaj yeem siv
Tau qhov twg los: www.hab.com