هايبر كارد
ملخص > تصميم

تعتمد HyperCard على مفهوم «الحزم» للبطاقات الافتراضية،  تحتوي البطاقات على بيانات، تمامًا كما هو الحال في جهاز حامل بطاقات Rolodex، تحتوي كل بطاقة على مجموعة من الأجزاء التفاعلية، ومنها حقول النص وخانات الاختيار والأزرار وعناصر واجهة المستخدم الرسومية الشائعة (GUI)، يتصفح المستخدمون المكدس من خلال التنقل من بطاقة إلى بطاقة، أو باستخدام ميزات التنقل المتضمنة، أو آلية بحث قوية، أو من خلال البرامج النصية التي أنشأها المستخدم.
يقوم المستخدمون ببناء أو تعديل الحزم عن طريق إضافة بطاقات جديدة، يضعون أدوات واجهة المستخدم الرسومية على البطاقات باستخدام محرك تخطيط تفاعلي يعتمد على واجهة سحب وإفلات بسيطة،  وكما يتضمن HyperCard نماذج أولية أو بطاقات قالب تسمى الخلفيات؛ عند إنشاء بطاقات جديدة، يمكنهم الرجوع إلى إحدى بطاقات الخلفية هذه، مما يؤدي إلى نسخ جميع الأدوات الموجودة في الخلفية على البطاقة الجديدة، بهذه الطريقة، يمكن إنشاء حزمة من البطاقات ذات التخطيط والوظائف المشتركة، يتشابه محرك التخطيط من حيث المفهوم مع النموذج المستخدم في معظم بيئات تطوير التطبيقات السريعة (RAD) مثل Borland Delphi و Microsoft Visual Basic وVisual Studio.
تعتمد ميزات قاعدة البيانات لنظام HyperCard على تخزين حالة جميع الأدوات الموجودة على البطاقات في الملف الفعلي الذي يمثل المجموعة، فقاعدة البيانات غير موجودة كنظام منفصل داخل حزمة HyperCard؛ لا يوجد محرك قاعدة بيانات أو برمجية مشابه، بدلاً من ذلك، تعتبر حالة أي أداة في النظام مباشرة وقابلة للتحرير في أي وقت، من منظور وقت تشغيل HyperCard، لا يوجد فرق بين تحريك حقل نصي على البطاقة والكتابة فيه، فكلتا العمليتين تغير ببساطة حالة الأداة الهدف داخل المجموعة، فيتم حفظ هذه التغييرات فورًا عند اكتمالها، لذا فإن الكتابة في أحد الحقول تؤدي إلى تخزين هذا النص في الملف الفعلي للحزمة، يعمل النظام بطريقة عديمة الحالة إلى حد كبير، دون الحاجة إلى الحفظ أثناء التشغيل، هذا أمر مشترك مع العديد من الأنظمة الموجهة لقواعد البيانات، على الرغم من اختلافها إلى حد ما عن التطبيقات المستندة إلى المستندات.
اخر العناصر الأساسية في HyperCard هو البرنامج النصي، وهو عنصر يحمل رمزًا واحدًا لكل كائن داخل الحزمة، البرنامج النصي هو حقل نص يتم تفسير محتوياته بلغة HyperTalk،  مثل أي خاصية أخرى، يمكن تحرير نص أي أداة في أي وقت ويتم حفظ التغييرات بمجرد اكتمالها، عندما يستدعي المستخدم إجراءات في واجهة المستخدم الرسومية، مثل النقر على زر أو الكتابة في حقل، تتم ترجمة هذه الإجراءات إلى أحداث من خلال زمن تشغيل HyperCard، فيقوم زمن التشغيل بعد ذلك بفحص البرنامج النصي للأداة التي تكون هدف الحدث، مثل زر، لمعرفة ما إذا كانت أداة البرنامج النصي الخاص بها تحتوي على رمز الحدث؛ والذي يسمى المعالج، فإذا كان الأمر كذلك، فإن مشغل HyperTalk يقوم بتشغيل المعالج؛ فإن لم يحدث ذلك، يفحص فحص زمن تشغيل الأدوات الأخرى في تسلسل هرمي مرئي.
|  مرئية خارجية |  مرئية خارجية |
| --- | --- |
: 
: 
: "HyperCard Mania!" Computer Chronicles, 1987 archive.org (أرشيف الإنترنت)
تشكل هذه المفاهيم غالبية نظام HyperCard؛ فتوفر الحزم والخلفيات وبطاقات نظام شبيهة بواجهة المستخدم الرسومية، ويوفر ملف الحزمة استمرارية الأداة ووظائف تشبه قاعدة البيانات، ويسمح HyperTalk بكتابة المعالجات لأحداث واجهة المستخدم الرسومية، على عكس غالبية أنظمة RAD أو قواعد البيانات في ذلك الوقت، تجمع HyperCard كل هذه الميزات، سواء التي تواجه المستخدم أو التي تواجه المطور، في تطبيق واحد. يسمح ذلك بالتحول السريع والنماذج الأولية الفورية، ربما بدون أي ترميز، مما يسمح للمستخدمين بتأليف حلول مخصصة للمشاكل المتعلقة بواجهاتهم المخصصة. أصبح «التمكين» كلمة رئيسية حيث تبنى مجتمع Macintosh هذه الإمكانية، كما كانت عبارة «البرمجة لبقيتنا»،  أي أي شخص، وليس مجرد مبرمجين محترفين.
هذا المزيج من الميزات هو الذي يجعل أيضًا HyperCard نظامًا قويًا للوسائط الشاملة، حيث يمكن للمستخدمين إنشاء خلفيات تناسب احتياجات بعض الأنظمة، مثل rolodex، واستخدام أوامر HyperTalk البسيطة لتوفير أزرار للتنقل من مكان إلى آخر داخل الحزمة، أو توفير نفس نظام التنقل داخل عناصر البيانات في واجهة المستخدم، مثل خانات النصوص، باستخدام هذه الميزات، من السهل إنشاء أنظمة مرتبطة تشبه روابط النص الشامل على الويب،  وعلى عكس الويب، فإن البرمجة والتنسيق والتصفح كلها نفس الأداة، تم إنشاء أنظمة مماثلة لـ HTML، لكن خدمات الويب التقليدية ثقيلة الوزن بشكل ملحوظ.