كيف تتعلم تطوير iOS

من وقت لآخر ، يسألني الناس عن كيفية تعلم تطوير iOS. حسنا هيا بنا.

قبل البدء ، كن جادًا في هدفك النهائي. هل تحاول وضع نموذج أولي لأحد المفاهيم ، والحصول على التمويل ، ثم استئجار شخص آخر للتعامل معه؟ هل أنت "عام" يحتاج إلى السرعة بسرعة كبيرة. تلقيت أخبارًا جيدة: لقد رأيت أشخاص يشحنون تطبيقات في غضون أسابيع قليلة فقط.

لكن نصيحتي لا تتعلق بالتحسين لمشروعك الأول. أنا أفكر أكثر عن المدى الطويل. أنت تعرف بالفعل كيفية البرمجة ، وكنت على استعداد لاستثمار جزء كبير من الوقت لإتقان تطوير نظام التشغيل iOS.

الخطوة 1: اختيار شيء لبناء لنفسك

ربما أكون مختلفًا ، لكن لا يمكنني قراءة كتاب مدرسي. أحتاج إلى السياق والممارسة.

عندما أتعلم لغة ما ، أحتاج إلى لوحة الصفر للتعزيز. لقد وجدت ملاعب لا تقدر بثمن عندما تعلم سويفت.

لتعلم نظام iOS من أعلى إلى أسفل ، ابتكر تطبيقًا صغيرًا يحك حكة. إذا كان هذا يحفزك ، فقد يكون قائمة المهام أو تطبيق التأمل أو مدقق الطقس. كنت أميل إلى شيء أكثر شخصية. مهلا ، ربما تطبيق لمساعدة أعمال والديك؟

الخطوة 2: دراسة اللغات

قبل أن تفهم النظام الأساسي ، تعرف على اللغات من الداخل والخارج. نعم ، اللغات متعددة.

بينما وصلت Swift إلى الكتلة الحرجة ، هناك مجموعة كبيرة من كود Objective-C هناك. لا تحتاج إلى إتقان كل تفاصيل اللغة ، ولكن يجب أن تكون قادرًا على قراءتها. اعتدت تدريس الهدف- C للمهندسين في يوم واحد. إنها لغة صغيرة.

سويفت: اقرأ كتاب لغة برمجة سويفت من Apple. إذا كنت تريد مقدمة سريعة ، شاهد "الشروع في العمل باستخدام Swift" ، من مؤتمر مطور Apple السنوي ، WWDC.

الهدف- C: لدى Apple دليل مجاني ، والذي ينجز المهمة.

لا يمكنني استخدام [اللغة المفضلة]؟

هناك أدوات خارجية لإنشاء تطبيقات في JavaScript ، C # ، أيا كان. تجنبهم مثل الطاعون. تستخدم معظم تطبيقات iPhone Swift and Objective-C. تم تحسين كل سلسلة أدوات Apple لتلك اللغات. عندما تنهار لغتك البديلة لأسباب غامضة - وستكون كذلك - أنت وحدك.

ستقضي معظم وقتك في تعلم أطر عمل Apple ، وليس بناء الجملة. ستكون نماذج الكود لهذه الأطر في Swift ، لذلك تحتاج إلى تعلم Swift على أي حال.

الخطوة 3: اقرأ أدلة Apple

لا يوجد نقص في الكتب والدروس التعليمية والجهات الخارجية المتعلقة بتطوير iOS. بعضها جيد وبعضها سيء ويحاول الكثيرون بيعك على شيء لا تحتاجه. السلطة المطلقة هي Apple ، وهي تتخلى عن محتوى مجاني رائع.

قراءة ابدأ تطوير تطبيقات iOS مع سويفت. ثم اقرأ كل دليل في "من أين تذهب من هنا." ثم ، إذا كنت ترغب في سماع موضوع تم صياغته بطريقة مختلفة ، استعرض مقاطع الفيديو WWDC. بعد ذلك ، إذا كنت تريد أن تتعمق ، فاقرأ المستندات.

إذا كانت مستندات Apple جافة بعض الشيء ، فتغطي مواقع مثل NSHipster العديد من الموضوعات المبتدئة بنبرة غير عادية. تقوم مواقع مثل RayWenderlich.com بتغطية المحتوى بتنسيق تعليمي. تتميز Objc.io بالكتابة المتعمقة الرائعة ، لكنها على الأرجح متقدمة جدًا بالنسبة لك في الوقت الحالي.

هناك أوقات يختلف فيها مؤلفو الجهات الخارجية مع Apple. جرب طريقة Apple في الوقت الحالي.

الخطوة 4: توقف عن القراءة. مجرد بناء التطبيق الخاص بك.

هل استوعبت كل شيء قدمته لك Apple؟ يمكنك أن تقول لي ما هو MVC؟ ماذا تفعل UIView؟ أنت تعرف كيف تتعامل مع Google عندما تتعثر؟ لديك كل ما تحتاجه. الذهاب بناء التطبيق الخاص بك.

بشكل جاد. فقط اذهب ابنيها.

