Excalidraw প্রকল্প কেন ওয়েব সংস্করণের পক্ষে তাদের ইলেক্ট্রন র্যাপারকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছে তা জানুন।
Excalidraw প্রকল্পে , আমরা Excalidraw ডেস্কটপ , Excalidraw-এর জন্য একটি ইলেক্ট্রন র্যাপারকে বাতিল করার সিদ্ধান্ত নিয়েছি, যা আপনি excalidraw.com- এ খুঁজে পেতে পারেন—এবং সর্বদাই পারেন—ওয়েব সংস্করণের পক্ষে। সতর্কতার সাথে বিশ্লেষণ করার পর, আমরা সিদ্ধান্ত নিয়েছি যে প্রগ্রেসিভ ওয়েব অ্যাপ (PWA) হল ভবিষ্যত যা আমরা গড়ে তুলতে চাই। কেন তা জানতে পড়ুন।
কিভাবে Excalidraw ডেস্কটপ তৈরি হল
@vjeux জানুয়ারী 2020-এ Excalidraw-এর প্রাথমিক সংস্করণ তৈরি করার এবং এটি সম্পর্কে ব্লগ করার পরপরই, তিনি ইস্যু #561- এ নিম্নলিখিতটি প্রস্তাব করেছিলেন:
Excalidraw কে ইলেক্ট্রন (বা সমতুল্য) মধ্যে মোড়ানো এবং এটিকে বিভিন্ন অ্যাপ স্টোরে একটি [প্ল্যাটফর্ম-নির্দিষ্ট] অ্যাপ্লিকেশন হিসাবে প্রকাশ করা দুর্দান্ত হবে।
@voluntadpear- এর তাত্ক্ষণিক প্রতিক্রিয়াটি পরামর্শ দেওয়া হয়েছিল:
পরিবর্তে এটি একটি PWA তৈরি সম্পর্কে কি? অ্যান্ড্রয়েড বর্তমানে এগুলিকে বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হিসেবে প্লে স্টোরে যুক্ত করা সমর্থন করে এবং আশা করি iOS শীঘ্রই একই কাজ করবে৷ ডেস্কটপে, Chrome আপনাকে PWA-তে একটি ডেস্কটপ শর্টকাট ডাউনলোড করতে দেয়।
@vjeux শেষ পর্যন্ত যে সিদ্ধান্ত নিয়েছিল তা সহজ ছিল:
আমাদের উভয়ই করা উচিত :)
এক্সক্যালিড্রের সংস্করণকে পিডব্লিউএ-তে রূপান্তরের কাজ শুরু করার সময় @voluntadpear এবং পরে অন্যরা, @lipis স্বাধীনভাবে এগিয়ে গিয়ে Excalidraw ডেস্কটপের জন্য একটি পৃথক রেপো তৈরি করেছে।
আজ অবধি, @vjeux-এর দ্বারা নির্ধারিত প্রাথমিক লক্ষ্য, অর্থাৎ, বিভিন্ন অ্যাপ স্টোরে Excalidraw জমা দেওয়ার, এখনও পর্যন্ত পৌঁছানো যায়নি। সত্যি বলতে, কেউ কোনো দোকানে জমা দেওয়ার প্রক্রিয়া শুরু করেনি। কিন্তু কেন এমন হল? আমি উত্তর দেওয়ার আগে, আসুন ইলেক্ট্রন, প্ল্যাটফর্মের দিকে তাকাই।
ইলেকট্রন কি?
ইলেক্ট্রনের অনন্য বিক্রয় পয়েন্ট হল এটি আপনাকে "জাভাস্ক্রিপ্ট, এইচটিএমএল এবং সিএসএস দিয়ে ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ তৈরি করতে" দেয়। ইলেক্ট্রন দিয়ে তৈরি অ্যাপগুলি "ম্যাক, উইন্ডোজ এবং লিনাক্সের সাথে সামঞ্জস্যপূর্ণ" , অর্থাৎ, "ইলেক্ট্রন অ্যাপগুলি তিনটি প্ল্যাটফর্মে তৈরি এবং চালানো হয়" । হোমপেজ অনুসারে, ইলেক্ট্রন যে কঠিন অংশগুলিকে সহজ করে তোলে তা হল স্বয়ংক্রিয় আপডেট , সিস্টেম-স্তরের মেনু এবং বিজ্ঞপ্তি , ক্র্যাশ রিপোর্টিং , ডিবাগিং এবং প্রোফাইলিং এবং উইন্ডোজ ইনস্টলার । দেখা যাচ্ছে, কিছু প্রতিশ্রুত বৈশিষ্ট্যের জন্য ছোট মুদ্রণের বিশদ বিবরণ প্রয়োজন।
উদাহরণস্বরূপ, স্বয়ংক্রিয় আপডেটগুলি "[বর্তমানে] শুধুমাত্র [সমর্থিত] macOS এবং Windows এ। Linux-এ স্বয়ংক্রিয়-আপডেটারের জন্য কোনও অন্তর্নির্মিত সমর্থন নেই, তাই আপনার অ্যাপ আপডেট করতে বিতরণের প্যাকেজ ম্যানেজার ব্যবহার করার পরামর্শ দেওয়া হচ্ছে" ।
ডেভেলপাররা
Menu.setApplicationMenu(menu)
কল করে সিস্টেম-স্তরের মেনু তৈরি করতে পারেন। উইন্ডোজ এবং লিনাক্সে, মেনুটি প্রতিটি উইন্ডোর শীর্ষ মেনু হিসাবে সেট করা হবে, যখন macOS-এ অনেকগুলি সিস্টেম-সংজ্ঞায়িত স্ট্যান্ডার্ড মেনু রয়েছে, যেমন পরিষেবা মেনু। একজনের মেনুকে একটি স্ট্যান্ডার্ড মেনুতে পরিণত করতে, ডেভেলপারদের তাদের মেনুরrole
সেই অনুযায়ী সেট করা উচিত এবং ইলেক্ট্রন তাদের চিনবে এবং সেগুলিকে আদর্শ মেনুতে পরিণত করবে। এর মানে হল যে অনেক মেনু-সম্পর্কিত কোড নিম্নলিখিত প্ল্যাটফর্ম চেক ব্যবহার করবে:const isMac = process.platform === 'darwin'
।উইন্ডোজ ইনস্টলার উইন্ডোজ-ইনস্টলার দিয়ে তৈরি করা যেতে পারে। প্রজেক্টের README হাইলাইট করে যে "একটি প্রোডাকশন অ্যাপের জন্য আপনাকে আপনার অ্যাপ্লিকেশানে সাইন করতে হবে৷ ইন্টারনেট এক্সপ্লোরারের স্মার্টস্ক্রিন ফিল্টার আপনার অ্যাপটিকে ডাউনলোড করা থেকে ব্লক করবে, এবং অনেক অ্যান্টি-ভাইরাস বিক্রেতারা আপনার অ্যাপটিকে ম্যালওয়্যার হিসাবে বিবেচনা করবে যদি না আপনি একটি বৈধ শংসাপত্র না পান" [sic]৷
এই তিনটি উদাহরণের দিকে তাকালে, এটা স্পষ্ট যে ইলেক্ট্রন "একবার লিখুন, সর্বত্র চালান" থেকে অনেক দূরে। অ্যাপ স্টোরে একটি অ্যাপ বিতরণ করার জন্য কোড সাইনিং প্রয়োজন, অ্যাপের মালিকানা প্রত্যয়িত করার জন্য একটি নিরাপত্তা প্রযুক্তি। একটি অ্যাপ প্যাকেজ করার জন্য ইলেকট্রন-ফোরজের মতো টুল ব্যবহার করা এবং অ্যাপ আপডেটের জন্য প্যাকেজগুলি কোথায় হোস্ট করা যায় সে সম্পর্কে চিন্তা করা প্রয়োজন। এটি তুলনামূলকভাবে দ্রুত জটিল হয়ে যায়, বিশেষ করে যখন উদ্দেশ্যটি সত্যিকারের ক্রস প্ল্যাটফর্ম সমর্থন হয়। আমি লক্ষ্য করতে চাই যে যথেষ্ট প্রচেষ্টা এবং উত্সর্গের সাথে অত্যাশ্চর্য ইলেক্ট্রন অ্যাপ তৈরি করা একেবারেই সম্ভব। Excalidraw ডেস্কটপের জন্য, আমরা সেখানে ছিলাম না।
যেখানে Excalidraw ডেস্কটপ ছেড়ে গেছে
Excalidraw ডেস্কটপ এখন পর্যন্ত মূলত Excalidraw ওয়েব অ্যাপটি একটি .asar
ফাইল হিসেবে বান্ডিল করা হয়েছে এবং একটি Excalidraw উইন্ডোর সাথে যুক্ত হয়েছে। অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতি প্রায় ওয়েব সংস্করণের অনুরূপ।


macOS-এ, এখন অ্যাপ্লিকেশনের শীর্ষে একটি সিস্টেম-স্তরের মেনু রয়েছে, কিন্তু যেহেতু মেনু অ্যাকশনগুলির কোনওটিই - ক্লোজ উইন্ডো এবং অ্যাবাউট এক্সক্যালিড্রা ছাড়া - কোনও কিছুর সাথে সংযুক্ত নেই, তাই মেনুটি বর্তমান অবস্থায় বেশ অকেজো৷ ইতিমধ্যে, সমস্ত ক্রিয়া অবশ্যই নিয়মিত Excalidraw টুলবার এবং প্রসঙ্গ মেনুর মাধ্যমে সঞ্চালিত হতে পারে।

