چگونه برنامه نویسی را شروع کنیم ؛ ۸ گام برای ساخت اپلیکیشن از ابتدا

چگونه برنامه نویسی را شروع کنیم

  • بهترین روش برای یادگیری کد نویسی چیست؟
  • چگونه تبدیل به یک برنامه نویس شویم؟
  • چطور یک برنامه بنویسیم؟

اینها از جمله پرسش هایی هستند که اغلب مبتدیان مشتاق به برنامه نویسی می پرسند و بدون شک شما نیز درباره ی این موضوع جستجوهایی را در اینترنت داشته اید. اما اگر شما درباره ی این سوالات جستجو نکرده، لازم است بدانید که ما در ادامه ۳ گام را برای پاسخ دادن به این سوالات معرفی می کنیم:

  • مرحله اول: زبان برنامه نویسی انتخاب کنید
  • مرحله ۲: زبان برنامه نویسی را بیاموزید
  • مرحله ۳: یک برنامه بنویسید و دانشتان را از این طریق در ذهن ثبت کنید.

جواب های زیادی برای مراحل ۱ و ۲ وجود دارد و با جستجوی ساده در اینترنت با آنها مواجه خواهید شد.

تمام مبتدیان برنامه نویسی برای شروع کار و ایجاد یک برنامه دچار سردرگمی هستند و این یک مساله ی کاملا طبیعی می باشد. بدون شک با جستجو در اینترنت آموزش های برنامه نویسی زیادی برای ایجاد برنامه هایی مانند پینترست، اینستاگرام، توئیتر و غیره وجود دارد که با تکنولوژی های مختلف انجام شده اند. اما مساله ی مهمی که در اینجا وجود دارد، این است که درک کد و منطق آنها برای برنامه نویسان کمی سخت است.

در ادامه ی این مطلب از آکادمی برنامه نویسان سعی می کنیم فرآیند  شروع و ایجاد طرح اولیه تا ساخت برنامه را برایتان ارائه دهیم.

پیش نیازها ی چگونه برنامه نویسی را شروع کنیم

اکثر برنامه ها به یک پایگاه داده نیاز دارند و در نتیجه اگر قصد دارید یک برنامه ی جدید را برای خودتان بسازید، به احتمال زیاد به زبان پرس و جوی پایگاه داده (SQL) نیاز خواهید داشت. مگر اینکه برنامه ای داشته باشید که نیاز به برقراری ارتباط با sql نداشته باشد، مانند flappy bird.

علاوه براین، اگر به دنبال ساخت برنامه برای وب هستید، در نتیجه نیاز دارید تا اساس DevOps را بشناسید و برای ایجاد محیط client/server و توسعه ی آن قادر به اجرای برنامه در محیط واقعی باشید.

در شرایطی که فقط قصد دارید به عنوان یک front-end توسعه دهنده وب فعالیت داشته باشید، HTML، CSS، جاوا اسکریپت و داشتن مهارت در codepen یا JSfiddle برایتان ضروری می باشد. در شرایطی که فقط به جاوا اسکریپت مسلط هستید و نمی خواهید زبان برنامه نویسی دیگری را یاد بگیرید، می توانید node.js را امتحان کنید، چون این پلت فرم جاوا اسکریپت برای back-end می باشد (علاوه براین، می توانید از MongoDB به عنوان پایگاه داده استفاده کنید چون بر اساس جاوا اسکریپت می باشد)

در غیر این صورت، اگر میخواهید یک برنامه وب کامل را ایجاد کنید، باید یکی از زبان های زیر را یاد بگیرید:

  • RUBY
  • پایتون
  • PHP
  • Java
  • GO
  • C#

در شرایطی که می خواهید بازی بسازید، نیاز به یادگیریLua می باشد، هر چند که c# یک انتخاب عالی برای ساخت بازی های سه بعدی می باشد. برای توسعه ی اپلیکیشن های تلفن همراه شما نیاز  دارید swiff/objective-c را برای توسعه ی ios و جاوا را برای برنامه نویسی اندروید بیاموزید.

