تطبيق "عدسة Google" يزيد إنتاجية المطورين باستخدام CameraX
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

عدسة Microsoft هي منتج يسهّل قراءة صور المستندات وألواح المعلومات. كان فريق Microsoft Lens قلقًا بشأن أن واجهة برمجة التطبيقات Camera1، وهي واجهة برمجة تطبيقات لإطار عمل Android تتضمّن دعمًا للكاميرات وميزات الكاميرا، كانت تؤدي بشكل غير متسق في أجهزة Android الحديثة. وقرروا إنشاء شيء جديد وقرروا أن أسرع مسار للتطوير كان استخدام CameraX للحصول على الميزات الحديثة لكاميرا الهاتف.
الإجراءات التي اتخذتها الشركة
قررت Microsoft استخدام cameraX لمجموعة تطبيقات الإنتاجية التي تستخدم Microsoft Lens. CameraX هي مكتبة دعم مفتوحة المصدر لنظام Android Jetpack تسهِّل على المطوّرين إنشاء وظائف الكاميرا في تطبيقات Android. تتكامل CameraX مع جميع أدوات Microsoft Lens لضمان استخدام صور عالية الجودة في تطبيقات محددة. تساعد CameraX أيضًا في تحسين تجربة المطوّرين من خلال توفير واجهة برمجة تطبيقات أبسط وتعمل على %94 من أجهزة Android. بالتبديل إلى CameraX، تمكن فريق Microsoft Lens من حل مشكلات الأداء وزيادة إنتاجية المطورين وتقليل الوقت اللازم للذهاب إلى الأسواق.
النتائج

اكتشف فريق Microsoft Lens أنّ استخدام مكتبة CameraX وفّر الكثير من الوقت للمطوّرين وذلك نتيجة لقلّة دورات الاختبار والتحسين. ويقدّر أن شركة CameraX بذلت جهدًا لمدة أربعة أشهر تقريبًا لتحديد وقت الدمج، مقارنةً بكاميرا Camera2، والتي كانت ستستغرق حوالي ستة أشهر.
"باستخدام CameraX، يصبح من الأسهل ضبط سمات مثل درجة الدقة ونسبة العرض إلى الارتفاع وتدوير الصور وجودة الالتقاط وما إلى ذلك مقارنةً بواجهات برمجة تطبيقات Camera1، ما ساعد في عملية الدمج والوقت. قال "فيشال بهاتناغار"، مدير مهندسي البرامج الرئيسي في شركة Microsoft: "تعالج شركة CameraX الحالة داخليًا (لفتح/إغلاق الكاميرا) أثناء تبديل المستخدمين بين التطبيقات إلى جانب تقليل سطور الرمز لدمجها، كما ساعد ذلك أيضًا في زيادة إنتاجية مطوّري البرامج للتركيز على منطق العمل بدلاً من حالة إعادة ضبط التطبيق".

أدى استخدام CameraX إلى نجاح Microsoft في إطلاق وتسجيل الأداء بشكل أفضل مقارنة بكاميرا1. وقد تضاعف أداؤها على أجهزة Android الحديثة بمقدار الضعف عند إطلاق الفيديوهات والتقاطها، وشهدت بعض الأجهزة ارتفاعًا بمقدار 3 مرّات في الأداء (على الرغم من أنّ ذلك يختلف من جهاز لآخر). بالإضافة إلى ذلك، كان تفعيل وظيفة المسح الضوئي الأساسية أسهل مقارنةً بتقديرات تطبيق "كاميرا2". وفي ما يتعلق بتقسيم الأجهزة، يخفي CameraX بشكل فعّال العديد من أشكال Camera2 للعديد من الأجهزة في التنفيذ على العديد من أجهزة المصنّعين الأصليين.
يعمل فريق Microsoft حاليًا على دمج CameraX في بعض تطبيقات Android الأخرى، مثل Office وTeams وOneDrive وWord وExcel وPowerPoint وMicrosoft Lens وMy Hub. تستخدم جميع هذه التطبيقات CameraX لوظيفة التقاط الصور في سيناريوهات مثل مسح المستندات ضوئيًا واستخراج الصور من العناصر (مثل تحويل الصور إلى جدول، وتحويل الصور إلى نص). يخطط فريق Microsoft كذلك لتطبيق CameraX في Outlook قريبًا والبحث في إمكاناته في تطبيقات أخرى، مثل Kaizala.
البدء
يمكنك الانتقال إلى مستنداتنا للاطّلاع على مزيد من المعلومات حول كيفية استخدام CameraX في تطبيقك.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2022-01-31 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2022-01-31 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Microsoft Lens increases developer productivity using CameraX\n\n[Microsoft Lens](https://play.google.com/store/apps/details?id=com.microsoft.office.officelens) is a product that makes images of documents and whiteboards easier to read. The Microsoft Lens team was concerned that the [Camera1](https://developer.android.com/guide/topics/media/camera) API, an Android framework API that includes support for cameras and camera features, was performing inconsistently for them on modern Android devices. They scoped out building something new and determined that the fastest development route was to use CameraX to get the modern features of a camera phone.\n\nWhat they did\n-------------\n\nMicrosoft decided to use [CameraX](https://developer.android.com/training/camerax) for their suite of productivity apps that use Microsoft Lens. CameraX is an open source [Android Jetpack](https://developer.android.com/jetpack) support library that makes it simpler for developers to build camera functionality in Android apps. CameraX integrates with all of Microsoft Lens' tools to ensure use of high-quality images across select apps. CameraX also improves the developer experience by providing a simpler API and works across 94 percent of Android devices. By switching to CameraX, the Microsoft Lens team was able to solve their performance issues, increase developer productivity, and reduce the time to go to market.\n\nResults\n-------\n\nThe Microsoft Lens team found that implementing the CameraX library saved their developers a significant amount of time, as a result of fewer testing and optimization cycles. They estimate that CameraX took their engineering team about four months of effort for integration time, compared to Camera2, which would have taken about six.\n\n\"With CameraX it is easier to configure attributes like resolution, aspect ratio, image rotation, capture quality, etc., when compared to Camera1 APIs, which helped integration effort and time. CameraX internally handling the state (to open/close camera) while users switch between the applications had reduced lines of code to integrate and also helped developer productivity to focus on business logic instead of app resetting state,\" said Vishal Bhatnagar, Principal Software Engineer Manager at Microsoft.\n\nUsing CameraX led Microsoft to better launch and capture performance compared to Camera1. Their performance on modern Android devices increased by 2X in launch and capture, and some devices even saw performance gains of 3X (although this varies by device). In addition, enabling core scan functionality was easier compared to estimates for Camera2. In terms of device fragmentation, CameraX effectively hides many devices' Camera2 variations in implementation on many OEM devices.\n\nThe Microsoft team is currently integrating CameraX into some of their other Android apps, such as Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens, and My Hub. All of these apps use CameraX for image capture functionality in scenarios such as document scan and image to entity extraction (such as image to table, image to text). The Microsoft team is also planning to implement CameraX in Outlook soon and looking into its potential for other apps, such as Kaizala.\n\nGet started\n-----------\n\nVisit our documentation to learn more about how to implement CameraX in your app."]]