আমরা ইলেকট্রন-বিল্ডার ব্যবহার করি, যা ফাইল টাইপ অ্যাসোসিয়েশন সমর্থন করে। একটি .excalidraw
ফাইলে ডাবল ক্লিক করে, আদর্শভাবে Excalidraw ডেস্কটপ অ্যাপটি খুলতে হবে। আমাদের electron-builder.json
ফাইলের প্রাসঙ্গিক উদ্ধৃতিটি এইরকম দেখাচ্ছে:
{
"fileAssociations": [
{
"ext": "excalidraw",
"name": "Excalidraw",
"description": "Excalidraw file",
"role": "Editor",
"mimeType": "application/json"
}
]
}
দুর্ভাগ্যবশত, অনুশীলনে, এটি সর্বদা উদ্দেশ্য অনুযায়ী কাজ করে না, যেহেতু, ইনস্টলেশনের প্রকারের উপর নির্ভর করে (বর্তমান ব্যবহারকারীর জন্য, সমস্ত ব্যবহারকারীর জন্য), উইন্ডোজ 10-এর অ্যাপগুলির নিজের সাথে একটি ফাইলের প্রকার সংযুক্ত করার অধিকার নেই।
এই ত্রুটিগুলি এবং সমস্ত প্ল্যাটফর্মে অভিজ্ঞতাকে সত্যিকারের অ্যাপের মতো করে তোলার জন্য মুলতুবি কাজ (যা আবার, যথেষ্ট প্রচেষ্টার সাথে সম্ভব ) এক্সক্যালিড্রো ডেস্কটপে আমাদের বিনিয়োগ পুনর্বিবেচনার জন্য একটি শক্তিশালী যুক্তি ছিল। আমাদের জন্য বড় যুক্তি হল, যদিও, আমরা পূর্বাভাস দিয়েছিলাম যে আমাদের ব্যবহারের ক্ষেত্রে, আমাদের ইলেক্ট্রন অফার করা সমস্ত বৈশিষ্ট্যের প্রয়োজন নেই। ওয়েবের সক্ষমতার ক্রমবর্ধমান এবং এখনও ক্রমবর্ধমান সেট আমাদের সমানভাবে ভালভাবে পরিবেশন করে, যদি ভাল না হয়।
কিভাবে ওয়েব আজ এবং ভবিষ্যতে আমাদের পরিবেশন করে
এমনকি 2020 সালে, jQuery এখনও অবিশ্বাস্যভাবে জনপ্রিয় । অনেক ডেভেলপারের জন্য এটি ব্যবহার করা একটি অভ্যাস হয়ে গেছে, যদিও আজ তাদের jQuery এর প্রয়োজন নেই । ইলেক্ট্রনের জন্য একটি অনুরূপ সংস্থান রয়েছে, যাকে যথাযথভাবে বলা হয় আপনার ইলেকট্রনের প্রয়োজন নেই । আমি কেন আমরা মনে করি আমাদের ইলেক্ট্রনের প্রয়োজন নেই তার রূপরেখা দাও।
ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ
Excalidraw আজ একটি পরিষেবা কর্মী এবং একটি ওয়েব অ্যাপ ম্যানিফেস্ট সহ একটি ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ৷ এটি তার সমস্ত সংস্থান দুটি ক্যাশে ক্যাশে করে, একটি ফন্ট এবং ফন্ট-সম্পর্কিত সিএসএসের জন্য এবং অন্য সবকিছুর জন্য।

এর মানে হল অ্যাপ্লিকেশনটি সম্পূর্ণ অফলাইন-সক্ষম এবং নেটওয়ার্ক সংযোগ ছাড়াই চলতে পারে। ডেস্কটপ এবং মোবাইল উভয় ক্ষেত্রেই ক্রোমিয়াম-ভিত্তিক ব্রাউজার ব্যবহারকারীকে অ্যাপটি ইনস্টল করতে অনুরোধ করে। আপনি নীচের স্ক্রিনশটে ইনস্টলেশন প্রম্পট দেখতে পারেন।

Excalidraw একটি স্বতন্ত্র অ্যাপ্লিকেশন হিসাবে চালানোর জন্য কনফিগার করা হয়েছে, তাই আপনি এটি ইনস্টল করার সময়, আপনি একটি অ্যাপ পাবেন যা তার নিজস্ব উইন্ডোতে চলে। এটি অপারেটিং সিস্টেমের মাল্টিটাস্কিং UI-তে সম্পূর্ণরূপে একত্রিত এবং হোম স্ক্রীন, ডক বা টাস্ক বারে এর নিজস্ব অ্যাপ আইকন পায়; প্ল্যাটফর্মের উপর নির্ভর করে যেখানে আপনি এটি ইনস্টল করবেন।


ফাইল সিস্টেম অ্যাক্সেস
অপারেটিং সিস্টেমের ফাইল সিস্টেম অ্যাক্সেস করার জন্য Excalidraw ব্রাউজার-fs-অ্যাক্সেস ব্যবহার করে। সমর্থনকারী ব্রাউজারগুলিতে, এটি অন্য ব্রাউজারগুলির জন্য একটি স্বচ্ছ ফলব্যাক সহ একটি সত্যিকারের খোলা→ সম্পাদনা → ওয়ার্কফ্লো এবং প্রকৃত অত্যধিক সংরক্ষণ এবং "এভাবে সংরক্ষণ" করার অনুমতি দেয়। আপনি ব্রাউজার-fs-অ্যাক্সেস লাইব্রেরির সাথে ফাইল এবং ডিরেক্টরি পড়া এবং লেখার জন্য আমার ব্লগ পোস্টে এই বৈশিষ্ট্যটি সম্পর্কে আরও শিখতে পারেন।
সমর্থন টানুন এবং ছেড়ে দিন
প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির মতোই ফাইলগুলিকে টেনে এনে Excalidraw উইন্ডোতে ফেলে দেওয়া যেতে পারে। ফাইল সিস্টেম অ্যাক্সেস API সমর্থন করে এমন একটি ব্রাউজারে, একটি বাদ দেওয়া ফাইল অবিলম্বে সম্পাদনা করা যেতে পারে এবং পরিবর্তনগুলি মূল ফাইলে সংরক্ষণ করা যেতে পারে। এটি এতটাই স্বজ্ঞাত যে আপনি মাঝে মাঝে ভুলে যান যে আপনি একটি ওয়েব অ্যাপের সাথে কাজ করছেন।
ক্লিপবোর্ড অ্যাক্সেস
Excalidraw অপারেটিং সিস্টেমের ক্লিপবোর্ডের সাথে ভাল কাজ করে। সম্পূর্ণ Excalidraw অঙ্কন বা শুধুমাত্র পৃথক বস্তু image/png
এবং image/svg+xml
ফরম্যাটে কপি ও পেস্ট করা যেতে পারে, যা Inkscape-এর মতো অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট টুল বা SVGOMG-এর মতো ওয়েব-ভিত্তিক টুলগুলির সাথে সহজে একীকরণের অনুমতি দেয়।

