8 սխալ, որ թույլ տվեցինք (և ինչպես դրանք ONLYOFFICE-ն ավելի լավը դարձրին)
Տասնվեց տարին երկար ժամանակ է ծրագրային ապահովում ստեղծելու համար։ Եվ եթե անկեղծ լինենք, առաջին իսկ փորձից ամեն ինչ ճիշտ չարեցինք։
Մեր 16-ամյակին նվիրված շարքի շրջանակում ցանկանում ենք կիսվել մի փոքր այլ պատմությամբ։ Ոչ թե մեր հաջողությունների ցանկով, այլ այն սխալներով, որոնք թույլ տվեցինք այդ ճանապարհին, և թե ինչպես դրանցից յուրաքանչյուրը մեզ մղեց ստեղծելու ավելի լավ արտադրանք։ Քանի որ իրականությունն այն է, որ ONLYOFFICE-ը ստեղծվել է զրոյից, մեր թիմի կողմից, սեփական ուժերով, և այդ թիմը սովորում էր աշխատանքի ընթացքում։ Յուրաքանչյուր սխալ քայլ մեզ արժեքավոր դաս տվեց, որի արդյունքից այսօր օգտվում են մեր ավելի քան 21 միլիոն օգտատերերը։

1. Խմբագրման գործընթացը պլագինի միջոցով սկսելը
Սկզբնական շրջանում՝ մոտ 2010 թվականին, մեր առաջին փաստաթղթերի խմբագրման լուծումը հիմնված էր OpenOffice-ի վրա։ Փաստաթուղթ խմբագրելու համար անհրաժեշտ էր ներբեռնել պլագին, բացել ֆայլը, ապա պահպանել այն և կրկին վերբեռնել պորտալ։
Այն աշխատում էր։ Ինչ-որ չափով։ Բայց բեռնումը շատ ժամանակ էր պահանջում, արդյունքները միշտ կանխատեսելի չէին, և ամբողջ գործընթացն ավելի շատ ժամանակավոր լուծում էր հիշեցնում, քան լիարժեք արտադրանք։ Բացի այդ, յուրաքանչյուր օգտատեր պետք է իր համակարգչում լրացուցիչ ծրագրային ապահովում տեղադրեր, որպեսզի կարողանար սկսել աշխատանքը։
Ինչ սովորեցինք։ Փաստաթղթերի խմբագրման հարմարավետ փորձը պետք է հասանելի լինի անմիջապես բրաուզերում, առանց ավելորդ քայլերի և անհարմարությունների։ Հենց այս գիտակցումն էլ ձևավորեց այն ուղղությունը, որով հետագայում զարգացրինք ONLYOFFICE-ը։

2. Խմբագրերի ստեղծումը CKEditor-ի և DOM արտապատկերման հիման վրա
Հաջորդ քայլով փորձեցինք ստեղծել մեր խմբագրերն, օգտագործելով CKEditor-ը և DOM արտապատկերումը, այդ թվում աղյուսակների խմբագրի համար։ Խնդիրը հետևյալն էր՝ յուրաքանչյուր բրաուզերի բովանդակությունը տարբեր կերպ էր արտապատկերում։ Այն, ինչ տեսնում էիք էկրանին, միշտ չէ, որ նույն տեսքն ուներ տպելիս։ Մեծ ֆայլերի դեպքում աշխատանքը զգալիորեն դանդաղում էր, իսկ հիշողության սահմանափակումները գրեթե անհնար էին դարձնում ծավալուն փաստաթղթերի հետ արդյունավետ աշխատանքը։
Ինչ սովորեցինք։ Մենք պետք է լիարժեք վերահսկեինք, թե ինչպես են փաստաթղթերը ցուցադրվում և տպագրվում, անկախ օգտագործվող բրաուզերի կամ սարքից։ Հենց այդ պատճառով դարձանք առաջիններից մեկը, ով առցանց խմբագրեր ստեղծեց, օգտագործելով HTML5 Canvas տարրը։ Արդյունքում օգտատերերը ստացան կայուն, կանխատեսելի և նույնական արդյունքներ՝ անկախ նրանից, թե որտեղից են աշխատում։
3. Աղյուսակների բանաձևերի հաշվարկը սերվերի վրա
Ահա ևս մեկ օրինակ։ Մեր առաջին աղյուսակային խմբագրում բանաձևերի հաշվարկը կատարվում էր սերվերի վրա, իսկ օգտատիրոջ բրաուզերում ցուցադրվում էին միայն արդյունքները։ Տեսականորեն սա արդյունավետ լուծում էր թվում, սակայն գործնականում այն առաջացնում էր ուշացումներ և սահմանափակում էր աշխատանքի ինտերակտիվությունը։
Ինչ սովորեցինք։ Աղյուսակների հետ աշխատելիս օգտատերերն ակնկալում են ակնթարթային արձագանք։ Հաշվարկները հնարավորինս մոտ տեղափոխելով օգտատիրոջ սարքին, մենք խմբագրիչը դարձրինք ավելի արագ, ավելի արձագանքող և առավել հարմար ամենօրյա աշխատանքի համար։