لقد وصلت إلى نقطة تريدها ، "كيف يمكنني تغيير لون خلفية العرض؟" ستكون نتيجة البحث الأولى هي Stack Overflow ، بالطبع. تحقق من ذلك مع الوثائق على UIView.

بمجرد تخطي المفاهيم عالية المستوى ، وفي "كيف أفعل X فعليًا" ، كل هذا غوغلينغ. اسأل أي مطور عن كيفية كتابة رسم متحرك انتقالي مخصص بين وحدتي تحكم عرض. الجواب: "أنا جوجل ذلك".

من المغري الاعتقاد أنه يمكنك إتقان شيء ما من خلال قراءة منشور واحد فقط أو مشاهدة مقطع فيديو آخر. كلا. ربما تفهم الأساسيات. تصل إلى المستوى التالي من خلال التجربة والخطأ.

ماذا عن هذه الأشياء عن MVVM / VIPER / FRP؟

إذا كنت تقرأ كثيرًا قبل الإنشاء وابتعدت كثيرًا عن Apple ، فستقرأ عن بنى iOS المختلفة. يحاول هؤلاء حل المشكلات التي لم تفهمها بعد. تم اختراع هذه من قبل أطراف ثالثة ، لذلك أبل لا تؤيدها.

قم بإنشاء تطبيق باستخدام بنية Apple الممل ، MVC. بعد الانتهاء من ذلك لفترة من الوقت ، عد إلى هناك ثم ألق نظرة على تلك الهياكل. لا أستخدمها ، ولكن مهلا ، ربما ستجد قيمة فيها.

ولكن ماذا عن مديري الحزم وأدوات البناء ؟!

يمكن تقديم حجة مفادها أنه يجب عليك التعرف على الفور على قرطاج و CocoaPods ، وهما أدوات خارجية لإدارة التبعيات. أو Fastlane ، الذي يعد بأتمتة مهام البناء المعقدة.

عندما تبتعد عن سلسلة أدوات Apple المدعومة ، تصبح الأمور هشة ، لأنها تعتمد على واجهات برمجة التطبيقات غير المدعومة. في بعض المشاريع ، قد يكون الوقت الذي توفره هذه الأدوات يستحق الكسر العرضي.

ولكن نظرًا لتفادي العديد من الفرق لهذه الأدوات بسبب الصداع ، فلن أعتبرها ضرورية. على العكس تماما. في رأيي ، يجب ألا تستخدم هذه الأدوات حتى تفهم ما يجري تحتها.

الخطوة 5: استكشاف النظام البيئي

قد تكون Apple سلطة ، لكنك تحتاج إلى آراء متنوعة لتحقيق التوازن بين المساعدات الرائعة. يشكو المطورون المتمرسون خارج كوبرتينو من جميع الحالات المتميزة في واجهات برمجة التطبيقات الخاصة بشركة Apple ، والاختراقات الفظيعة التي استغرقتها لحلها.

ولكن بمجرد مغامرتك للنظام الإيكولوجي الأكبر لنظام التشغيل iOS ، ستصادف حججًا حول Interface Builder و Core Data و Auto Layout والكثير من الأشياء الأخرى. دائما ما تغذيها الحكايات والآراء ، وليس البيانات.

استخدم التفكير الناقد. التراجع واسأل من أين يأتي المؤلف. لا يستغرق الأمر سوى عدد قليل من منشورات المدونة ليصبح مرجعًا في موضوع ما حتى لو لم يقم المؤلف بشحن أي شيء مهم من حوله.

أنا لا أوصيك بالاستماع فقط للأشخاص الذين يعملون على Facebook / Instagram / Twitter / Pinterest. هذه التطبيقات لها متطلبات مختلفة جدًا عن 99٪ من التطبيقات في العالم. قم بتصفية نصائحهم من خلال العدسة ، "هذا ما تفعله عندما يكون لديك مائة مطور يعملون على تطبيق يستخدمه مئات الملايين من الأشخاص."

في الطرف الآخر من الطيف ، تتمتع الاستشارات الصغيرة برؤى مفيدة بفضل تنوع المشروعات التي تقوم بالعبث بها. لكن في بعض الأحيان يوصون بلغات وأطر جديدة قبل أن تكون مستقرة بما يكفي للمشاريع المهمة.

استخدم التفكير الناقد ، خاصة على الأشخاص الذين لديهم الكثير من المتابعين.

الخطوات من 6 إلى ∞: إنشاء تطبيق مختلف

لقد انتهيت للتو من تطبيق قائمة Todo؟ عظيم. يمكنك الآن العمل على شيء مختلف ، مثل تطبيق Photo Filter ، لذلك ستتعرف على AVFoundation. عند الانتهاء من ذلك ، قم ببناء شيء يتطلب خرائط ، وستتعرف على GPS و MapKit.

بدأت في تطوير الكاكاو قبل عشر سنوات ، على جهاز Mac ، وما زلت أتعلم أشياء جديدة. السر الوحيد هو إيجاد طرق جديدة لتحدي نفسك.