ফাইল হ্যান্ডলিং
Excalidraw ইতিমধ্যেই পরীক্ষামূলক ফাইল হ্যান্ডলিং API সমর্থন করে, যার মানে হল .excalidraw
ফাইলগুলি অপারেটিং সিস্টেমের ফাইল ম্যানেজারে ডাবল-ক্লিক করা যেতে পারে এবং সরাসরি Excalidraw অ্যাপে খোলা যেতে পারে, যেহেতু Excalidraw অপারেটিং সিস্টেমে .excalidraw
ফাইলগুলির জন্য একটি ফাইল হ্যান্ডলার হিসাবে নিবন্ধন করে৷
ঘোষণামূলক লিঙ্ক ক্যাপচারিং
Excalidraw অঙ্কন লিঙ্ক দ্বারা শেয়ার করা যেতে পারে. এখানে একটি উদাহরণ . ভবিষ্যতে, যদি লোকেদের একটি PWA হিসাবে Excalidraw ইনস্টল করা থাকে, এই ধরনের লিঙ্কগুলি ব্রাউজার ট্যাবে খুলবে না, তবে একটি নতুন স্বতন্ত্র উইন্ডো চালু করবে। মুলতুবি বাস্তবায়ন, এটি একটি নতুন ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যের জন্য ঘোষণামূলক লিঙ্ক ক্যাপচারিং , এবং লেখার সময়, ব্লিডিং-এজ প্রস্তাবের জন্য ধন্যবাদ কাজ করবে।
উপসংহার
ওয়েব অনেক দূর এগিয়েছে, ব্রাউজারগুলিতে আরও বেশি বৈশিষ্ট্যের অবতরণ করে যা মাত্র কয়েক বছর বা এমনকি মাস আগেও ওয়েবে কল্পনা করা যায় না এবং প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য একচেটিয়া ছিল। Excalidraw ব্রাউজারে যা সম্ভব তার অগ্রভাগে রয়েছে, যদিও স্বীকার করে যে সমস্ত প্ল্যাটফর্মের সমস্ত ব্রাউজার আমাদের ব্যবহার করা প্রতিটি বৈশিষ্ট্যকে সমর্থন করে না। একটি প্রগতিশীল বর্ধিতকরণ কৌশলের উপর বাজি ধরে, আমরা যেখানেই সম্ভব সর্বশেষ এবং সর্বশ্রেষ্ঠ উপভোগ করি, কিন্তু কাউকে পিছনে না রেখে। যে কোন ব্রাউজারে সবচেয়ে ভালো দেখা যায়।
ইলেক্ট্রন আমাদের ভাল পরিবেশন করেছে, কিন্তু 2020 এবং তার পরে, আমরা এটি ছাড়া বাঁচতে পারি। ওহ, এবং @vjeux- এর সেই উদ্দেশ্যের জন্য: যেহেতু অ্যান্ড্রয়েড প্লে স্টোর এখন ট্রাস্টেড ওয়েব অ্যাক্টিভিটি নামে একটি কন্টেইনার ফর্ম্যাটে PWAs গ্রহণ করে এবং যেহেতু Microsoft স্টোর PWA-কে সমর্থন করে , তাই আপনি খুব দূর ভবিষ্যতে এই স্টোরগুলিতে Excalidraw আশা করতে পারেন। এদিকে, আপনি সর্বদা ব্রাউজারে এবং থেকে Excalidraw ব্যবহার এবং ইনস্টল করতে পারেন।
স্বীকৃতি
এই নিবন্ধটি @lipis , @dwelle , এবং Joe Medley দ্বারা পর্যালোচনা করা হয়েছে।
,Excalidraw প্রকল্প কেন ওয়েব সংস্করণের পক্ষে তাদের ইলেক্ট্রন র্যাপারকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছে তা জানুন।
Excalidraw প্রকল্পে , আমরা Excalidraw ডেস্কটপ , Excalidraw-এর জন্য একটি ইলেক্ট্রন র্যাপারকে বাতিল করার সিদ্ধান্ত নিয়েছি, যা আপনি excalidraw.com- এ খুঁজে পেতে পারেন—এবং সর্বদাই পারেন—ওয়েব সংস্করণের পক্ষে। সতর্কতার সাথে বিশ্লেষণ করার পর, আমরা সিদ্ধান্ত নিয়েছি যে প্রগ্রেসিভ ওয়েব অ্যাপ (PWA) হল ভবিষ্যত যা আমরা গড়ে তুলতে চাই। কেন তা জানতে পড়ুন।
কিভাবে Excalidraw ডেস্কটপ তৈরি হল
@vjeux জানুয়ারী 2020-এ Excalidraw-এর প্রাথমিক সংস্করণ তৈরি করার এবং এটি সম্পর্কে ব্লগ করার পরপরই, তিনি ইস্যু #561- এ নিম্নলিখিতটি প্রস্তাব করেছিলেন:
Excalidraw কে ইলেক্ট্রন (বা সমতুল্য) মধ্যে মোড়ানো এবং এটিকে বিভিন্ন অ্যাপ স্টোরে একটি [প্ল্যাটফর্ম-নির্দিষ্ট] অ্যাপ্লিকেশন হিসাবে প্রকাশ করা দুর্দান্ত হবে।
@voluntadpear- এর তাত্ক্ষণিক প্রতিক্রিয়াটি পরামর্শ দেওয়া হয়েছিল:
পরিবর্তে এটি একটি PWA তৈরি সম্পর্কে কি? অ্যান্ড্রয়েড বর্তমানে এগুলিকে বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হিসেবে প্লে স্টোরে যুক্ত করা সমর্থন করে এবং আশা করি iOS শীঘ্রই একই কাজ করবে৷ ডেস্কটপে, Chrome আপনাকে PWA-তে একটি ডেস্কটপ শর্টকাট ডাউনলোড করতে দেয়।
@vjeux শেষ পর্যন্ত যে সিদ্ধান্ত নিয়েছিল তা সহজ ছিল:
আমাদের উভয়ই করা উচিত :)
এক্সক্যালিড্রের সংস্করণকে পিডব্লিউএ-তে রূপান্তরের কাজ শুরু করার সময় @voluntadpear এবং পরে অন্যরা, @lipis স্বাধীনভাবে এগিয়ে গিয়ে Excalidraw ডেস্কটপের জন্য একটি পৃথক রেপো তৈরি করেছে।
আজ অবধি, @vjeux-এর দ্বারা নির্ধারিত প্রাথমিক লক্ষ্য, অর্থাৎ, বিভিন্ন অ্যাপ স্টোরে Excalidraw জমা দেওয়ার, এখনও পর্যন্ত পৌঁছানো যায়নি। সত্যি বলতে, কেউ কোনো দোকানে জমা দেওয়ার প্রক্রিয়া শুরু করেনি। কিন্তু কেন এমন হল? আমি উত্তর দেওয়ার আগে, আসুন ইলেক্ট্রন, প্ল্যাটফর্মের দিকে তাকাই।
ইলেকট্রন কি?
ইলেক্ট্রনের অনন্য বিক্রয় পয়েন্ট হল এটি আপনাকে "জাভাস্ক্রিপ্ট, এইচটিএমএল এবং সিএসএস দিয়ে ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ তৈরি করতে" দেয়। ইলেক্ট্রন দিয়ে তৈরি অ্যাপগুলি "ম্যাক, উইন্ডোজ এবং লিনাক্সের সাথে সামঞ্জস্যপূর্ণ" , অর্থাৎ, "ইলেক্ট্রন অ্যাপগুলি তিনটি প্ল্যাটফর্মে তৈরি এবং চালানো হয়" । হোমপেজ অনুসারে, ইলেক্ট্রন যে কঠিন অংশগুলিকে সহজ করে তোলে তা হল স্বয়ংক্রিয় আপডেট , সিস্টেম-স্তরের মেনু এবং বিজ্ঞপ্তি , ক্র্যাশ রিপোর্টিং , ডিবাগিং এবং প্রোফাইলিং এবং উইন্ডোজ ইনস্টলার । দেখা যাচ্ছে, কিছু প্রতিশ্রুত বৈশিষ্ট্যের জন্য ছোট মুদ্রণের বিশদ বিবরণ প্রয়োজন।
উদাহরণস্বরূপ, স্বয়ংক্রিয় আপডেটগুলি "[বর্তমানে] শুধুমাত্র [সমর্থিত] macOS এবং Windows এ। Linux-এ স্বয়ংক্রিয়-আপডেটারের জন্য কোনও অন্তর্নির্মিত সমর্থন নেই, তাই আপনার অ্যাপ আপডেট করতে বিতরণের প্যাকেজ ম্যানেজার ব্যবহার করার পরামর্শ দেওয়া হচ্ছে" ।
ডেভেলপাররা
Menu.setApplicationMenu(menu)
কল করে সিস্টেম-স্তরের মেনু তৈরি করতে পারেন। উইন্ডোজ এবং লিনাক্সে, মেনুটি প্রতিটি উইন্ডোর শীর্ষ মেনু হিসাবে সেট করা হবে, যখন macOS-এ অনেকগুলি সিস্টেম-সংজ্ঞায়িত স্ট্যান্ডার্ড মেনু রয়েছে, যেমন পরিষেবা মেনু। একজনের মেনুকে একটি স্ট্যান্ডার্ড মেনুতে পরিণত করতে, ডেভেলপারদের তাদের মেনুরrole
সেই অনুযায়ী সেট করা উচিত এবং ইলেক্ট্রন তাদের চিনবে এবং সেগুলিকে আদর্শ মেনুতে পরিণত করবে। এর মানে হল যে অনেক মেনু-সম্পর্কিত কোড নিম্নলিখিত প্ল্যাটফর্ম চেক ব্যবহার করবে:const isMac = process.platform === 'darwin'
।উইন্ডোজ ইনস্টলার উইন্ডোজ-ইনস্টলার দিয়ে তৈরি করা যেতে পারে। প্রজেক্টের README হাইলাইট করে যে "একটি প্রোডাকশন অ্যাপের জন্য আপনাকে আপনার অ্যাপ্লিকেশানে সাইন করতে হবে৷ ইন্টারনেট এক্সপ্লোরারের স্মার্টস্ক্রিন ফিল্টার আপনার অ্যাপটিকে ডাউনলোড করা থেকে ব্লক করবে, এবং অনেক অ্যান্টি-ভাইরাস বিক্রেতারা আপনার অ্যাপটিকে ম্যালওয়্যার হিসাবে বিবেচনা করবে যদি না আপনি একটি বৈধ শংসাপত্র না পান" [sic]৷
এই তিনটি উদাহরণের দিকে তাকালে, এটা স্পষ্ট যে ইলেক্ট্রন "একবার লিখুন, সর্বত্র চালান" থেকে অনেক দূরে। অ্যাপ স্টোরে একটি অ্যাপ বিতরণ করার জন্য কোড সাইনিং প্রয়োজন, অ্যাপের মালিকানা প্রত্যয়িত করার জন্য একটি নিরাপত্তা প্রযুক্তি। একটি অ্যাপ প্যাকেজ করার জন্য ইলেকট্রন-ফোরজের মতো টুল ব্যবহার করা এবং অ্যাপ আপডেটের জন্য প্যাকেজগুলি কোথায় হোস্ট করা যায় সে সম্পর্কে চিন্তা করা প্রয়োজন। এটি তুলনামূলকভাবে দ্রুত জটিল হয়ে যায়, বিশেষ করে যখন উদ্দেশ্যটি সত্যিকারের ক্রস প্ল্যাটফর্ম সমর্থন হয়। আমি লক্ষ্য করতে চাই যে যথেষ্ট প্রচেষ্টা এবং উত্সর্গের সাথে অত্যাশ্চর্য ইলেক্ট্রন অ্যাপ তৈরি করা একেবারেই সম্ভব। Excalidraw ডেস্কটপের জন্য, আমরা সেখানে ছিলাম না।
যেখানে Excalidraw ডেস্কটপ ছেড়ে গেছে
Excalidraw ডেস্কটপ এখন পর্যন্ত মূলত Excalidraw ওয়েব অ্যাপটি একটি .asar
ফাইল হিসেবে বান্ডিল করা হয়েছে এবং একটি Excalidraw উইন্ডোর সাথে যুক্ত হয়েছে। অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতি প্রায় ওয়েব সংস্করণের অনুরূপ।


macOS-এ, এখন অ্যাপ্লিকেশনের শীর্ষে একটি সিস্টেম-স্তরের মেনু রয়েছে, কিন্তু যেহেতু মেনু অ্যাকশনগুলির কোনওটিই - ক্লোজ উইন্ডো এবং অ্যাবাউট এক্সক্যালিড্রা ছাড়া - কোনও কিছুর সাথে সংযুক্ত নেই, তাই মেনুটি বর্তমান অবস্থায় বেশ অকেজো৷ ইতিমধ্যে, সমস্ত ক্রিয়া অবশ্যই নিয়মিত Excalidraw টুলবার এবং প্রসঙ্গ মেনুর মাধ্যমে সঞ্চালিত হতে পারে।

আমরা ইলেকট্রন-বিল্ডার ব্যবহার করি, যা ফাইল টাইপ অ্যাসোসিয়েশন সমর্থন করে। একটি .excalidraw
ফাইলে ডাবল ক্লিক করে, আদর্শভাবে Excalidraw ডেস্কটপ অ্যাপটি খুলতে হবে। আমাদের electron-builder.json
ফাইলের প্রাসঙ্গিক উদ্ধৃতিটি এইরকম দেখাচ্ছে:
{
"fileAssociations": [
{
"ext": "excalidraw",
"name": "Excalidraw",
"description": "Excalidraw file",
"role": "Editor",
"mimeType": "application/json"
}
]
}
দুর্ভাগ্যবশত, অনুশীলনে, এটি সর্বদা উদ্দেশ্য অনুযায়ী কাজ করে না, যেহেতু, ইনস্টলেশনের প্রকারের উপর নির্ভর করে (বর্তমান ব্যবহারকারীর জন্য, সমস্ত ব্যবহারকারীর জন্য), উইন্ডোজ 10-এর অ্যাপগুলির নিজের সাথে একটি ফাইলের প্রকার সংযুক্ত করার অধিকার নেই।
এই ত্রুটিগুলি এবং সমস্ত প্ল্যাটফর্মে অভিজ্ঞতাকে সত্যিকারের অ্যাপের মতো করে তোলার জন্য মুলতুবি কাজ (যা আবার, যথেষ্ট প্রচেষ্টার সাথে সম্ভব ) এক্সক্যালিড্রো ডেস্কটপে আমাদের বিনিয়োগ পুনর্বিবেচনার জন্য একটি শক্তিশালী যুক্তি ছিল। আমাদের জন্য বড় যুক্তি হল, যদিও, আমরা পূর্বাভাস দিয়েছিলাম যে আমাদের ব্যবহারের ক্ষেত্রে, আমাদের ইলেক্ট্রন অফার করা সমস্ত বৈশিষ্ট্যের প্রয়োজন নেই। ওয়েবের সক্ষমতার ক্রমবর্ধমান এবং এখনও ক্রমবর্ধমান সেট আমাদের সমানভাবে ভালভাবে পরিবেশন করে, যদি ভাল না হয়।
কিভাবে ওয়েব আজ এবং ভবিষ্যতে আমাদের পরিবেশন করে
এমনকি 2020 সালে, jQuery এখনও অবিশ্বাস্যভাবে জনপ্রিয় । অনেক ডেভেলপারের জন্য এটি ব্যবহার করা একটি অভ্যাস হয়ে গেছে, যদিও আজ তাদের jQuery এর প্রয়োজন নেই । ইলেক্ট্রনের জন্য একটি অনুরূপ সংস্থান রয়েছে, যাকে যথাযথভাবে বলা হয় আপনার ইলেকট্রনের প্রয়োজন নেই । আমি কেন আমরা মনে করি আমাদের ইলেক্ট্রনের প্রয়োজন নেই তার রূপরেখা দাও।
ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ
Excalidraw আজ একটি পরিষেবা কর্মী এবং একটি ওয়েব অ্যাপ ম্যানিফেস্ট সহ একটি ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ৷ এটি তার সমস্ত সংস্থান দুটি ক্যাশে ক্যাশে করে, একটি ফন্ট এবং ফন্ট-সম্পর্কিত সিএসএসের জন্য এবং অন্য সবকিছুর জন্য।

এর মানে হল অ্যাপ্লিকেশনটি সম্পূর্ণ অফলাইন-সক্ষম এবং নেটওয়ার্ক সংযোগ ছাড়াই চলতে পারে। ডেস্কটপ এবং মোবাইল উভয় ক্ষেত্রেই ক্রোমিয়াম-ভিত্তিক ব্রাউজার ব্যবহারকারীকে অ্যাপটি ইনস্টল করতে অনুরোধ করে। আপনি নীচের স্ক্রিনশটে ইনস্টলেশন প্রম্পট দেখতে পারেন।

Excalidraw একটি স্বতন্ত্র অ্যাপ্লিকেশন হিসাবে চালানোর জন্য কনফিগার করা হয়েছে, তাই আপনি এটি ইনস্টল করার সময়, আপনি একটি অ্যাপ পাবেন যা তার নিজস্ব উইন্ডোতে চলে। এটি অপারেটিং সিস্টেমের মাল্টিটাস্কিং UI-তে সম্পূর্ণরূপে একত্রিত এবং হোম স্ক্রীন, ডক বা টাস্ক বারে এর নিজস্ব অ্যাপ আইকন পায়; প্ল্যাটফর্মের উপর নির্ভর করে যেখানে আপনি এটি ইনস্টল করবেন।


ফাইল সিস্টেম অ্যাক্সেস
অপারেটিং সিস্টেমের ফাইল সিস্টেম অ্যাক্সেস করার জন্য Excalidraw ব্রাউজার-fs-অ্যাক্সেস ব্যবহার করে। সমর্থনকারী ব্রাউজারগুলিতে, এটি অন্য ব্রাউজারগুলির জন্য একটি স্বচ্ছ ফলব্যাক সহ একটি সত্যিকারের খোলা→ সম্পাদনা → ওয়ার্কফ্লো এবং প্রকৃত অত্যধিক সংরক্ষণ এবং "এভাবে সংরক্ষণ" করার অনুমতি দেয়। আপনি ব্রাউজার-fs-অ্যাক্সেস লাইব্রেরির সাথে ফাইল এবং ডিরেক্টরি পড়া এবং লেখার জন্য আমার ব্লগ পোস্টে এই বৈশিষ্ট্যটি সম্পর্কে আরও শিখতে পারেন।
সমর্থন টানুন এবং ছেড়ে দিন
প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির মতোই ফাইলগুলিকে টেনে এনে Excalidraw উইন্ডোতে ফেলে দেওয়া যেতে পারে। ফাইল সিস্টেম অ্যাক্সেস API সমর্থন করে এমন একটি ব্রাউজারে, একটি বাদ দেওয়া ফাইল অবিলম্বে সম্পাদনা করা যেতে পারে এবং পরিবর্তনগুলি মূল ফাইলে সংরক্ষণ করা যেতে পারে। এটি এতটাই স্বজ্ঞাত যে আপনি মাঝে মাঝে ভুলে যান যে আপনি একটি ওয়েব অ্যাপের সাথে কাজ করছেন।
ক্লিপবোর্ড অ্যাক্সেস
Excalidraw অপারেটিং সিস্টেমের ক্লিপবোর্ডের সাথে ভাল কাজ করে। সম্পূর্ণ Excalidraw অঙ্কন বা শুধুমাত্র পৃথক বস্তু image/png
এবং image/svg+xml
ফরম্যাটে কপি ও পেস্ট করা যেতে পারে, যা Inkscape-এর মতো অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট টুল বা SVGOMG-এর মতো ওয়েব-ভিত্তিক টুলগুলির সাথে সহজে একীকরণের অনুমতি দেয়।

ফাইল হ্যান্ডলিং
Excalidraw ইতিমধ্যেই পরীক্ষামূলক ফাইল হ্যান্ডলিং API সমর্থন করে, যার মানে হল .excalidraw
ফাইলগুলি অপারেটিং সিস্টেমের ফাইল ম্যানেজারে ডাবল-ক্লিক করা যেতে পারে এবং সরাসরি Excalidraw অ্যাপে খোলা যেতে পারে, যেহেতু Excalidraw অপারেটিং সিস্টেমে .excalidraw
ফাইলগুলির জন্য একটি ফাইল হ্যান্ডলার হিসাবে নিবন্ধন করে৷
ঘোষণামূলক লিঙ্ক ক্যাপচারিং
Excalidraw অঙ্কন লিঙ্ক দ্বারা শেয়ার করা যেতে পারে. এখানে একটি উদাহরণ . ভবিষ্যতে, যদি লোকেদের একটি PWA হিসাবে Excalidraw ইনস্টল করা থাকে, এই ধরনের লিঙ্কগুলি ব্রাউজার ট্যাবে খুলবে না, তবে একটি নতুন স্বতন্ত্র উইন্ডো চালু করবে। মুলতুবি বাস্তবায়ন, এটি একটি নতুন ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যের জন্য ঘোষণামূলক লিঙ্ক ক্যাপচারিং , এবং লেখার সময়, ব্লিডিং-এজ প্রস্তাবের জন্য ধন্যবাদ কাজ করবে।
উপসংহার
ওয়েব অনেক দূর এগিয়েছে, ব্রাউজারগুলিতে আরও বেশি বৈশিষ্ট্যের অবতরণ করে যা মাত্র কয়েক বছর বা এমনকি মাস আগেও ওয়েবে কল্পনা করা যায় না এবং প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য একচেটিয়া ছিল। Excalidraw ব্রাউজারে যা সম্ভব তার অগ্রভাগে রয়েছে, যদিও স্বীকার করে যে সমস্ত প্ল্যাটফর্মের সমস্ত ব্রাউজার আমাদের ব্যবহার করা প্রতিটি বৈশিষ্ট্যকে সমর্থন করে না। একটি প্রগতিশীল বর্ধিতকরণ কৌশলের উপর বাজি ধরে, আমরা যেখানেই সম্ভব সর্বশেষ এবং সর্বশ্রেষ্ঠ উপভোগ করি, কিন্তু কাউকে পিছনে না রেখে। যে কোন ব্রাউজারে সবচেয়ে ভালো দেখা যায়।
ইলেক্ট্রন আমাদের ভাল পরিবেশন করেছে, কিন্তু 2020 এবং তার পরে, আমরা এটি ছাড়া বাঁচতে পারি। ওহ, এবং @vjeux- এর সেই উদ্দেশ্যের জন্য: যেহেতু অ্যান্ড্রয়েড প্লে স্টোর এখন ট্রাস্টেড ওয়েব অ্যাক্টিভিটি নামে একটি কন্টেইনার ফর্ম্যাটে PWAs গ্রহণ করে এবং যেহেতু Microsoft স্টোর PWA-কে সমর্থন করে , তাই আপনি খুব দূর ভবিষ্যতে এই স্টোরগুলিতে Excalidraw আশা করতে পারেন। এদিকে, আপনি সর্বদা ব্রাউজারে এবং থেকে Excalidraw ব্যবহার এবং ইনস্টল করতে পারেন।
স্বীকৃতি
এই নিবন্ধটি @lipis , @dwelle , এবং Joe Medley দ্বারা পর্যালোচনা করা হয়েছে।
,Excalidraw প্রকল্প কেন ওয়েব সংস্করণের পক্ষে তাদের ইলেক্ট্রন র্যাপারকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছে তা জানুন।
Excalidraw প্রকল্পে , আমরা Excalidraw ডেস্কটপ , Excalidraw-এর জন্য একটি ইলেক্ট্রন র্যাপারকে বাতিল করার সিদ্ধান্ত নিয়েছি, যা আপনি excalidraw.com- এ খুঁজে পেতে পারেন—এবং সর্বদাই পারেন—ওয়েব সংস্করণের পক্ষে। সতর্কতার সাথে বিশ্লেষণ করার পর, আমরা সিদ্ধান্ত নিয়েছি যে প্রগ্রেসিভ ওয়েব অ্যাপ (PWA) হল ভবিষ্যত যা আমরা গড়ে তুলতে চাই। কেন তা জানতে পড়ুন।
কিভাবে Excalidraw ডেস্কটপ তৈরি হল
@vjeux জানুয়ারী 2020-এ Excalidraw-এর প্রাথমিক সংস্করণ তৈরি করার এবং এটি সম্পর্কে ব্লগ করার পরপরই, তিনি ইস্যু #561- এ নিম্নলিখিতটি প্রস্তাব করেছিলেন:
Excalidraw কে ইলেক্ট্রন (বা সমতুল্য) মধ্যে মোড়ানো এবং এটিকে বিভিন্ন অ্যাপ স্টোরে একটি [প্ল্যাটফর্ম-নির্দিষ্ট] অ্যাপ্লিকেশন হিসাবে প্রকাশ করা দুর্দান্ত হবে।
@voluntadpear- এর তাত্ক্ষণিক প্রতিক্রিয়াটি পরামর্শ দেওয়া হয়েছিল:
পরিবর্তে এটি একটি PWA তৈরি সম্পর্কে কি? অ্যান্ড্রয়েড বর্তমানে এগুলিকে বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হিসেবে প্লে স্টোরে যুক্ত করা সমর্থন করে এবং আশা করি iOS শীঘ্রই একই কাজ করবে৷ ডেস্কটপে, Chrome আপনাকে PWA-তে একটি ডেস্কটপ শর্টকাট ডাউনলোড করতে দেয়।
@vjeux শেষ পর্যন্ত যে সিদ্ধান্ত নিয়েছিল তা সহজ ছিল:
আমাদের উভয়ই করা উচিত :)
এক্সক্যালিড্রের সংস্করণকে পিডব্লিউএ-তে রূপান্তরের কাজ শুরু করার সময় @voluntadpear এবং পরে অন্যরা, @lipis স্বাধীনভাবে এগিয়ে গিয়ে Excalidraw ডেস্কটপের জন্য একটি পৃথক রেপো তৈরি করেছে।
আজ অবধি, @vjeux-এর দ্বারা নির্ধারিত প্রাথমিক লক্ষ্য, অর্থাৎ, বিভিন্ন অ্যাপ স্টোরে Excalidraw জমা দেওয়ার, এখনও পর্যন্ত পৌঁছানো যায়নি। সত্যি বলতে, কেউ কোনো দোকানে জমা দেওয়ার প্রক্রিয়া শুরু করেনি। কিন্তু কেন এমন হল? আমি উত্তর দেওয়ার আগে, আসুন ইলেক্ট্রন, প্ল্যাটফর্মের দিকে তাকাই।
ইলেকট্রন কি?
ইলেক্ট্রনের অনন্য বিক্রয় পয়েন্ট হল এটি আপনাকে "জাভাস্ক্রিপ্ট, এইচটিএমএল এবং সিএসএস দিয়ে ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ তৈরি করতে" দেয়। ইলেক্ট্রন দিয়ে তৈরি অ্যাপগুলি "ম্যাক, উইন্ডোজ এবং লিনাক্সের সাথে সামঞ্জস্যপূর্ণ" , অর্থাৎ, "ইলেক্ট্রন অ্যাপগুলি তিনটি প্ল্যাটফর্মে তৈরি এবং চালানো হয়" । হোমপেজ অনুসারে, ইলেক্ট্রন যে কঠিন অংশগুলিকে সহজ করে তোলে তা হল স্বয়ংক্রিয় আপডেট , সিস্টেম-স্তরের মেনু এবং বিজ্ঞপ্তি , ক্র্যাশ রিপোর্টিং , ডিবাগিং এবং প্রোফাইলিং এবং উইন্ডোজ ইনস্টলার । দেখা যাচ্ছে, কিছু প্রতিশ্রুত বৈশিষ্ট্যের জন্য ছোট মুদ্রণের বিশদ বিবরণ প্রয়োজন।
উদাহরণস্বরূপ, স্বয়ংক্রিয় আপডেটগুলি "[বর্তমানে] শুধুমাত্র [সমর্থিত] macOS এবং Windows এ। Linux-এ স্বয়ংক্রিয়-আপডেটারের জন্য কোনও অন্তর্নির্মিত সমর্থন নেই, তাই আপনার অ্যাপ আপডেট করতে বিতরণের প্যাকেজ ম্যানেজার ব্যবহার করার পরামর্শ দেওয়া হচ্ছে" ।
ডেভেলপাররা
Menu.setApplicationMenu(menu)
কল করে সিস্টেম-স্তরের মেনু তৈরি করতে পারেন। উইন্ডোজ এবং লিনাক্সে, মেনুটি প্রতিটি উইন্ডোর শীর্ষ মেনু হিসাবে সেট করা হবে, যখন macOS-এ অনেকগুলি সিস্টেম-সংজ্ঞায়িত স্ট্যান্ডার্ড মেনু রয়েছে, যেমন পরিষেবা মেনু। একজনের মেনুকে একটি স্ট্যান্ডার্ড মেনুতে পরিণত করতে, ডেভেলপারদের তাদের মেনুরrole
সেই অনুযায়ী সেট করা উচিত এবং ইলেক্ট্রন তাদের চিনবে এবং সেগুলিকে আদর্শ মেনুতে পরিণত করবে। এর মানে হল যে অনেক মেনু-সম্পর্কিত কোড নিম্নলিখিত প্ল্যাটফর্ম চেক ব্যবহার করবে:const isMac = process.platform === 'darwin'
।উইন্ডোজ ইনস্টলার উইন্ডোজ-ইনস্টলার দিয়ে তৈরি করা যেতে পারে। প্রজেক্টের README হাইলাইট করে যে "একটি প্রোডাকশন অ্যাপের জন্য আপনাকে আপনার অ্যাপ্লিকেশানে সাইন করতে হবে৷ ইন্টারনেট এক্সপ্লোরারের স্মার্টস্ক্রিন ফিল্টার আপনার অ্যাপটিকে ডাউনলোড করা থেকে ব্লক করবে, এবং অনেক অ্যান্টি-ভাইরাস বিক্রেতারা আপনার অ্যাপটিকে ম্যালওয়্যার হিসাবে বিবেচনা করবে যদি না আপনি একটি বৈধ শংসাপত্র না পান" [sic]৷
এই তিনটি উদাহরণের দিকে তাকালে, এটা স্পষ্ট যে ইলেক্ট্রন "একবার লিখুন, সর্বত্র চালান" থেকে অনেক দূরে। অ্যাপ স্টোরে একটি অ্যাপ বিতরণ করার জন্য কোড সাইনিং প্রয়োজন, অ্যাপের মালিকানা প্রত্যয়িত করার জন্য একটি নিরাপত্তা প্রযুক্তি। একটি অ্যাপ প্যাকেজ করার জন্য ইলেকট্রন-ফোরজের মতো টুল ব্যবহার করা এবং অ্যাপ আপডেটের জন্য প্যাকেজগুলি কোথায় হোস্ট করা যায় সে সম্পর্কে চিন্তা করা প্রয়োজন। এটি তুলনামূলকভাবে দ্রুত জটিল হয়ে যায়, বিশেষ করে যখন উদ্দেশ্যটি সত্যিকারের ক্রস প্ল্যাটফর্ম সমর্থন হয়। আমি লক্ষ্য করতে চাই যে যথেষ্ট প্রচেষ্টা এবং উত্সর্গের সাথে অত্যাশ্চর্য ইলেক্ট্রন অ্যাপ তৈরি করা একেবারেই সম্ভব। Excalidraw ডেস্কটপের জন্য, আমরা সেখানে ছিলাম না।
যেখানে Excalidraw ডেস্কটপ ছেড়ে গেছে
Excalidraw ডেস্কটপ এখন পর্যন্ত মূলত Excalidraw ওয়েব অ্যাপটি একটি .asar
ফাইল হিসেবে বান্ডিল করা হয়েছে এবং একটি Excalidraw উইন্ডোর সাথে যুক্ত হয়েছে। অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতি প্রায় ওয়েব সংস্করণের অনুরূপ।


macOS-এ, এখন অ্যাপ্লিকেশনের শীর্ষে একটি সিস্টেম-স্তরের মেনু রয়েছে, কিন্তু যেহেতু মেনু অ্যাকশনগুলির কোনওটিই - ক্লোজ উইন্ডো এবং অ্যাবাউট এক্সক্যালিড্রা ছাড়া - কোনও কিছুর সাথে সংযুক্ত নেই, তাই মেনুটি বর্তমান অবস্থায় বেশ অকেজো৷ ইতিমধ্যে, সমস্ত ক্রিয়া অবশ্যই নিয়মিত Excalidraw টুলবার এবং প্রসঙ্গ মেনুর মাধ্যমে সঞ্চালিত হতে পারে।