گام اول: خودتان را بشناسید

مهم ترین مرحله در همان ابتدا شناخت علاقه مندی هایتان می باشد. با توجه به اینکه داشتن علاقه به یک کار مهم ترین عامل در ایجاد انگیزه می باشد، در نتیجه همان ابتدا از خودتان بپرسید که چه کاری را دوست دارید.

برای مثال:

  • از کدام برنامه ها بیشترین استفاده را میکنید؟
  • بدون کدام برنامه ها نمی توانید زندگی کنید؟
  • آیا به بازی علاقه مند هستید؟
  • آیا به طراحی علاقه مند هستید؟
  • و غیره

بعد از شناسایی علایق، می توانید تصمیم بگیرید که به چه چیزی علاقه مند هستید و از چه کاری لذت میبرید.

مرحله ۲: ایده پردازی کنید

بعد از اینکه توانایی های لازم را در خود بدست آوردید، حال زمان این میرسد تا برای خودتان یک ایده انتخاب کنید. شروع آن بسیار ساده است.

در اینجا منظور این نیست که اگر برای مثال میخواهید یک بازی بسازید، counterstike بعدی را طراحی کنید، بلکه شما باید یک بازی ساده تر از flappy bird را طراحی و بسازید.

بنابراین، بر اساس علایقتان و ایده ای که برای ساخت یک برنامه ساده در ذهن دارید کار را شروع کنید. اصلا مهم نیست که برنامه قبلا وجود داشته یا خیر.

در ادامه چند مثال ارائه می دهید که این موضوع و ایده پردازی را برایتان آسان تر کند:

  • اگر به آشپزی علاقه مند هستید، یک برنامه که دستور پخت غذاهای خانگی را آموزش دهد می تواند ایده ی خوبی باشد
  • اگر علاقه مند هستید که توییتر چطور کار میکند، سعی کنید یک نمونه ی بسیار ساده از توییتر را بسازید
  • اگر فردی بسیار فراموش کار هستید، سعی کنید یک برنامه برای خودتان بسازید
  • اگر به کارت بازی علاقه مند هستید، سعی کنید یک نمونه ی ساده از آن را بسازید

برنامه نویسی اندروید

۳- قابلیت های اصلی برنامه تان را لیست کنید

اگر به فکر ساخت یک برنامه هستید، قابلیت ها و توانایی های آن را لیست کنید. با قرار گرفتن قابلیت ها در یک لیست باعث میشود تا نگاه بهتری به برنامه داشته باشید و موارد غیر ضروری را حذف کنید. برای مثال می توانید مشخص کنید که آیا برنامه ی شما واقعا نیاز به ورود به فیسبوک دارد یا خیر؟

خیلی خوب است که برنامه تان کامل باشد و تمام قابلیت های عالی را داشته باشد، اما برای شروع کار خیلی ضروری نیست و باید با نمونه های ساده شروع به کار کنید. هیچ وقت سعی نکنید یک برنامه همه جانبه داشته باشید. مگر اینکه واقعا علاقه ی زیادی به چالش داشته باشید و با سختی ها دلسرد نشوید.

برای مثال در ساخت برنامه های مانند Reddit ویژگی های زیر ضروری می باشند:

  • ایجاد حساب کاربری
  • بازیابی رمزهای عبور
  • تغییر رمز عبور
  • ارسال لینک های جدید
  • ارسال نظر روی لینک
  • افزایش یا کاهش لینک
  • داشتن پروفایل برای نمایش history/activity

اما در مقابل ویژگی های زیر ضروری نیست و برای ساخت اولین برنامه ها غیرضروری هستند.

  • اشتراک گذاری مطالب در شبکه های اجتماعی
  • حذف نظرات
  • ویرایش نظرات
  • حذف حساب کاربری

قابلیت های جدید را می توانید در نسخه های بعدی با بروزرسانی اضافه کنید.

آموزش برنامه نویسی در مشهد

۴- طراحی برنامه

