อยากเรียนเขียนapp ios ครับ

อยากถามครับว่าapp อย่างพวก snapchat,line ,chat ต่างๆ แชร์นู้นนี้ แต่งรูป หรือแอปพลิเคชั่นเกี่ยวกับเครือข่ายสังคมต่างๆ เขาใช้โปรแกรมไรทำครับ ใช้x code หรือโปรแกรมเขียนทั่วๆไปเหมือนกันหรือเปล่าครับ เขาเริ่มกันจากตรงไหน

ส่วนตัวอยากเรียนเขียนแอปเป็นจนเข้าใจ สามารถใช้ไอเดียสร้างสรรค์สร้างมูลค่าได้ ผมไม่ได้เพ้อนะ
แต่ไม่ได้เรียนสายcom sci ตอนนี้ปีหนึ่ง
ตอนนี้เรียน c language เบื้องต้นตามเว็ปอยู่ครับ อีกอย่างบอกต้องเก่งคณิต อยากรู้ว่าต้องเก่งขนาดไหนเชียวสำหรับแอป ที่กล่าวมา ผมไม่ได้คณิตครับ จบกัน
ชอบวิเคราะห์กับ ภาษามากกว่า ไม่ชอบตัวเลข ผมจะไปได้ซักกี่น้ำ
อีกอย่างมี objtive c, swift สองตัวนี้จำเป็นต้องเรียน c ก่อนมั้ยครับ ที่กล่าวมาคือสนใจของios app ครับ

เผื่อมีใครหลายคนอยากทราบเหมือนผม มือใหม่จริงๆครับ
ถ้าใครใจดีอยากสอนสั่งแนะนำ ละก็ทิ้งข้อมูลให้ติดต่อหน่อยเด้อครับ ขอบคุณครับ
แท็กผิดขออภัยครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 4
ขอเดาว่า จขกท. ไม่ได้จบมาทางด้านสายตรงเหมือนผม (ผมจบสถาปัตย์ครับ มาสาย UI Designer ก่อนจะหันหัวเข้ามาลอง coding ตรงๆ)
เลยอยากแชร์ประสบการณ์ 1 ปีที่ผมได้รับจากการทดลองของตัวเองไม่มีตำรา หรือมหาลัยรองรับนะครับ

1  สิ่งที่สำคัญกับ จขกท.ตอนนี้มากๆเลยคือเรื่องพื้นฐานครับ พื้นฐานในเเง่นี้ไม่ใช่เเค่อ่านออกเขียนภาษา C ได้ ในการพัฒนาแอปพลิเคชั่นจริงๆ พื้นที่ฐานที่ว่าหมายถึงความเข้าใจในคอนเสปของการสร้างโปรแกรมให้เป็นโปรแกรม สามารถต่อขยาย เอาไปใช้งานในสถานการณ์จริงได้ ถ้าจะสรุปสั้นๆ พื้นฐานที่จขกท.ควรจะเริ่มเก็บมีดังนี้ครับ

- ความเข้าใจใน syntax ของ ภาษานั้นๆ / การใช้ operation พื้นฐาน / for-loop switch (ตรงนี้สามารถหาอ่านหาเขียนได้ทั่วไปตามเวปไซท์)

- ความเข้าใจใน การเขียนโปรแกรมเชิงวัตถุ (OOP) / การสร้างคลาส /นำคลาสไปใช้งาน /เล่นกับ singleton ให้เป็น (เริ่มยากขึ้นมา เเต่พอจะมีแหล่งให้เรียนรู้ศึกษาครับ - การทำ OOP ให้เป็น สำคัญมากกับการพัฒนาแอพ เพราะเป็นเทคนิคพื้นฐานก่อนจะเริ่มทำอะไรซับซ้อนๆ)

- รู้จักคอนเสปของการทำ MVC (model-view-controller) เป็นเเนวคิดที่เราจะเเยกส่วนการทำงานของโปรแกรมเราเป็นสามส่วนครับ ส่วนหน้าตาแสดงผล / ส่วนโค้ดลอจิก / เเละโมเดลข้อมูล-ดาต้าเบส ระบบของIOS เเละ ANDROID มีโครงสร้าง MVC ที่คล้ายๆกัน เรียนเเค่พอให้รู้พื้นฐาน สามารถ เรียกไฟล์มาเเสดงผลจากโมเดล ไปถึงวิวได้ ก็พอครับ

หาก จขกท.มาถึงสเตปนี้เเล้ว สิ่งนึงที่จขกท.จะพบกับตัวคือ "การพัฒนาโมบายแอพนี่มันไม่ง่ายเลย" ใช่ครับ ไม่ง่าย.. เพราะระบบมันมีอะไรให้เราทำเยอะเเยะ ในหนึ่งทีมที่ทำงานด้วยกันเลยจะมีคนอย่างน้อยสามคนครับ แยกกันไปทำงานคนละงานกันเลย เเต่ถ้าระบบงานซับซ้อนมากขึ้นบางทีเราก็อาจจะต้องหาคนมาเพิ่ม