আমরা ইলেকট্রন-বিল্ডার ব্যবহার করি, যা ফাইল টাইপ অ্যাসোসিয়েশন সমর্থন করে। একটি .excalidraw
ফাইলে ডাবল ক্লিক করে, আদর্শভাবে Excalidraw ডেস্কটপ অ্যাপটি খুলতে হবে। আমাদের electron-builder.json
ফাইলের প্রাসঙ্গিক উদ্ধৃতিটি এইরকম দেখাচ্ছে:
{
"fileAssociations": [
{
"ext": "excalidraw",
"name": "Excalidraw",
"description": "Excalidraw file",
"role": "Editor",
"mimeType": "application/json"
}
]
}
দুর্ভাগ্যবশত, অনুশীলনে, এটি সর্বদা উদ্দেশ্য অনুযায়ী কাজ করে না, যেহেতু, ইনস্টলেশনের প্রকারের উপর নির্ভর করে (বর্তমান ব্যবহারকারীর জন্য, সমস্ত ব্যবহারকারীর জন্য), উইন্ডোজ 10-এর অ্যাপগুলির নিজের সাথে একটি ফাইলের প্রকার সংযুক্ত করার অধিকার নেই।
এই ত্রুটিগুলি এবং সমস্ত প্ল্যাটফর্মে অভিজ্ঞতাকে সত্যিকারের অ্যাপের মতো করে তোলার জন্য মুলতুবি কাজ (যা আবার, যথেষ্ট প্রচেষ্টার সাথে সম্ভব ) এক্সক্যালিড্রো ডেস্কটপে আমাদের বিনিয়োগ পুনর্বিবেচনার জন্য একটি শক্তিশালী যুক্তি ছিল। আমাদের জন্য বড় যুক্তি হল, যদিও, আমরা পূর্বাভাস দিয়েছিলাম যে আমাদের ব্যবহারের ক্ষেত্রে, আমাদের ইলেক্ট্রন অফার করা সমস্ত বৈশিষ্ট্যের প্রয়োজন নেই। ওয়েবের সক্ষমতার ক্রমবর্ধমান এবং এখনও ক্রমবর্ধমান সেট আমাদের সমানভাবে ভালভাবে পরিবেশন করে, যদি ভাল না হয়।
কিভাবে ওয়েব আজ এবং ভবিষ্যতে আমাদের পরিবেশন করে
এমনকি 2020 সালে, jQuery এখনও অবিশ্বাস্যভাবে জনপ্রিয় । অনেক ডেভেলপারের জন্য এটি ব্যবহার করা একটি অভ্যাস হয়ে গেছে, যদিও আজ তাদের jQuery এর প্রয়োজন নেই । ইলেক্ট্রনের জন্য একটি অনুরূপ সংস্থান রয়েছে, যাকে যথাযথভাবে বলা হয় আপনার ইলেকট্রনের প্রয়োজন নেই । আমি কেন আমরা মনে করি আমাদের ইলেক্ট্রনের প্রয়োজন নেই তার রূপরেখা দাও।
ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ
Excalidraw আজ একটি পরিষেবা কর্মী এবং একটি ওয়েব অ্যাপ ম্যানিফেস্ট সহ একটি ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ৷ এটি তার সমস্ত সংস্থান দুটি ক্যাশে ক্যাশে করে, একটি ফন্ট এবং ফন্ট-সম্পর্কিত সিএসএসের জন্য এবং অন্য সবকিছুর জন্য।

এর মানে হল অ্যাপ্লিকেশনটি সম্পূর্ণ অফলাইন-সক্ষম এবং নেটওয়ার্ক সংযোগ ছাড়াই চলতে পারে। ডেস্কটপ এবং মোবাইল উভয় ক্ষেত্রেই ক্রোমিয়াম-ভিত্তিক ব্রাউজার ব্যবহারকারীকে অ্যাপটি ইনস্টল করতে অনুরোধ করে। আপনি নীচের স্ক্রিনশটে ইনস্টলেশন প্রম্পট দেখতে পারেন।

Excalidraw একটি স্বতন্ত্র অ্যাপ্লিকেশন হিসাবে চালানোর জন্য কনফিগার করা হয়েছে, তাই আপনি এটি ইনস্টল করার সময়, আপনি একটি অ্যাপ পাবেন যা তার নিজস্ব উইন্ডোতে চলে। এটি অপারেটিং সিস্টেমের মাল্টিটাস্কিং UI-তে সম্পূর্ণরূপে একত্রিত এবং হোম স্ক্রীন, ডক বা টাস্ক বারে এর নিজস্ব অ্যাপ আইকন পায়; প্ল্যাটফর্মের উপর নির্ভর করে যেখানে আপনি এটি ইনস্টল করবেন।


ফাইল সিস্টেম অ্যাক্সেস
অপারেটিং সিস্টেমের ফাইল সিস্টেম অ্যাক্সেস করার জন্য Excalidraw ব্রাউজার-fs-অ্যাক্সেস ব্যবহার করে। সমর্থনকারী ব্রাউজারগুলিতে, এটি অন্য ব্রাউজারগুলির জন্য একটি স্বচ্ছ ফলব্যাক সহ একটি সত্যিকারের খোলা→ সম্পাদনা → ওয়ার্কফ্লো এবং প্রকৃত অত্যধিক সংরক্ষণ এবং "এভাবে সংরক্ষণ" করার অনুমতি দেয়। আপনি ব্রাউজার-fs-অ্যাক্সেস লাইব্রেরির সাথে ফাইল এবং ডিরেক্টরি পড়া এবং লেখার জন্য আমার ব্লগ পোস্টে এই বৈশিষ্ট্যটি সম্পর্কে আরও শিখতে পারেন।
সমর্থন টানুন এবং ছেড়ে দিন
প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির মতোই ফাইলগুলিকে টেনে এনে Excalidraw উইন্ডোতে ফেলে দেওয়া যেতে পারে। ফাইল সিস্টেম অ্যাক্সেস API সমর্থন করে এমন একটি ব্রাউজারে, একটি বাদ দেওয়া ফাইল অবিলম্বে সম্পাদনা করা যেতে পারে এবং পরিবর্তনগুলি মূল ফাইলে সংরক্ষণ করা যেতে পারে। এটি এতটাই স্বজ্ঞাত যে আপনি মাঝে মাঝে ভুলে যান যে আপনি একটি ওয়েব অ্যাপের সাথে কাজ করছেন।
ক্লিপবোর্ড অ্যাক্সেস
Excalidraw অপারেটিং সিস্টেমের ক্লিপবোর্ডের সাথে ভাল কাজ করে। সম্পূর্ণ Excalidraw অঙ্কন বা শুধুমাত্র পৃথক বস্তু image/png
এবং image/svg+xml
ফরম্যাটে কপি ও পেস্ট করা যেতে পারে, যা Inkscape-এর মতো অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট টুল বা SVGOMG-এর মতো ওয়েব-ভিত্তিক টুলগুলির সাথে সহজে একীকরণের অনুমতি দেয়।