بعد از داشتن ایده و مشخص بودن قابلیت های برنامه، باید بتوانید با کاغذ و قلم خیلی سریع ui برنامه را طراحی کنید و مشخص کنید که کدام دکمه ها و در کجای برنامه باید وجود داشته باشند.

مدام یادداشت کنید و طرح را تغییر دهید تا زمانیکه کاملا بتوانید از طرح نهایی راضی شوید. البته بخاطر داشته باشید که، طرح کاملا ساده باشد.

آموزش برنامه نویسی اندروید در مشهد

۵- فلوچارت جریان کاری برنامه را رسم کنید

خیلی خوب و مهم است که بدانید برنامه تان چه چیز هایی لازم دارد و چه عناصری برای آن لازم می باشد و کاربران چطور با آن ارتباط برقرار می کنند. فلوچارت ui در اینجا یعنی اینکه کاربر چطور باید از ابتدا تا آخر از برنامه استفاده کند. برای هر گام نمودار را رسم کنید و سناریوهای مختلف را ترسیم کنید.

برنامه نویسی در مشهد

۶- پایگاه داده طراحی کنید

بعد از طراحی سناریوهای مختلف، حال باید بتوانید مشخص کنید که در هر گام چه نوع اطلاعاتی را نیاز دارید که نگهدارید. برای مثال، اگر برنامه نیاز به ایجاد حساب کاربری دارد، لازم است تا اطلاعاتی مانند نام کاربری و رمز عبور و غیره همگی ذخیره شوند تا کاربر بتواند با آن وارد برنامه شود.

برای برنامه هایی که نیاز دارید تا با سرور ارتباط برقرار کنید (به عنوان مثال یک برنامه کامل تحت وب fullstock)) یا اگر برنامه تان با یک API ارتباط برقرار می کند (مثلا بخواهید اطلاعات را از Yahoo weather دریافت کنید) حتما باید نمودار توالی را رسم کنید تا نحوه ی عملکرد هر فعالیت را شناسایی نمایید.

طراحی ux

UX Wireframe

تا این قسمت از کار، بر روی back end تمرکز داشتید و حالا باید بتوانید به front end نیز دقت کنید. با توجه به اینکه انسان ها موجوداتی بصری هستند، در نتیجه لازم است تا زمان بیشتری را برای درک اینکه چه کاری باید انجام دهید تا دید بصری داشته باشید، اختصاص دهید. خوشبختانه ابزارهای زیادی موکاپ و wireframing برای کمک به رسم جریان UX/UIبه صورت آنلاین وجود دارد (برای مثال framebox, mockflow, Gliffy و غیره)

گام ۶٫۵ (اختیاری): طراحی UI

این گام کاملا اختیاری می باشد و در توسعه ی برنامه در سمت front end به صورت حرفه ای تر می تواند موثر باشد. علاوه بر این، با این گام می توانید متوجه شوید که برنامه بعد از تبدیل شدن به اپلیکیشن نهایی چطور بنظر میرسد و در نتیجه راحت تر می توانید کدنویسی کنید.

اگر قصد دارید طراحی رابط کاربری را انجام دهید، به احتمال زیاد این کار را قبل از انجام هرکاری شروع خواهید کرد. این کار در مرحله ۲ نیز انجام خواهد شد

اگر تا بحال طراحی انجام نداده اید و قصد دارید بدانید که برنامه تان در نهایت چه ظاهری خواهد داشت، می توانید از کیت های ui استفاده کنید. پیشنهاد می کنیم ظاهر کار را زیاد پیچیده نکنید و بیشتر تمرکزتان بر روی ایجاد توابع سازنده باشد.

گام ۷: تحقیق برای بهترین راه حل

بعد از طی مراحل قبلی، حال باید بتوانید بیاموزید که چطور کدگذاری کنید؟ شما به عنوان یک برنامه نویس باید یاد بگیرید که چطور باید ارزیابی کنید و تصمیم بگیرید که چه زمانی باید از کدی که توسعه دهندگان دیگر ایجاد کرده اند، استفاده نمایید و چه زمانی خودتان یک تابع جدید بسازید.