4. Սերվերում .NET-ի և C#-ի օգտագործումը
Սա մեր զարգացման ամենակարևոր շրջադարձային պահերից մեկն էր։ Սկզբնական շրջանում մեր խմբագրերի սերվերային մասը կառուցեցինք .NET-ի և C#-ի հիման վրա, քանի որ դեռևս բավարար փորձ չունեինք հասկանալու, թե որ տեխնոլոգիական լուծումն է լավագույնս համապատասխանում մեր նպատակներին։
Շատ արագ պարզ դարձավ, որ այս մոտեցումը մեզ համար ճիշտ ընտրություն չէր։ Այն չէր աշխատում Linux-ում, նույնիսկ Windows-ում չէր ապահովում ցանկալի արագագործությունը, իսկ մեծ թվով միաժամանակյա կապերի սպասարկումը դժվարությամբ էր իրականացվում։
Այդ պատճառով համարձակ որոշում կայացրինք և ամբողջությամբ վերագրեցինք սերվերը, օգտագործելով Node.js-ը։ Այդ ժամանակ այն դեռ նոր և փորձարարական տեխնոլոգիա էր, և ոչ բոլորն էին կարծում, որ դա ճիշտ քայլ է։ Սակայն մեր սեփական ուսումնասիրություններն ու փորձարկումները ցույց տվեցին հակառակը։ Արդյունքում մենք զրոյից վերակառուցեցինք ամբողջ սերվերային ենթակառուցվածքը։
Ինչ սովորեցինք։ Երբեմն ամենահամարձակ որոշումը ամեն ինչ նորից սկսելն է։ Սերվերի վերակառուցումը ONLYOFFICE-ին ապահովեց այն արագությունը, կայունությունը և բազմահարթակ ճկունությունը, որոնց վրա այսօր աշխատում են մեր օգտատերերը։ Ոչ պակաս կարևոր է նաև այն, որ այս փորձը մեզ օգնեց հետագայում, DocSpace-ը մշակելիս, ընդունել ավելի ճիշտ ճարտարապետական որոշումներ և չկրկնել նույն սխալները։
5. Հիմնվել սեփական DOCXF և OFORM ձևաչափերի վրա
Լրացվող ձևաթղթերի հետ աշխատելու համար 2022 թվականին ներկայացրինք մեր սեփական ձևաչափերը՝ DOCXF-ը և OFORM-ը։ Այդ ժամանակ այս գաղափարը լիովին հիմնավորված էր թվում, սակայն մարդկանց սովորությունները փոխելը հեշտ չէ։ Օգտատերերին անծանոթ ձևաչափեր օգտագործելու առաջարկն ավելորդ բարդություններ էր ստեղծում այնտեղ, որտեղ մենք ցանկանում էինք ապահովել առավելագույն պարզություն։
Այդ պատճառով անցում կատարեցինք PDF ձևաչափին՝ մի ձևաչափի, որը բոլորին արդեն ծանոթ է և վայելում է լայն վստահություն։
Ինչ սովորեցինք։ Ավելի արդյունավետ է հարմարվել օգտատերերի արդեն ձևավորված աշխատանքային սովորություններին, քան ակնկալել, որ նրանք կհարմարվեն մեզ։ Այժմ կարող եք ստեղծել և լրացնել PDF ձևաթղթեր, օգտագործելով ծանոթ, ինտուիտիվ և անմիջապես հասկանալի գործիքներ։

6. Մեկնարկը՝ առանց բնիկ բջջային հավելվածի
Որոշ ժամանակ ONLYOFFICE-ը չուներ բնիկ բջջային հավելվածներ։ Այո՛, մենք առաջարկում էինք հարմարվող ինտերֆեյս, սակայն դա բավարար չէր։ Օգտատերերը ցանկանում էին իրենց հեռախոսների և պլանշետների համար հատուկ մշակված, լիարժեք աշխատանքային փորձ։
Ինչ սովորեցինք։ Հարմարվող դիզայնը լավ սկիզբ է, բայց ճանապարհին աշխատելու համար մարդիկ նախընտրում են իրական բնիկ հավելվածներ։ Այսօր կարող եք օգտվել մեր անվճար iOS և Android հավելվածներից, փաստաթղթերի հետ աշխատելով ցանկացած վայրում և ցանկացած ժամանակ։