2  ในตอนที่ผมเริ่มพัฒนาแอพกับเพื่อนจริงๆ ที่สุดเพราะตัวเองมีพื้นฐานด้านดีไซน์มามากกว่าโปรแกรมมิ่ง ผมเลยเน้นที่การพัฒนาโค้ดส่วน View ก่อนครับ แต่ถ้าจกขท.สนใจจะทำ Model หรือ Controller ก้ไม่ผิดอะไร หลักการในการพัฒนาโค้ดของทั้งสามส่วน ถ้ามองจากมุมของมือใหม่ จะไม่มีอะไรมากครับ " โค้ดและฟังคชั่นเกือบทุกอย่างที่เราเห็นจากเวปดังๆ ทุกวันนี้มันมี Library ให้จกขท.ได้โหลดไปใช้ โหลดไปเล่นฟรีอยู่เเล้วครับ " ดังนั้น พื้นฐานของสเตปที่สอง จะเป็นเรื่องของการเรียกใช้งาน Library ให้เป็น รู้จักการตั้งคำถามต่อโจทย์ที่แก้ไม่ตก เเละการทำงานเป็นทีมกับเพื่อนผ่านแพลตฟอร์มกลางที่ชื่อว่า Git ครับ ขอแจกแจงเป็นข้อๆด้านล่างนะ

- จกขท.ต้องตีโจทย์ของเเอพตัวเองให้เเตกก่อนครับว่าแอพที่เราอยากได้ ต้องการฟังคชั่นอะไรบ้าง?  เช่นสมมติว่าเราอยากทำแอพ"หาปั๊มNGV" ฟังคชั่นที่เราต้องการจะมีก็อาจจะเช่น "เรียกใช้งานแผนที่" "เก็บตำแหน่งปั๊มNGVทุกปั๊มในประเทศไทย" "ใส่ตำแหน่งปั๊มต่างๆลงในแผนที่" "ใส่ตำแหน่งที่เราอยู่ตอนนี้ในแผนที่" "ระบบกรองให้แสดงตำแหน่งปั๊มเฉพาะที่อยู่รอบๆตัวเราไม่เกิน 5KM" "ระบบนำทางจากจุดของเราไปที่ปั๊ม" ฯลฯ

- หลังจากรู้ฟังคชั่นที่แอพนี้ต้องการแล้ว สิ่งที่เราจะทำต่อก็คือการเข้าไปหา Library ของฟังค์ชั่นต่างๆเหล่านี้มาให้ครบครับ ถ้าในเคสนี้ ตัว Goolgle Map api มีให้เราเกือบทุกข้อเลย ขาดนิดขาดหน่อยเราสามารถเขียนเองขึ้นมาได้ไม่ใช่เรื่องใหม่ครับ ที่ๆรวบรวม Library ของ mobile app มีหลายเจ้าครับ เเต่ที่เด่นๆที่อยากให้เข้าไปศึกษาก่อนคือ Github เพราะนอกจากตัวโค้ดให้ใช้เเล้ว หลายเจ้ายังอาจจะมี sample project มาให้ลองเล่นๆดูด้วย

- พอของทุกอย่างครบ โจทย์พร้อม พื้นฐานเเน่นเเล้ว หลังจากนั้นก็คือการเขียนๆๆ เเละเขียนให้แอพออกมาเป็นรูปเป็นร่างขึ้นมาครับ ในขั้นตอนนี้มือใหม่อย่างผมเเละจกขท.จะเจอปัยหามากมายเเน่นอน สถานที่ๆช่วยเราได้คือ stackoverflow ครับ ติดตรงไหนก็ลอง copy console.log เเล้วเอาไปถามในนั้นดู หลายครั้งเลยครับที่เราแก้เรื่องที่ติดนานๆได้ง่ายๆด้วยวิธีการถามในนี้

3 หากผ่านขั้นตอนนี้ไปได้ สิ่งที่จะอยู่ในมือของ จขกท.ตอนนี้คือ โมบายแอพหนึ่งตัวที่มีฟังค์ชั่นครบถ้วน ใช้งานได้เเล้ว เเต่อาจจะยังไม่สวย มีบั๊คเยอะเเยะรอการแก้ไข UXUI อาจจะยังไม่ได้มาตรฐาน เเต่ก็ไม่ใช่สิ่งที่ยากอะไรครับ เรามากันถึงขั้นนี้เเล้ว การแก้ที่เหลือมันก็เเค่การแก้ให้ดีขึ้น ด้วยทักษะการหาความรู้ของจขกท. ณ จุดนั้นเเล้วผมเชื่อว่าไม่ยากเกินกว่าที่ผ่านมันไปไม่ยากมากนักครับ