از آنجا که هر شخص یک برنامه منحصر به فرد ایجاد میکند، در نتیجه نمی توان تمام آنها را در جای دیگر استفاده نمود و این شما هستید که باید تصمیم بگیرید چه موقع و از کدام راه حل موجود باید استفاده نمایید و چه زمانی خودتان باید کد را ایجاد کنید.

به دنبال راه حل باشید

به نموداری که در مرحله دو کشیدید نگاه کنید. چه چیزهایی در این نمودار وجود دارند که اصلا به نحوه ی ساخت آنها فکر نمیکنید؟

برای مثال، آیا کاربر نیاز به ایجاد حساب کاربری دارد؟ آیا برنامه نیاز به بروزرسانی در زمان واقعی دارد؟

در بسیاری از مواقع، بهترین کار استفاده از توابع بروزرسانی در زمان واقعی (مانند firebase)، مسیریابی/شبکه (مانند AFNetworking برای ios)، احراز هویت و قطعات مرتبط با رابط کاربری می باشد (مانند flipboard یا pintrerest-esque)

بسیاری از پایگاه داده های آنلاین برای جستجوی عناصر/قطعات/ پکیج های مرتبط با backend وجود دارد، اما لازم است تا شما با دقت چیزهایی که دیگران نوشته اند را ارزیابی کنید، نه اینکه به صورت کورکورانه از آنها استفاده نمایید.

در هر صورت، بهترین کار مطالعه ی کارها و روش هایی می باشد که سایر توسعه دهندگان قبلا استفاده نموده اند. برای این منظور می توانید از github استفاده کنید.

انتخاب ابزار برای شروع

اگر شما در حال ساخت یک برنامه تحت وب هستید، شاید بتوانید yeoman را به منظور کمک در سرعت بخشیدن به پروژه استفاده نمایید.

اگر در حال ساخت یک برنامه React هستید، میتوانید از کیت های استارتر موجود در پیاده سازی های FLUX استفاده نمایید.HTML5Boilerplate و Bootstrap قالب های رایج Front end برای برنامه ی شما محسوب میشوند. در اغلب موارد Boilerplate از Glup یا Grunt برای مدیریت وظایف استفاده میکند.

از آنجا که به احتمال زیاد میخواهید با استفاده از برخی قطعات موجود با راه حل ها استفاده کنید، در نتیجه باید اجازه ی نصب مرورگر داده شود تا وابستگی ها مدیریت گردند (np برای کسانی که از node.js استفاده می کنند و cocoaPods برای توسعه دهندگان ios). نگران نباشید، اغلب این ابزارها به شما روش نصب را آموزش می دهند.

گام هشتم: ساخت برنامه

در این مرحله شما آماده هستید تا برنامه مورد نظرتان را بسازید. اما چند نکته وجود دارد که باید رعایت کنید.

برنامه نویسی اندروید مشهد

چک لیست تهیه کنید

شما باید بر روی توابع اصلی برنامه تمرکز داشته باشید. بنابراین، اگر با یکی از کارهای مانند سیستم نظر سنجی کار نمیکند، نباید بلافاصله شروع به ساخت یک پروفایل view کنید. به عبارت دیگر، اگر شما در حال ساخت یک فرم هستید، باید روی کدهای سمت front و back end به صورت همزمان کار کنید تا زمانیکه کار به طور کامل انجام شود.

به طور خلاصه می توان گفت، از کارهایی که باید انجام شود چک لیست تهیه نمایید.

اول تست کنید

به استثنای ساخت بازی، بهترین کار در ساخت برنامه ها،تست توابع قبل از اینکه بخشی از کد نهایی گردد، خواهد بود. اشتباهات بخش جدایی ناپذیر در کار می باشند و تست تا حد زیادی اشتباهات شما را کاهش داده و شانستان را برای تهیه ی محصول بدون باگ افزایش می دهد.