7. Հանրային API-ի բացակայությունը սկզբնական փուլում
Սկզբում մենք չէինք առաջարկում հանրային API։ Հետադարձ հայացքով պարզ է, որ դա բաց թողնված հնարավորություն էր։ Հասկանալի և հարմար API-ն հնարավորություն է տալիս հեշտությամբ ինտեգրել ONLYOFFICE-ն արդեն օգտագործվող գործիքների հետ, իսկ ինտեգրումները մեր էկոհամակարգի կարևոր բաղադրիչներից են։
Ինչ սովորեցինք։ Բաց լինելը նպաստում է զարգացմանը։ Երբ ստեղծեցինք պարզ և հասանելի API, ծրագրավորողներն ու տարբեր հարթակները կարողացան հեշտությամբ ինտեգրել ONLYOFFICE-ն իրենց լուծումներում։ Մենք շարունակում ենք ընդլայնել API-ի հնարավորությունները և յուրաքանչյուր նոր թողարկմամբ այն դարձնել ավելի հարմար օգտագործման համար։

8. Ինտեգրումների համար նախապես չպլանավորելը
Մեր վերջին դասը սերտորեն կապված է նախորդի հետ։ Եթե ցանկանում եք, որ այլ հավելվածներ հեշտությամբ ինտեգրվեն ձեր արտադրանքին և ընդլայնեն դրա հնարավորությունները, անհրաժեշտ է այդպիսի «հարթակային» հնարավորությունները նախատեսել դեռևս նախագծման վաղ փուլում։ Մեր զարգացման սկզբնական տարիներին մենք միշտ չէ, որ այդպես էինք վարվում։
Ինչ սովորեցինք։ Եթե ինտեգրման հնարավորությունները նախատեսվում են հենց սկզբից, հետագայում կարելի է խնայել հսկայական ժամանակ և ջանք։ Հենց այս մոտեցմամբ էլ այսօր զարգացնում ենք ONLYOFFICE DocSpace-ը, նախագծելով այն այնպես, որ այն սահուն աշխատի այն գործիքների հետ, որոնց վրա թիմերն արդեն ապավինում են։
Ինչ սովորեցրին մեզ այս բոլոր սխալները
Հետադարձ հայացք գցելով հստակ օրինաչափություն է երևում։ Այս բոլոր սխալներն ունեին նույն պատճառը. թիմ, որը կառուցում էր ամեն ինչ զրոյից, առանց կարճ ճանապարհների և առանց որևէ մեկի պատրաստի փորձի կամ ուղեցույցի վրա հիմնվելու։
Ահա թե ինչ տվեցին մեզ այդ տարիների փորձերն ու սխալները՝
- համարձակություն վերակառուցելու այն ամենը, ինչը չէր համապատասխանում մեր չափանիշներին,
- բրաուզերից սկսվող նվիրվածություն այնպիսի աշխատանքային փորձ ստեղծելուն, որը մեր օգտատերերն արդեն գնահատում են,
- բաց և ծրագրավորողների համար հարմար մոտեցում, որի հիման վրա այսօր աշխատում են ավելի քան 40 ինտեգրումներ,
- սովորություն լսելու օգտատերերին և հարմարվելու նրանց իրական կարիքներին։
Մենք այստեղ չհասանք կատարյալ լինելու շնորհիվ։ Մենք հասանք այստեղ, սովորելու պատրաստ լինելու շնորհիվ։
Ճանապարհը շարունակվում է
Տասնվեց տարի և ավելի քան 21 միլիոն օգտատեր անց, մենք հպարտ ենք այն ճանապարհով, որն անցել է ONLYOFFICE-ը, և անկեղծորեն ընդունում ենք նաև այն դժվարությունները, որոնց հանդիպեցինք ճանապարհին։ Յուրաքանչյուր սխալ մեզ ավելի լավը դարձրեց, իսկ յուրաքանչյուր լուծում մեզ ավելի մոտեցրեց այն արտադրանքին, որին արժանի են մեր օգտատերերը։ Ավելի լավը դառնալու այս ձգտումը մինչ օրս չի թուլացել։
Ցանկանո՞ւմ եք տեսնել, թե ուր հասցրեցին մեզ այս բոլոր դասերը։ Բացահայտեք ONLYOFFICE-ի 16-ամյակին նվիրված ամբողջական շարքը և ծանոթացեք այն կարևոր փուլերին, որոշումներին ու պահերին, որոնք ձևավորեցին մեզ այնպիսին, ինչպիսին ենք այսօր։
Ստեղծել ձեր անվճար ONLYOFFICE հաշիվը
Դիտում, խմբագրում և համագործակցում փաստաթղթերում, աղյուսակաթերթերում, սլայդներում, ձևաթղթերում և PDF ֆայլերում:


