expo-paperkit: مارکآپ نیتیو اپل برای React Native
خلاصهٔ کاملتر
تو معرفی این پروژه اومده که expo-paperkit یه ماژول نیتیو برای Expo و React Native هست و تجربهٔ مارکآپ PaperKit اپل رو مستقیم میاره تو اپ. PaperKit همون لایهایه که اپل برای کشیدن، حاشیهنویسی و شکلکشی روی iOS 26 و macOS 26 آورده، و تا حالا برای رسیدن بهش باید خودت کد نیتیو مینوشتی.
چیزی که این کتابخونه میده یه بوم کامله: کشیدن با اپل پنسیل، اضافهکردن شکل و کادر متن و فلش، undo و redo، زوم و اندازهٔ قابل تنظیم بوم، تصویر پسزمینه و یه حالت فقطخواندنی برای نمایش مارکآپ ذخیرهشده. روی iOS از PKToolPicker استفاده میکنه و روی مک از MarkupToolbar.
استفادهش هم سادهست؛ کامپوننت PaperMarkupView رو رندر میکنی و با featureSet مشخص میکنی چه ابزارهایی فعال باشن:
<PaperMarkupView
ref={markupRef}
style={{ flex: 1 }}
allowFingerDrawing
featureSet={{ shapes: true, textBoxes: true, arrows: true }}
/>با یه ref هم به متدهای خود بوم دسترسی داری: save() دادهٔ مارکآپ رو برمیگردونه که میتونی نگهش داری و بعداً از طریق initialData برش گردونی، و exportAsImage() خروجی تصویری میده.
نویسنده تأکید کرده این پکیج کد نیتیو داره، پس تو Expo Go بالا نمیاد؛ باید npx expo prebuild بزنی و با npx expo run:ios بیلد بگیری یا پروژه رو تو Xcode باز کنی. حداقل نیازها هم iOS 26 یا macOS 26، اکسپو SDK 54 و React Native 0.81 هست؛ برای مک هم پیشنهاد شده پروژه رو با expo-desktop راه بندازی. لایسنسش MIT هست.
نکات کلیدی:
- PaperKit اپل رو بدون نوشتن کد نیتیو میاره تو React Native
- کشیدن با اپل پنسیل، شکل، کادر متن، فلش و undo/redo
- ذخیره و بازیابی مارکآپ به شکل base64 و خروجی PNG یا JPG
- فقط iOS 26+ و macOS 26+، بدون پشتیبانی Expo Go
- لایسنس MIT




