рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рд╕рдВрдкрд╛рджрдХ - Vue.js рдФрд░ MxGraph рдХреЗ рдмреАрдЪ рджреЛрд╕реНрддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ?


рдореИрдВ рдПрдХ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдПрдХ рдлреБрд▓рд╕реНрдЯреИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдФрд░ рдЕрдореВрд▓реНрдп рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЛрдбрд╝рдкрддрд┐ рдмрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдмреИрдХрдПрдВрдб рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП MongoDB рдХреЛ рдЪреБрдирд╛, рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдХреНрд╖реЗрддреНрд░ рд╕рдВрдмрдВрдзреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛ред

рд▓реЗрдХрд┐рди рдореИрдВ NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрд╛рдордЭрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реНрдХреАрдорд╛ рд╕рдВрдкрд╛рджрдХ рдХреА рдХрдореА рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред

- рдирд╣реАрдВ? рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░реВрдБрдЧрд╛, рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдвреВрдВрдвреВрдБрдЧрд╛ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрдмрд╛рдж рдХрд░реВрдБрдЧрд╛!
рдлреБрд▓рд╕реНрдЯреИрдХ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
- Naive ... - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╣реБрдЖред

рдЦреЛрдЬ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ!
рджреВрд╕рд░реЗ, рдЬреЛ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рд╡реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдирд╣реАрдВ рдЪрдордХрддреЗ рд╣реИрдВ рдпрд╛ рдмрдЧ рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВ!

рддреАрд╕рд░реЗ рдореЗрдВ MxGraph рдкрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдкрд░ рдЙрддреНрдХреГрд╖реНрдЯ draw.io рд╕реЗрд╡рд╛ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдпрд╣ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИред

рд╡рд┐рдЪрд╛рд░


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдиреЗ Vue.js рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ - рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓-рд╢реИрд▓реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ред

MxGraph рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ BPM, рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдореИрдкрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рджреВрд░рд╕рдВрдЪрд╛рд░, рдореИрдкрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ GIS, UML рдЖрд░реЗрдЦ, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕рд░реНрдХрд┐рдЯ, VLSI, CAD, рд╡рд┐рддреНрддреАрдп рдФрд░ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ, рд╕рдВрдЧрдардирд╛рддреНрдордХ рдЪрд╛рд░реНрдЯ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рджреГрд╢реНрдп рдФрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред

рдЕрдиреБрдХреВрд▓рддрд╛


MxGraph рдПрдХ рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ (рд▓реЗрдХрд┐рди рдЕрдкреНрд░рдЪрд▓рд┐рдд рдирд╣реАрдВ) рдЙрдкрдХрд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдБ Vue рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг npm рдкреВрд░реНрдг рдЕрдиреБрдХреВрд▓рддрд╛ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЦреЛрджрдирд╛ рдФрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдЦреЛрд▓рдирд╛ рдерд╛ред

рдкреАрдбрд╝рд┐рдд рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛


Vue рдШрдЯрдХ рдореЗрдВ рдЖрдпрд╛рдд рдФрд░ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

<script> import mxgraph from 'mxgraph'; //            const graphConfig = { mxBasePath: '/mx/', //the path in mxClient.basePath. mxImageBasePath: '/mx/images', // the path in mxClient.imageBasePath. mxLanguage: 'en', // the language for resources in mxClient.language. mxDefaultLanguage: 'en', // the default language in mxClient.defaultLanguage. mxLoadResources: false, // if any resources should be loaded. Default is true. mxLoadStylesheets: false, // if any stylesheets should be loaded. Default is true }; const { mxClient, mxUtils, mxEvent, mxEditor, mxRectangle, mxGraph, mxGeometry, mxCell, mxImage, mxDivResizer, mxObjectCodec, mxCodecRegistry, mxConnectionHandler } = mxgraph(graphConfig); window.mxClient = mxClient; window.mxUtils = mxUtils; window.mxRectangle = mxRectangle; window.mxGraph = mxGraph; window.mxEvent = mxEvent; window.mxGeometry = mxGeometry; window.mxCell = mxCell; window.mxImage = mxImage; window.mxEditor = mxEditor; window.mxDivResizer = mxDivResizer; window.mxObjectCodec = mxObjectCodec; window.mxCodecRegistry = mxCodecRegistry; window.mxConnectionHandler = mxConnectionHandler; var editor; // CustomUserObject window.CustomUserObject = function (name, type) { this.name = name || 'New Name'; this.type = type || 'New Type'; this.clone = function () { return mxUtils.clone(this); }; }; export default { // vue logic } </script> 

рдЖрдкрдиреЗ рдЪрд░ рдХреНрдпреЛрдВ рдмрдирд╛рдП, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рднреА рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛!


рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдФрд░ mxgraph рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ mxgraph рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд mxEditor рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

рдФрд░ рдХреНрдпреЛрдВ рд╕рдВрдкрд╛рджрдХ рдЪрд░ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдпрд╛!


рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╣рдо рд╣рдореЗрд╢рд╛ mxgraph рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рдХрд╛рд░рдг vue рд╡реИрд░рд┐рдПрдмрд▓ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪ рдкрд╛рдПрдВрдЧреЗред рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕рдордп рдФрд░ рдореБрдЯреНрдареА рднрд░ рдирд╕реЛрдВ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ред

рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ?!


Mxgraph рдирдП рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЦрд┐рдбрд╝рдХреА рдкрд░ рднреА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред

рдЖрдЧреЗ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореБрдЭреЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрджрд░реНрд╢ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рд╕рдВрдЧрддрддрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдХреНрдпрд╛ рд╣реБрдЖ?


рдореЙрдбрд▓рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ: nosqldbm.ru
рдЬреЛ рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкреНрд░рдХрд╛рд╢рди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗред

рдлреБрд▓ рдЧрд┐рдЯ рдЙрджрд╛рд╣рд░рдг

рдХреЛрд╖

MxGraph рдЪрдпрди

рдХреЛрд╖
рдЫреЛрдЯрд╛ рдЧрд╛рдЗрдб
рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕
рдЙрджрд╛рд╣рд░рдг

Source: https://habr.com/ru/post/hi474094/


All Articles