ফাইল হ্যান্ডলিং
Excalidraw ইতিমধ্যেই পরীক্ষামূলক ফাইল হ্যান্ডলিং API সমর্থন করে, যার মানে হল .excalidraw
ফাইলগুলি অপারেটিং সিস্টেমের ফাইল ম্যানেজারে ডাবল-ক্লিক করা যেতে পারে এবং সরাসরি Excalidraw অ্যাপে খোলা যেতে পারে, যেহেতু Excalidraw অপারেটিং সিস্টেমে .excalidraw
ফাইলগুলির জন্য একটি ফাইল হ্যান্ডলার হিসাবে নিবন্ধন করে৷
ঘোষণামূলক লিঙ্ক ক্যাপচারিং
Excalidraw অঙ্কন লিঙ্ক দ্বারা শেয়ার করা যেতে পারে. এখানে একটি উদাহরণ . ভবিষ্যতে, যদি লোকেদের একটি PWA হিসাবে Excalidraw ইনস্টল করা থাকে, এই ধরনের লিঙ্কগুলি ব্রাউজার ট্যাবে খুলবে না, তবে একটি নতুন স্বতন্ত্র উইন্ডো চালু করবে। মুলতুবি বাস্তবায়ন, এটি একটি নতুন ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যের জন্য ঘোষণামূলক লিঙ্ক ক্যাপচারিং , এবং লেখার সময়, ব্লিডিং-এজ প্রস্তাবের জন্য ধন্যবাদ কাজ করবে।
উপসংহার
ওয়েব অনেক দূর এগিয়েছে, ব্রাউজারগুলিতে আরও বেশি বৈশিষ্ট্যের অবতরণ করে যা মাত্র কয়েক বছর বা এমনকি মাস আগেও ওয়েবে কল্পনা করা যায় না এবং প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য একচেটিয়া ছিল। Excalidraw ব্রাউজারে যা সম্ভব তার অগ্রভাগে রয়েছে, যদিও স্বীকার করে যে সমস্ত প্ল্যাটফর্মের সমস্ত ব্রাউজার আমাদের ব্যবহার করা প্রতিটি বৈশিষ্ট্যকে সমর্থন করে না। একটি প্রগতিশীল বর্ধিতকরণ কৌশলের উপর বাজি ধরে, আমরা যেখানেই সম্ভব সর্বশেষ এবং সর্বশ্রেষ্ঠ উপভোগ করি, কিন্তু কাউকে পিছনে না রেখে। যে কোন ব্রাউজারে সবচেয়ে ভালো দেখা যায়।
ইলেক্ট্রন আমাদের ভাল পরিবেশন করেছে, কিন্তু 2020 এবং তার পরে, আমরা এটি ছাড়া বাঁচতে পারি। ওহ, এবং @vjeux- এর সেই উদ্দেশ্যের জন্য: যেহেতু অ্যান্ড্রয়েড প্লে স্টোর এখন ট্রাস্টেড ওয়েব অ্যাক্টিভিটি নামে একটি কন্টেইনার ফর্ম্যাটে PWAs গ্রহণ করে এবং যেহেতু Microsoft স্টোর PWA-কে সমর্থন করে , তাই আপনি খুব দূর ভবিষ্যতে এই স্টোরগুলিতে Excalidraw আশা করতে পারেন। এদিকে, আপনি সর্বদা ব্রাউজারে এবং থেকে Excalidraw ব্যবহার এবং ইনস্টল করতে পারেন।
স্বীকৃতি
এই নিবন্ধটি @lipis , @dwelle , এবং Joe Medley দ্বারা পর্যালোচনা করা হয়েছে।
,Excalidraw প্রকল্প কেন ওয়েব সংস্করণের পক্ষে তাদের ইলেক্ট্রন র্যাপারকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছে তা জানুন।
এক্সকিউলিড্রা প্রকল্পে , আমরা এক্সকিউলিড্রা ডেস্কটপকে এক্সকিউলিড্রোর জন্য একটি ইলেক্ট্রন র্যাপারকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছি, যে ওয়েব সংস্করণটির পক্ষে আপনি - এবং সর্বদা করতে পারেন exp সাবধানতার সাথে বিশ্লেষণের পরে, আমরা সিদ্ধান্ত নিয়েছি যে প্রগতিশীল ওয়েব অ্যাপ (পিডাব্লুএ) হ'ল ভবিষ্যত যা আমরা তৈরি করতে চাই। কেন তা জানতে পড়ুন।
এক্সকিউলিড্রা ডেস্কটপ কীভাবে এসেছিল
@Vjeux 2020 সালের জানুয়ারিতে এক্সকিউলিড্রোর প্রাথমিক সংস্করণটি তৈরি করার পরে এবং এটি সম্পর্কে ব্লগ করার পরে, তিনি #561 ইস্যুতে নিম্নলিখিতটি প্রস্তাব করেছিলেন:
ইলেক্ট্রনের (বা সমতুল্য) এর মধ্যে এক্সকিউলিড্রো মোড়ানো এবং এটি বিভিন্ন অ্যাপ স্টোরগুলিতে একটি [প্ল্যাটফর্ম-নির্দিষ্ট] অ্যাপ্লিকেশন হিসাবে প্রকাশ করা দুর্দান্ত হবে।
@ভোলুন্টডপিয়ারের তাত্ক্ষণিক প্রতিক্রিয়াটি ছিল:
পরিবর্তে এটি পিডব্লিউএ করার বিষয়ে কী? অ্যান্ড্রয়েড বর্তমানে তাদেরকে বিশ্বস্ত ওয়েব ক্রিয়াকলাপ হিসাবে প্লে স্টোরে যুক্ত করতে সমর্থন করে এবং আশা করি আইওএস শীঘ্রই একই কাজ করবে। ডেস্কটপে, ক্রোম আপনাকে একটি পিডব্লিউএতে একটি ডেস্কটপ শর্টকাট ডাউনলোড করতে দেয়।
@Vjeux শেষ পর্যন্ত যে সিদ্ধান্ত নিয়েছিল তা সহজ ছিল:
আমাদের উভয়ই করা উচিত :)
এক্সকিউলিড্রোর সংস্করণকে পিডব্লিউএতে রূপান্তর করার কাজ করার সময় @ভোলুন্টডপিয়ার এবং পরে অন্যরা শুরু করেছিলেন, @লিপিস স্বাধীনভাবে এগিয়ে গিয়ে এক্সকিএলিড্রা ডেস্কটপের জন্য একটি পৃথক রেপো তৈরি করেছিলেন।
আজ অবধি, @vjeux দ্বারা নির্ধারিত প্রাথমিক লক্ষ্যটি, অর্থাৎ বিভিন্ন অ্যাপ স্টোরগুলিতে এক্সকিউলিড্রো জমা দেওয়ার জন্য এখনও পৌঁছানো হয়নি। সত্যিই, কেউ এমনকি কোনও স্টোরের কাছে জমা দেওয়ার প্রক্রিয়া শুরু করেনি। কিন্তু কেন এমন হল? আমি উত্তর দেওয়ার আগে, আসুন আমরা প্ল্যাটফর্মটি ইলেক্ট্রনটি দেখি।
ইলেকট্রন কি?
ইলেক্ট্রনের অনন্য বিক্রয় কেন্দ্রটি হ'ল এটি আপনাকে "জাভাস্ক্রিপ্ট, এইচটিএমএল এবং সিএসএস সহ ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ্লিকেশনগুলি তৈরি করতে দেয়" । ইলেক্ট্রন দিয়ে নির্মিত অ্যাপ্লিকেশনগুলি "ম্যাক, উইন্ডোজ এবং লিনাক্সের সাথে সামঞ্জস্যপূর্ণ" , অর্থাৎ "ইলেক্ট্রন অ্যাপ্লিকেশনগুলি তিনটি প্ল্যাটফর্মে তৈরি এবং চালানো" । হোমপেজ অনুসারে, ইলেক্ট্রন সহজ করে তোলে এমন হার্ড অংশগুলি হ'ল স্বয়ংক্রিয় আপডেট , সিস্টেম-স্তরের মেনু এবং বিজ্ঞপ্তি , ক্র্যাশ রিপোর্টিং , ডিবাগিং এবং প্রোফাইলিং এবং উইন্ডোজ ইনস্টলার । দেখা যাচ্ছে, কিছু প্রতিশ্রুত বৈশিষ্ট্যগুলির জন্য ছোট মুদ্রণের বিশদ বিবরণ প্রয়োজন।
উদাহরণস্বরূপ, স্বয়ংক্রিয় আপডেটগুলি "ম্যাকোস এবং উইন্ডোজগুলিতে কেবল [বর্তমানে] [সমর্থিত] রয়েছে Lin
বিকাশকারীরা
Menu.setApplicationMenu(menu)
কল করে সিস্টেম-স্তরের মেনু তৈরি করতে পারেন। উইন্ডোজ এবং লিনাক্সে, মেনুটি প্রতিটি উইন্ডোর শীর্ষ মেনু হিসাবে সেট করা হবে, যখন ম্যাকোসে পরিষেবা মেনুর মতো অনেকগুলি সিস্টেম-সংজ্ঞায়িত স্ট্যান্ডার্ড মেনু রয়েছে। কারও মেনুগুলিকে একটি স্ট্যান্ডার্ড মেনু করতে, বিকাশকারীদের সেই অনুযায়ী তাদের মেনুরrole
সেট করা উচিত এবং ইলেক্ট্রন তাদের স্বীকৃতি দেবে এবং তাদেরকে মানক মেনুতে পরিণত করবে। এর অর্থ হ'ল প্রচুর মেনু-সম্পর্কিত কোড নিম্নলিখিত প্ল্যাটফর্ম চেকটি ব্যবহার করবে:const isMac = process.platform === 'darwin'
।উইন্ডোজ ইনস্টলারগুলি উইন্ডোজ-ইনস্টলারের সাহায্যে তৈরি করা যেতে পারে। প্রকল্পের রিডমে হাইলাইট করে যে "একটি প্রোডাকশন অ্যাপের জন্য আপনাকে আপনার অ্যাপ্লিকেশনটিতে স্বাক্ষর করতে হবে Net
এই তিনটি উদাহরণ দেখে, এটি স্পষ্ট যে ইলেক্ট্রন "একবার লিখুন, সর্বত্র চালান" থেকে অনেক দূরে। অ্যাপ স্টোরগুলিতে একটি অ্যাপ্লিকেশন বিতরণ করার জন্য কোড সাইনিং , অ্যাপের মালিকানা প্রমাণীকরণের জন্য একটি সুরক্ষা প্রযুক্তি প্রয়োজন। একটি অ্যাপ্লিকেশন প্যাকেজিংয়ের জন্য ইলেক্ট্রন-ফোরজের মতো সরঞ্জামগুলি ব্যবহার করা এবং অ্যাপ্লিকেশন আপডেটের জন্য প্যাকেজগুলি কোথায় হোস্ট করবেন সে সম্পর্কে চিন্তাভাবনা করা প্রয়োজন। এটি তুলনামূলকভাবে দ্রুত জটিল হয়ে যায়, বিশেষত যখন উদ্দেশ্যটি সত্যই ক্রস প্ল্যাটফর্ম সমর্থন হয়। আমি লক্ষ করতে চাই যে পর্যাপ্ত প্রচেষ্টা এবং উত্সর্গের সাথে অত্যাশ্চর্য ইলেক্ট্রন অ্যাপ্লিকেশন তৈরি করা একেবারে সম্ভব। এক্সকিউলিড্রা ডেস্কটপের জন্য, আমরা সেখানে ছিলাম না।
যেখানে এক্সালিড্রা ডেস্কটপ ছেড়ে গেছে
এক্সকিউলিড্রাও ডেস্কটপ এখন পর্যন্ত মূলত এক্সালাইড্রা ওয়েব অ্যাপ্লিকেশনটি এক্সালাইড্রা উইন্ডো সম্পর্কে একটি যুক্ত সহ একটি .asar
ফাইল হিসাবে বান্ডিলযুক্ত। অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতি ওয়েব সংস্করণের সাথে প্রায় একই রকম।


ম্যাকোসে, এখন অ্যাপ্লিকেশনটির শীর্ষে একটি সিস্টেম-স্তরের মেনু রয়েছে, তবে যেহেতু মেনু ক্রিয়াগুলির কোনওটিই নিকটতম উইন্ডো থেকে শুরু করে এবং এক্সালাইড্রা-এ সম্পর্কে কোনও কিছুতেই আছড়ে পড়েছে, মেনুটি তার বর্তমান অবস্থায় বেশ অকেজো। এদিকে, সমস্ত ক্রিয়া অবশ্যই নিয়মিত এক্সকিউলিড্রা টুলবার এবং প্রসঙ্গ মেনুর মাধ্যমে সম্পাদন করা যেতে পারে।