4 เมื่อแอพเริ่มสมบูรณ์ สิ่งที่จขกท.จะเริ่มทำต่อ ก็คือการส่งมันขึ้น store เเละการโฆษณาให้แอพมีคนใช้ครับ จากนั้นก็ติดตามบั๊กของโปรแกรมให้ดีว่ามีการเเครชบ้างไหม เครื่องมือชื่อว่า Crashlytic สามารถแก้ไขปัญหานี้ให้เราได้ระดับนึงครับ

จะเห็นว่าที่เกริ่นมาทั้งหมดมัน ไม่ง่ายเลย จึงไม่น่าแปลกใจว่า โปรแกรมเมอร์ที่อยู่ในอุตสาหกรรมแอพลิเคั่นขิงบ้านเราจึงมีน้อยมากๆครับ ผมเองก็ยังอู่ในขั้นของการเรียนรู้อยู่ครับ เจอปัญหาให้เเก้เรื่อยๆ บางทีกับฟังคชั่นง่ายๆอันเดียว เรางมกันเป็นวันเพราะไม่รู้ว่าจะทำยังไงให้ผ่านไปต่อได้ บางทีก็ท้อครับ เเต่ถ้าเราคิดว่านี่จะเป็นอาขีพที่เราจะทำไปต่อจากนี้อีกเป็นสิบๆปี ลำบากแค้ไหนเราก็ต้องผ่านไปให้ได้ครับ

ท้ายนี้มีของมาเเนะนำ จขกท.เเละผู้สนใจสามข้อครับ

1 > เดี๋ยวนี้โอกาสในการศึกษาด้านโปรแกรมมิ่งค่อนข้างเปิดกว้างครับ  มีเวปไวท์ดีๆให้เราเรียนในราคาเเสนถูกมากมาย ผมเลยของเเนะนำเวปไซท์ที่ผมเรียนคอร์ส แอนดรอยด์ในราคาเเค่ 300บาทชื่อ https://www.udemy.com/courses/search/?q=ios&src=sac&lang=en
คุ้มค่าครับเวปนี้ เนื้อหาการสอน เค้าดีมาก เรียนเเล้วทำตามได้เลย ระดับพื้นฐานเราสามารถเรียนตามเเบบตั้งใจจบในเเค่ไม่เกิน สามวันเเน่ๆ

2 > ปัจุบันใน facebook มีกลุ่มนักพัฒนาไทยที่รวมตัวกันเเชร์เครื่องมือใหม่ๆในการพัฒนาแอพอยู่หลากหลายนะครับ ถ้าจขกท.สนใจการทำ ios app อาจจะลองเซิร์จว่า ios group thailand ดูน่าจะมีครับ การไปอยู่ในกลุ่มนั้นๆ เราจะเข้าถึงข่าวสารใหม่ๆได้เร็วกว่าเราอยู่โดดเดี่ยวคนเดียวครับ

3 > จริงๆเเล้วเเดี๋ยวนี้เราไม่ได้พัฒนาแอพ ios หรือ android ได้ด้วยวืธีใช้ภาษา native ประจำเครื่องอย่าง swift หรือ java อย่างเดียวครับ ถ้าจขกท.สนใจการพัฒนาแอพไปพร้อมๆกับสร้างเวปไซท์ไปทีเดียวพร้อมกัน เราสามารถใช้ web framework อย่าง meteor เพื่อสร้างโมบายเวปขึ้นมาใช้งาน เเละสามารถใช้เครื่องมือ cordova phonegap เพื่อcompile ไฟลืให้ไปรันบน mobile platform ไม่ต่างจากโมบายแอพได้เลยครับ ตอนนี้ผมเองก็ใช้ิธีนี้อยู่เพราะทีมเรามีคนไม่กี่คน การทำงานจึงควรย่นให้สั้นที่สุดครับ  ถ้าสนใจสามารถเข้าไปศึกษาเฟรมเวิร์คนี้ได้ที่
https://www.meteor.com/ สำหรับภาพรวมๆของเฟรมเวิร์คตัวนี้ เเละ http://angular-meteor.com/tutorials/angular1/bootstrapping สำหรับกรณีที่ถ้าจขกท.เคยใช้ angular อยู่เเล้ว เราสามารถใช้ agular ทำด้ทั้งเวปและแอพในคราวเดียวคุ้มค่ามากเลยครับ

ประมาณนี้
ขอให้สนุกและอดทนกับการพัฒนาแอพนะครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่