من الويب والبنوك إلى تطوير iOS: تجربة Apiqa الشخصية للمبرمجين

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


من انا


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



في عام 2015 ، بدأ دراسة البرمجة وحصل على تدريب داخلي في UrZPI (مصنع منتجات البرمجيات Ural) ، والذي تعاون فيما بعد مع الوكالة التفاعلية Everything Is Clear ، وظهرت Apiqa. لذلك انغمس في عالم تطوير الويب. في العام الماضي ، أردت أن أجرب نفسي على اتساع نظام التشغيل iOS ، وذهبت الشركة لمقابلتي.


البدء: برمجة الويب


انخرطت UrZPI في تطوير مواقع: "التفاحة الذهبية" ، "رابطة الإسكان والمرافق العامة" ، علامة تجارية للمجوهرات ، صالونات تجميل وغيرها. لقد صنعنا مشروعًا واسعًا لعلم الأمراض الرقمي - منصة لدراسة السرطان. بالتوازي مع وظيفتي الرئيسية ، كنت مرشدًا في مدرستين عبر الإنترنت: Loftschool و HTML Academy.


في عام 2018 ، أصبحت PIK Comfort ، أكبر شركة إدارة في روسيا ، العميل الرئيسي لشركة Apiqa ، ونتيجة لذلك تم تحديد التخصص ، وبدأنا في الانخراط في تطوير المنتجات في قطاع الإسكان والخدمات المجتمعية.



في شهر أيار (مايو) من العام الماضي ، كان لدينا طلب على تطبيقات الهاتف المحمول ، وجاء المطورون المحليون للشركة. بحلول ذلك الوقت ، تعبت من الويب وأردت أن أجرب نفسي في هاتف محمول. بما أنني معجب جدًا بـ Apple ، فقد قررت أن أكتب لـ iOS.


الانغماس في عالم المحمول


في اليوم الأول ، طلبت من مطور iOS الخاص بنا تقديم المشورة لي من أين أبدأ. لقد تبين أنه كان مستجيبًا ولعب دور معلمه الخاص بي ، حيث ساعد في مراحل التدريب المختلفة. قرب السقوط ، بدأت في قراءة الكتب: "سويفت. أساسيات تطوير تطبيقات iOS و macOS "(الإصدار الرابع) بواسطة Vasily Usov و" Swift 3. تطوير التطبيقات في بيئة Xcode لأجهزة iPhone و iPad باستخدام iOS SDK "(الإصدار الثالث) Molly Mascri. ستة أشهر قرأت ، الواجبات المنجزة ، كتبت شيئًا في نفس الوقت ، استلمت أفكار التطبيق من معلمه إلى مهارات الضخ.



لقد أحببت Swift - اتضح أنه بسيط جدًا ومماثل لـ TypeScript في بناء الجملة الذي أكتب عليه على الويب. تعد أدوات التطوير لأنظمة Apple أكثر تعقيدًا - فهناك الكثير من الإرث منذ وقت Objective-C ، وهو نظام API قديم وغير مريح. قرأت الكتاب الثاني مع صرير.


فشل طلب السحب الأول ، ولأول مرة أردت إسقاط كل شيء ، لكنني لم أفعل. وقد تم تحديد مسار العملية في غضون ستة أشهر تقريبًا: الآن أكتب للويب ولآي أو إس.


نحن نوزع المهام الحالية. أحب أن أفعل شيئًا غير عادي ، لا يمكن الوصول إليه من قبل أحد مطوري الويب - على سبيل المثال ، 3D Touch ، لكن الرسوم المتحركة لم تكن قابلة للتعديل بعد ، ليس لدي شعور بالتصميم. إن تنشيط واجهة على الويب أسهل بالطبع - هناك رمز أكثر قابلية للفهم ، ولا توجد مشكلات معقدة.


تطوير المحمول والويب: ما الفرق


على الويب ، يتم إنشاء الصورة المرئية بالكامل باستخدام الكود. يمكنك قراءتها وتخيل المنتج النهائي. في Xcode ، هذا هو IDE لمطوري iOS ، هناك Interface Builder - أداة تسمح لك بكتابة الحروف باستخدام الواجهة الرسومية عن طريق سحب المؤشر مع المؤشر - أي أنك لست بحاجة إلى كتابة رمز للجزء المرئي.



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


ماذا تختار: الويب أو الجوال؟


القرار لك. عليك أن تفهم أن لديهم وضعًا مختلفًا تمامًا في السوق. الويب عبارة عن منصة مجانية ، والمشرعون في الهاتف المحمول هم شركات تمتلك iOS و Android - يقررون مكان التطوير ، والأدوات التي يجب أن يستخدمها مطورو البرامج. عند البرمجة على الويب ، يمكنك استخدام أطر عمل مختلفة ، والكتابة بلغات مختلفة ، واستخدام معرفات بيئة تطوير متكاملة مختلفة ، بينما لنظام iOS لا يوجد سوى Swift و Cocoa و Xcode. إذا ظهرت بعض الميزات الجديدة في Xcode ، فستظهر لجميع المطورين ، ولكن إذا لم يكن كذلك ، فلا. يوفر هذا القيد من Apple طلبًا عند كتابة التعليمات البرمجية ، ولكن على الويب عليك ضبط هذا الطلب بنفسك.


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


بدوره ، بالإضافة إلى تطوير iOS في المهد ، تمنح Apple المطور مزيدًا من الحرية فيما يتعلق بتنفيذ الوظائف - Face ID و iCloud والتخزين وأكثر من ذلك بكثير. لديك وصول كبير إلى الأجهزة المخصصة. وفي المتصفح ، تكون محدودًا بما يتيح لك هذا المتصفح.


مزيد من الطريق


تطوري المحتمل على شبكة الإنترنت هو دراسة أشياء ليست مطلوبة كثيرًا في العمل اليومي. في نظام التشغيل iOS ، لا يزال لدي الكثير من الأسئلة ، يوجد مكان للتطوير والنمو والتعلم. لقد انجذبت إلى إمكانية التطبيق العملي للمهارات في إطار الحياة اليومية والعمل: أنت بحاجة إلى كتابة شيء للهاتف - سأكتبه ، أحتاجه من أجل Mac - سأعذب نفسي ، أفرزها وأكتبها ، للمشاهدة و Apple TV أيضًا. كنت أرغب بالفعل في كتابة ألعاب ، لكنني أدركت بعد ذلك أن هذا اتجاه معقد منفصل ، حيث يستغرق الغمر الكثير من الوقت. أنا لست مستعدًا لهذا حتى الآن.


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


مباشرة بعد الإعلان عن SwiftUI والإصدارات الجديدة من أنظمة تشغيل ، أردت أن أتطرق إليها. لقد قمت بتثبيت نسخة تجريبية ... وقتلت الساعة - تحولت إلى قرميد. لجعلها تعمل مرة أخرى ، اضطررت أيضًا إلى ترقية الهاتف إلى الإصدار التجريبي الخام من نظام التشغيل iOS.


بشكل عام ، أعجبتني الطريقة مع SwiftUI أكثر بكثير من الطريقة التي نعمل بها الآن - التنسيق التلقائي. SwiftUI بسيط ومباشر ، تكتب الرمز وترى على الفور ما تحصل عليه. في الواقع ، إنه مشابه للويب: تكتب الرمز ، ويظهر كل شيء في المتصفح على الفور ، ولا يتطلب أي تجميع طويل وتجميع ثابت للتطبيق.



ما هي النتيجة؟


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


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


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


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

Source: https://habr.com/ru/post/ar460223/


All Articles