আমরা ইলেক্ট্রন-নির্মাতা ব্যবহার করি, যা ফাইল টাইপ অ্যাসোসিয়েশনকে সমর্থন করে। একটি .excalidraw
ফাইল ডাবল-ক্লিক করে, আদর্শভাবে এক্সকিউলিড্রা ডেস্কটপ অ্যাপটি খুলতে হবে। আমাদের electron-builder.json
ফাইলের প্রাসঙ্গিক অংশটি এর মতো দেখাচ্ছে:
{
"fileAssociations": [
{
"ext": "excalidraw",
"name": "Excalidraw",
"description": "Excalidraw file",
"role": "Editor",
"mimeType": "application/json"
}
]
}
দুর্ভাগ্যক্রমে, অনুশীলনে, এটি সর্বদা উদ্দেশ্য হিসাবে কাজ করে না, যেহেতু ইনস্টলেশন ধরণের উপর নির্ভর করে (বর্তমান ব্যবহারকারীর জন্য, সমস্ত ব্যবহারকারীর জন্য), উইন্ডোজ 10 এর অ্যাপ্লিকেশনগুলিতে নিজের সাথে কোনও ফাইল টাইপ যুক্ত করার অধিকার নেই।
এই ত্রুটিগুলি এবং সমস্ত প্ল্যাটফর্মে অভিজ্ঞতাটিকে সত্যই অ্যাপের মতো করার জন্য এই ত্রুটিগুলি এবং মুলতুবি কাজ (যা আবার যথেষ্ট প্রচেষ্টা সম্ভব ) আমাদের পক্ষে এক্সালিড্রা ডেস্কটপে আমাদের বিনিয়োগের বিষয়ে পুনর্বিবেচনা করার জন্য একটি দৃ strong ় যুক্তি ছিল। যদিও আমাদের জন্য আরও বড় যুক্তিটি ছিল তা হ'ল আমরা আমাদের ব্যবহারের ক্ষেত্রে যে আমাদের আগে থেকেই ইলেক্ট্রন অফারগুলির সমস্ত বৈশিষ্ট্যের প্রয়োজন নেই তা পূর্বাভাস দিয়েছি। ওয়েবের বর্ধিত এবং এখনও ক্রমবর্ধমান ক্ষমতার সেটটি আরও ভাল না হলে আমাদের সমানভাবে ভাল পরিবেশন করে।
ওয়েব আজ এবং ভবিষ্যতে কীভাবে আমাদের পরিবেশন করে
এমনকি 2020 সালে, jQuery এখনও অবিশ্বাস্যভাবে জনপ্রিয় । অনেক বিকাশকারীদের কাছে এটি ব্যবহার করার অভ্যাসে পরিণত হয়েছে, যদিও আজ তাদের jQuery প্রয়োজন হয় না । ইলেক্ট্রনের জন্য একই রকম সংস্থান রয়েছে, যথাযথভাবে বলা হয় আপনাকে ইলেক্ট্রনের প্রয়োজন হতে পারে না । আমাকে কেন আমাদের মনে হয় আমাদের ইলেক্ট্রনের প্রয়োজন নেই তা রূপরেখা দিন।
ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ্লিকেশন
এক্সকিউলিড্রা আজ একটি পরিষেবা কর্মী এবং একটি ওয়েব অ্যাপ্লিকেশন ম্যানিফেস্ট সহ একটি ইনস্টলযোগ্য প্রগতিশীল ওয়েব অ্যাপ্লিকেশন। এটি তার সমস্ত সংস্থান দুটি ক্যাশে, একটি ফন্ট এবং ফন্ট-সম্পর্কিত সিএসএসের জন্য এবং একটি অন্য কিছুর জন্য ক্যাশে করে।

এর অর্থ অ্যাপ্লিকেশনটি সম্পূর্ণরূপে অফলাইন-সক্ষম এবং নেটওয়ার্ক সংযোগ ছাড়াই চলতে পারে। ডেস্কটপ এবং মোবাইল উভয় ক্ষেত্রেই ক্রোমিয়াম-ভিত্তিক ব্রাউজারগুলি ব্যবহারকারীকে অ্যাপ্লিকেশনটি ইনস্টল করতে অনুরোধ করে। আপনি নীচের স্ক্রিনশটে ইনস্টলেশন প্রম্পটটি দেখতে পারেন।

এক্সকিউলিড্রাও স্ট্যান্ডেলোন অ্যাপ্লিকেশন হিসাবে চালানোর জন্য কনফিগার করা হয়েছে, সুতরাং আপনি যখন এটি ইনস্টল করেন, আপনি একটি অ্যাপ্লিকেশন পাবেন যা তার নিজস্ব উইন্ডোতে চলে। এটি অপারেটিং সিস্টেমের মাল্টিটাস্কিং ইউআইতে সম্পূর্ণরূপে সংহত হয়েছে এবং হোম স্ক্রিন, ডক বা টাস্ক বারে নিজস্ব অ্যাপ্লিকেশন আইকন পেয়েছে; আপনি যেখানে এটি ইনস্টল করেছেন তার উপর নির্ভর করে।


ফাইল সিস্টেম অ্যাক্সেস
এক্সালাইড্রাও অপারেটিং সিস্টেমের ফাইল সিস্টেম অ্যাক্সেসের জন্য ব্রাউজার-এফএস-অ্যাক্সেস ব্যবহার করে। সমর্থনকারী ব্রাউজারগুলিতে, এটি অন্যান্য ব্রাউজারগুলির জন্য স্বচ্ছ ফ্যালব্যাক সহ একটি সত্য ওপেন → সম্পাদনা → সংরক্ষণের জন্য ওয়ার্কফ্লো এবং প্রকৃত ওভার-র্যাভিং এবং "সংরক্ষণ করুন" এর অনুমতি দেয়। আপনি আমার ব্লগ পোস্টে ব্রাউজার-এফএস-অ্যাক্সেস লাইব্রেরির সাথে ফাইল এবং ডিরেক্টরিগুলি পড়া এবং লেখার ক্ষেত্রে এই বৈশিষ্ট্যটি সম্পর্কে আরও শিখতে পারেন।
সমর্থন টানুন এবং ছেড়ে দিন
ফাইলগুলি টেনে নিয়ে যাওয়া যায় এবং প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির মতো এক্সকিউলিড্রো উইন্ডোতে ফেলে দেওয়া যায়। ফাইল সিস্টেম অ্যাক্সেস এপিআই সমর্থন করে এমন একটি ব্রাউজারে, একটি বাদ দেওয়া ফাইলটি তাত্ক্ষণিকভাবে সম্পাদনা করা যেতে পারে এবং পরিবর্তনগুলি মূল ফাইলটিতে সংরক্ষণ করা যায়। এটি এত স্বজ্ঞাত যে আপনি মাঝে মাঝে ভুলে যান যে আপনি কোনও ওয়েব অ্যাপ্লিকেশন নিয়ে কাজ করছেন।
ক্লিপবোর্ড অ্যাক্সেস
এক্সকিউলিড্রা অপারেটিং সিস্টেমের ক্লিপবোর্ডের সাথে ভাল কাজ করে। পুরো এক্সালাইড্রা অঙ্কন বা কেবল পৃথক অবজেক্টগুলি image/png
এবং image/svg+xml
ফর্ম্যাটগুলিতে অনুলিপি করে আটকানো যেতে পারে, যা ইনকস্কেপ বা এসভিজিএমজি-র মতো ওয়েব-ভিত্তিক সরঞ্জামগুলির মতো অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট সরঞ্জামগুলির সাথে একটি সহজ সংহতকরণের অনুমতি দেয়।

ফাইল হ্যান্ডলিং
এক্সালাইড্রা ইতিমধ্যে পরীক্ষামূলক ফাইল হ্যান্ডলিং এপিআই সমর্থন করে .excalidraw
যার অর্থ .excalidraw
ঘোষণামূলক লিঙ্ক ক্যাপচারিং
এক্সকিউলিড্রা অঙ্কনগুলি লিঙ্কের মাধ্যমে ভাগ করা যায়। এখানে একটি উদাহরণ . ভবিষ্যতে, যদি লোকেরা পিডব্লিউএ হিসাবে এক্সক্যালিড্রা ইনস্টল করে থাকে তবে এই জাতীয় লিঙ্কগুলি ব্রাউজার ট্যাবে খোলা হবে না, তবে একটি নতুন স্ট্যান্ডেলোন উইন্ডো চালু করবে। বাস্তবায়নের মুলতুবি, এটি লেখার সময়, একটি নতুন ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যের জন্য রক্তপাত-প্রান্তের প্রস্তাবের সময় ঘোষণামূলক লিঙ্ক ক্যাপচারিংয়ের জন্য ধন্যবাদ কাজ করবে।
উপসংহার
ব্রাউজারগুলিতে আরও বেশি সংখ্যক বৈশিষ্ট্য অবতরণ করে ওয়েবটি দীর্ঘ পথ ধরে এসেছে যা কয়েক বছর বা এমনকি কয়েক মাস আগে ওয়েবে অকল্পনীয় ছিল এবং প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য একচেটিয়া ছিল। ব্রাউজারে কী সম্ভব তা এক্সালাইড্রাও সর্বাগ্রে রয়েছে, সমস্ত প্ল্যাটফর্মের সমস্ত ব্রাউজারই আমাদের ব্যবহার করা প্রতিটি বৈশিষ্ট্য সমর্থন করে না বলে স্বীকার করে। একটি প্রগতিশীল বর্ধন কৌশল বাজি ধরে, আমরা যেখানেই সম্ভব সর্বশেষ এবং সর্বশ্রেষ্ঠ উপভোগ করি, তবে কাউকে পিছনে না রেখে। যে কোনও ব্রাউজারে সেরা দেখা।
ইলেক্ট্রন আমাদের ভালভাবে পরিবেশন করেছে, তবে ২০২০ এবং এর বাইরেও আমরা এটি ছাড়া বাঁচতে পারি। ওহ, এবং @vjeux এর সেই উদ্দেশ্যটির জন্য: যেহেতু অ্যান্ড্রয়েড প্লে স্টোর এখন বিশ্বস্ত ওয়েব ক্রিয়াকলাপ নামে একটি ধারক বিন্যাসে পিডব্লিউএ গ্রহণ করে এবং যেহেতু মাইক্রোসফ্ট স্টোর পিডব্লিউএগুলিকে সমর্থন করে , আপনি খুব দূরের ভবিষ্যতে এই স্টোরগুলিতে এক্সকিএলিড্রাও আশা করতে পারেন। এদিকে, আপনি সর্বদা ব্রাউজারে এবং থেকে এক্সকিউলিড্রা ব্যবহার এবং ইনস্টল করতে পারেন।
স্বীকৃতি
এই নিবন্ধটি @লিপিস , @ডওয়েল এবং জো মেডলে পর্যালোচনা করেছেন।