بنابراین این یک ایده ی خوب می باشد که کارهای کوچک را شروع کنید و به انجام دادن تست توسعه (TDD) عادت کنید؛ مخصوصا زمانی که تازه کار هستید.

ابزارهای تست زیادی برای این منظور وجود دارند، مانند Jasmine یا karma برای جاوا اسکریپت، Rspec برای Ruby، PyTest برای پایتون، PHPUnit برای PHP و Quick به عنوان یک جایگزین xctest برای توسعه دهندگان ios

علاوه براین، اگر در حال ساخت یک برنامه ios یا اندروید هستید، استفاده از Crashlytics یک ایده ی خوب می باشد.

از گیت استفاده کنید

Git یک سیستم کنترل نسخه می باشد که مخزن کاملی از تغییرات موجود بر روی برنامه می باشد که قابلیت ردیابی کامل تغییرات را دارد. بهترین کار در همان ابتدای شروع برنامه نویسی، یادگیری نحوه ی کار با گیت می باشد. با استفاده از گیت می توانید براحتی اشتباهاتتان را اصلاح کنید و داده های از دست رفته را بازیابی نمایید. علاوه براین، اگر قصد دارید به صورت گروهی روی یک برنامه کار کنید، استفاده از گیت ضروری می باشد. github محبوب ترین سرویس میزبانی از مخزن git برای پروژه های منبع باز می باشد و Bitbucket برای مخازن خصوصی مورد استفاده قرار میگیرد.

گوگل

در گام ۷ به google-fu اشاره کردیم، اما دوباره باید بگوییم که یادگیری اینکه گوگل یک مهارت مهم برای برنامه نویسان می باشد بسیار ضروری است. اگر در یک قطعه از کد با مشکل برخورد کرده باشید، اما ندانید که چطور آن را برطرف کنید، گوگل بهترین راه حل خواهد بود.

در stackoverflow سوال بپرسید

به احتمال بسیار زیاد، در حین جستجو برای پاسخ سوالات با stackoverflow برخورد کرده اید. یکی از بهترین راه ها برای دست یافتن به جواب سوالاتتان، بدون شک سوال پرسیدن در stackoverflow خواهد بود.

مربی آموزش برنامه نویسی پیدا کنید

بسیاری از افراد معتقدند که stackoverflow برای مبتدیان زیاد مناسب نیست، زیرا مبتدیان نمی دانند که چطور باید سوالات خود را بیان کنند. اما راه حل چیست؟

در این شرایط، هیچ چیز به اندازه ی استفاده از برنامه نویس با تجربه نمی تواند راه را برایتان آسان کند. در نتیجه بهتر است در جلسات زنده در Codementor، استفاده کنید که نرخ هر مربی ۱۵ دلار در دقیقه می باشد. در طول این جلسات می توانید از چت ویدئویی با توسعه دهندگان با تجربه تبادل نظر کنید و کدهای خود را با آنها به اشتراک گذاشته و آنها نحوه ی اصلاح و تغییر در کد را به شما آموزش خواهند داد.

سخن آخر چگونه برنامه نویسی را شروع کنیم ?

برنامه نویسان در هر لحظه و زمان ممکن است دچار اشتباه شوند و نباید به برخورد با اولین خطا در مراحل تست ناامید شوید و باید بتوانید به آنها مسلط گردید. ممکن است ساعتها و یا روزها را صرف برنامه نویسی کنید و نباید خسته شوید و فراموش نکنید که شما یک فرد مبتدی در این زمینه هستید و راه دشوار است، اما با کسب تجربه می توانید به مرور موفقیت های زیادی را بدست آوردید.

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

درباره‌ی زعیم باشی

فاطمه زعیم باشی؛ کارشناس ارشد نرم افزار، نویسنده، مترجم و علاقه مند به برنامه نویسی

همچنین ببینید

۱۵ نکته برای رشد کسب و کار آنلاین بدون نیاز به پول زیاد

اگر بدنبال شروع یا توسعه ی کسب درآمد اینترنتی بدون نیاز به صرف هزینه های …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *