Owlet هي مجموعة من الأنشطة ذاتية التوجيه على شبكة الإنترنت مصممة لطلاب المدارس المتوسطة والثانوية لتعلم مهارات التكنولوجيا من خلال الاستكشاف الإبداعي. تشرح هذه الشرائح الدافع وراء المشروع.

تم إنشاؤه باستخدام إصدار Luminus 2.9.11.68
lein run
lein figwheel
lein auto sassc once
انتقل إلى http: // localhost: 3000/
تأكد من أن لديك نسخة حديثة من مجموعة Java Development Kit. إذا لم يكن الأمر كذلك ، قم بتنزيل المثبت من صفحة تنزيل Oracle. حدد قبول اتفاقية الترخيص في الجزء العلوي من اللوحة للحصول على أحدث إصدار ، ثم انقر فوق اسم الملف لمنصتك ، على سبيل المثال ، JDK-8U112-MACOSX-X64.DMG . انتقل إلى مجلد التنزيلات الخاص بك ، وافتح ملف .dmg ، واتبع التعليمات. للتحقق ، أدخل java -version في محطة. يجب أن ترى شيئًا مثل ما يلي:
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
لاحظ كيف يطابق الإصدار - في هذه الحالة "112" - الملف الذي قمت بتنزيله.
ستحتاج أيضًا إلى تثبيت أدوات خط الأوامر git و lein و rlwrap على نظامك. على جهاز Mac ، أسهل طريقة للحصول عليها هي تثبيت Homebrew أولاً ، ثم في سطر أوامر طرفي ، تنفيذ هذا:
brew install git leiningen rlwrap
أخيرًا ، برنامج التحويل البرمجي SASSC
brew install sassc
الآن ، لنسخ رمز Owlet على جهازك ، أول cd إلى المكان الذي تريد أن يكون فيه دليل Owlet ، ثم استنساخ هذا المستودع:
git clone https://github.com/codefordenver/owlet.git
الآن إذا قمت ls ، فيجب أن ترى دليلًا جديدًا ، owlet . اذهب إلى هناك:
cd owlet
للعمل في هذا المشروع ، كل ما تحتاجه حقًا هو محطة ومتصفح وأي محرر نصوص. ومع ذلك ، هناك الكثير مما يمكن قوله لاستخدام المكون الإضافي المخطوطة في فكرة intellij Jetbrain. نظرًا لأنها تتفهم كيف تتصل الأجزاء المختلفة من التعليمات البرمجية الخاصة بك وتبعياتها معًا ، يمكنك القيام بإعادة تشكيل التعليمات البرمجية ، وإكمال الكود الذكي ، والملاحة بنقرة واحدة إلى تعريف متغير ، وعرض المستندات على الفور ، والتقاط أخطاء الإملاء والإملاء. أفضل ما في الأمر ، من خارج الصندوق ، يمكنك تشغيل مجموعة من الرمز الخاص بك. قم بتجربة بسرعة مع Live ، أو تشغيل التعليمات البرمجية في سطر أوامر REPL ، أو تحميل تغيير صغير في مساحات الاسترداد أو التبديل أو اختبارات الوحدة - كل ذلك فقط مع بضعة مفاتيح.
للبدء في Idea Intellij و Sursive ، اتبع تعليمات التثبيت المخطوطة. ثم استيراد مشروع Lininingen الحالي ، وهو Owlet.
لتكوين REPLING SURSIVE متصل بتطبيق التشغيل الخاص بنا ، نحتاج إلى إنشاء تكوين تشغيل/تصحيح.
افتح Intellij وحدد تشغيل عنصر القائمة -> تحرير التكوينات ...
انقر فوق الزر + في أعلى اليسار واختر Clojure Repl .
اختر جهاز التحكم عن بُعد .
أدخل اسمًا في حقل الاسم (على سبيل المثال ، Owlet nRepl ).
اختر زر الراديو استخدم منفذ Lininingen Repl .
قم بإلغاء تحديد نافذة أداة تنشيط الصندوق في الأسفل.
انقر فوق الزر "موافق" لحفظ تكوين Repl الخاص بك.
الآن ، على افتراض أن لديك clojure nrepl بدأت في المحطة (انظر تشغيل التطبيق ، أعلاه) ، يمكنك ربطه من مخطوطة في أي وقت:
انتقل إلى تشغيل -> تشغيل ... ، ثم حدد تكوين الاسترداد (يسمى "Owlet NREPL" أعلاه). ستظهر نافذة أداة REPLING جديدة. يجب أن ترى على الفور هذا فقط في نافذة الاستراحة:
Connecting to remote nREPL server...
Clojure 1.8.0
الآن بعد أن وصلنا إلى Clojure NREPL ، قم بإنشاء استبدال clojurescript عن طريق تقييم رمز clojure التالي في مربع النص في أسفل نافذة أداة الاسترداد:
(figwheel-sidecar.repl-api/cljs-repl)
يجب أن ترى شيئًا مثل هذا الإخراج:
...
Prompt will show when Figwheel connects to your application
To quit, type: :cljs/quit
=> nil
الآن ، نظرًا لأننا فقط "Jacking in" إلى نفس خادم Figweel ، عند تعديل ملف .cljs وحفظه ، سيلاحظ Figwheel وتحديثه تلقائيًا. من REPL ، يمكنك التحكم في التطبيق أثناء تشغيله ، نظرًا لأنك تقوم بتقييم التعليمات البرمجية في سياق التطبيق المباشر. بالإضافة إلى ذلك ، يمكنك الوصول إلى أدوات الاستراحة المخطوطة التي تتفاعل مع المحرر ، مثل:
تبديل الاستبدال إلى الملف الحالي
تحميل الملف في repl
أرسل نموذجًا قبل Caret إلى Reply
إجراء اختبارات في NS الحالية في Reply
أضف أمر REPL الجديد
على سبيل المثال ، تتمثل الفكرة الجيدة في إضافة أمر REPL الخاص بك لتقييم رمز cljs-repl ، أعلاه. بمجرد أن يكون لديك نافذة استبدال ، حدد أدوات -> REPL -> إضافة أمر REPL الجديد . امنح الأمر اسمًا الخاص بك ، وحدد زر تنفيذ الراديو ، وأدخل (figwheel-sidecar.repl-api/cljs-repl) على النحو الوارد أعلاه. حدد خانة الاختيار المحددة للمشروع وموافق . ثم لسهولة الوصول ، يمكنك تحديد اختصار لوحة المفاتيح لاختيارك في Idea Idea -> تفضيلات ... -> Keymap .
بمجرد تشغيل script/figwheel-repl.sh ، يتم تشغيل nrepl clojure ، ويمكنك "Jack in" للحصول على استبدال clojure آخر ، ثم استبدال clojurecript آخر ، على غرار كيف فعلنا ذلك في مخطوطة:
تأكد من أن NREPL الخاص بك بدأ بواسطة script/figwheel-repl.sh لا يزال قيد التشغيل.
من محطة ، قم بتشغيل الأمر التالي:
lein repl :connect
يجب أن يكون لديك الآن استبدال clojure مع موجه ، owlet.server=> .
كما هو الحال مع مخطوطة ، أدخل رمز clojure التالي في المطالبة:
(figwheel-sidecar.repl-api/cljs-repl)
يجب أن ترى الإخراج مثل هذا:
...
To quit, type: :cljs/quit
nil
cljs.user=>
مع القليل من الإعداد الإضافي ، يمكنك العمل على Owlet باستخدام بيئة تصحيح تصحيح Browser Browser Amazing Dirac DevTools. ستظل تقوم بتشغيل التطبيق باستخدام Figwheel ، لذلك ستظل الملفات المعدلة يتم تجميعها وتحميلها تلقائيًا ، ولكن سيتم تشغيل REPLER في Dirac. بيئة Dirac على المتصفح هي في الواقع امتداد كروم يتكون من شوكة مخصصة من Chrome DevTools ، أداة تصحيح الأخطاء JavaScript مدمجة في الكروم. ومع ذلك ، فإنه يستخدم الميزات التي توفرها فقط أحدث إصدار من Chrome DevTools ، وهذا هو السبب في أن إصدار الكناري من Chrome مطلوب.
إذا كانت عملية script/figwheel-repl.sh قيد التشغيل ، فوقفها (Control-D).
قم بتنزيل وتثبيت تطبيق سطح المكتب ، Google Chrome Canary.
إذا فتحته ، فأنا أوقفت عن الكناري.
في المحطة ، تأكد من أن دليل العمل الحالي لا يزال هو الذي يحتوي على ملف readme.md هذا.
في سطر الأوامر ، قم بتشغيل
script/start-chrome-canary.sh
سترى نافذة كروم فارغة مع موقع http: // localhost: 3000/. إنه فارغ لأننا لم نبدأ خادم Owlet بعد.
بالمناسبة ، هذا الأمر هو كيف ستحتاج إلى بدء المتصفح عندما تعمل على Owlet مع Dirac. انظر أدناه.
قم بتثبيت ملحق Dirac DevTools ، ومنحه الوصول إلى بياناتك. يجب أن ترى أيقونة خضراء صغيرة على يمين شريط العناوين في النافذة.
منذ أن بدأت Chrome Canary مع البرنامج النصي أعلاه ، سيتم حفظ الامتداد بالفعل في الدليل
.dirac-chrome-profile/، لذلك لن يؤثر تثبيته أو تغيير بعض الإعدادات (ولا يتأثر بها) أي إعدادات أو امتدادات موجودة في Chrome عند البدء بشكل طبيعي ، على سبيل المثال بالنقر المزدوج على chrom أو chrom icon.
الآن بعد أن تم تثبيت Chrome Canary و Dirac DevTools محليًا في دليل مشروع Owlet ، دعنا نستخدمه مع Owlet.
في المحطة ، تأكد من أن دليل العمل الحالي لا يزال هو الذي يحتوي على ملف readme.md هذا.
على النحو الوارد أعلاه ، ابدأ التطبيق باستخدام Figwheel ، ولكن هذه المرة باستخدام خيار --dirac :
script/figwheel-repl.sh dirac
عندما ترى ما يلي ، بدأ NREPL وينتظر خادم Dirac لعميل المتصفح:
...
owlet.server=>
Dirac Agent v0.8.8
Connected to nREPL server at nrepl://localhost:8230.
Agent is accepting connections at ws://localhost:8231.
إذا لم يكن Chrome Canary قيد التشغيل بالفعل ، فابدأه عن طريق تشغيل ما يلي في نافذة طرفية منفصلة:
script/start-chrome-canary.sh
يجب أن ترى الآن تطبيق Owlet يعمل في النافذة التي تنبثق.
بمجرد بدء تشغيل Chrome Canary بهذه الطريقة ، يمكنك تركه مفتوحًا ، حتى لو قمت بإعادة تشغيل تطبيق Owlet و REPL. كما هو الحال دائمًا ، يمكنك إعادة تحميل التطبيق بشكل نظيف باستخدام View-> قوة إعادة تحميل هذه الصفحة (تحريك الأوامر).
انقر فوق أيقونة شريط أدوات Dirac DevTools. يجب أن تظهر نافذة وحدة Dirac DevTools. لاحظ الإرشادات هناك حول التبديل بين ClojureScript و JavaScript Repls (Control- ،). إذا رأيت رسالة الخطأ ، "CLJS DevTools: لم يتم تقديم بعض التنسيقات المخصصة" ، فما عليك سوى عرض-> قوة إعادة تحميل هذه الصفحة (حافة الأوامر).
على الرغم من أنك قد تكون معتادًا على كتابة خيار القيادة ، لا ، لا! لا تفتح DevTools Chrome العادية.
جرب الاستبدال الجميل في علامة تبويب وحدة التحكم وشاهد كيف يتم توازن الأقواس تلقائيًا ، وتأخذك مفاتيح الأسهم لأعلى ولأسفل في تاريخ الاستراحة ، ويتم الانتهاء من الرموز أثناء الكتابة ، والإخراج عبارة عن بيانات EDN ملونة (وليس كائنات JS الغامضة) ، ويتم تقديم هياكل البيانات على أنها مصغرة قابلة للطي لتوفير المساحة بدقة ، وأكثر!
جرب تصحيح الأخطاء أيضًا. إنه يعمل تمامًا مثل DevTools Chrome DevTools ، باستثناء أن الكود المصدري هو كل من ClojureScript و JavaScript الذي تجمعه. في علامة التبويب المصادر ، انتقل لأسفل إلى الأعلى -> LocalHost: 4000 -> JS/Complive -> out ، انقر على ملف owlet .cljs ذات الاهتمام ، ثم قم بتعيين نقطة توقف يتم ضربها عند القيام بشيء في واجهة المستخدم الرسومية للتطبيق. عندما يتوقف التطبيق عند نقطة الإيقاف ، انظر إلى المتغيرات الحالية في قسم النطاق من مصحح الأخطاء. ثم مرة أخرى في علامة التبويب وحدة التحكم ، أدخل نماذج ClojureScript في REPL. سيتم تقييمها في سياق نقطة الإيقاف. انقر فوق الزر استئناف أو مفتاح F8 للسماح للتطبيق المتابعة.
مع Dirac ، ليس عليك التخلي عن مخطوطة. تمامًا كما تواصلنا مع Figwheel CLJS REPL ، أعلاه ، يمكننا التواصل مع DIRAC REPL.
إذا كان لديك تشغيل تشغيل في مخطوطة ، فوقفه بالنقر فوق X في شريط الأدوات الخاص به.
انتقل إلى تشغيل -> تشغيل ... وحدد التكوين الذي أنشأناه أعلاه ، كما كان من قبل ، يجب أن ترى على الفور هذا في النافذة:
Connecting to remote nREPL server...
Clojure 1.8.0
الآن ، كما كان من قبل ، نحن على اتصال مع Clojure NREPL ، ولكن هذه المرة سوف نتواصل مع Dirac ClojureScript Repl. قم بتقييم رمز clojure التالي في مربع النص في أسفل نافذة أداة الاسترداد:
(dirac! :join)
يجب أن ترى شيئًا مثل هذا الإخراج:
...
Your current nREPL session is a joined Dirac session (ClojureScript) which targets 'the most recent Dirac session'
...
To quit, type: :cljs/quit
=> nil
كما ذكر أعلاه ، من الجيد إضافة أمر REPL الجديد وتحديد اختصار لوحة المفاتيح لكتابة الأمر (dirac! :join) لك.
يمكنك التواصل مع Dirac Repl ، تمامًا كما فعلنا مع Figwheel Repl ، مع اختلاف صغير فقط. بطبيعة الحال ، تأكد أولاً من العملية التي بدأت بها باستخدام script/figwheel-repl.sh dirac ، ثم فقط اتبع الإرشادات أعلاه ، حتى الخطوة الأخيرة. بدلاً من ذلك ، افعل هذا:
كما هو الحال مع مخطوطة ، أدخل رمز clojure التالي في المطالبة:
(dirac! :join)
يجب أن ترى الإخراج مثل هذا:
...
To quit, type: :cljs/quit
nil
cljs.user=>
عند تقييم التعبير في REPLIS DIRAC ClojureScript ، سيتم عرض النتيجة بعد => في نافذة الاستبدال المحطة أو المخطوطة ، كما هو متوقع. ومع ذلك ، سيتم عرض الآثار الجانبية مثل الإخراج المطبوع أو آثار مكدس الاستثناء فقط في وحدة Dirac DevTools . يمكن أن يكون هذا مربكًا ، خاصة إذا قمت بإدخال بيان طباعة ولم ترى شيئًا ، أو أنك لا تدرك أن شيئًا ما محطم لأنك لا ترى استثناءً! تحتاج إلى النظر في وحدة التحكم Dirac DevTools. ستعكس وحدة التحكم التعبير الذي أدخلته ، ونتيجةه ، وأي آثار جانبية مطبوعة. لذلك فقط احتفظ بالكروم الكناري في مكان قريب ونافذة Dirac DevTools في متناول يدي.
ترخيص ISC
حقوق الطبع والنشر (ج) رمز دنفر والمساهمين
يتم منح إذن لاستخدام هذا البرنامج أو نسخه أو تعديله و/أو توزيعه لأي غرض من أو بدون رسوم ، شريطة أن يظهر إشعار حقوق الطبع والنشر أعلاه هذا في جميع النسخ.
يتم توفير البرنامج "كما هو" ويتلاشى المؤلف من جميع الضمانات فيما يتعلق بهذا البرنامج بما في ذلك جميع الضمانات الضمنية للتسويق واللياقة. لا يجوز لأي حال من الأحوال أن يكون المؤلف مسؤولاً عن أي أضرار خاصة أو غير مباشرة أو غير مباشرة أو تبعية أو أي أضرار على الإطلاق الناتجة عن فقدان الاستخدام أو البيانات أو الأرباح ، سواء في إجراء عقد أو إهمال أو غيره من الإجراءات التعرفية ، الناشئة عن أو على اتصال باستخدام أو أداء هذا البرنامج.