ความแตกต่างในการสร้าง Application กับ Website (เบื้องต้น)

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


1. เรื่อง Server

Application

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

Website

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


2. การสร้างไฟล์

Application

ในการส่งไฟล์ให้ Store Review นั้น โปรแกรมจะทำการรวมไฟล์ทั้งหมดเป็นไฟล์เดียว แล้วส่งเข้า Server ของทาง Store โดยทุกขั้นตอนจะมีการตรวจสอบไฟล์ด้วย โปรแกรมอัตโนมัติ (bot) ว่าถูกต้องก่อนที่จะให้คนเป็นผู้ตรวจ

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

Website

ต่างกับเวปไซด์เราแก้ไฟล์ไหนก็เอาไฟล์นั่นทับไปในเซฟเวอร์ก็เสร็จแล้ว


3. การเปลี่ยน Asset

Application

ในการเปลี่ยน ภาพแต่ละครั้ง ก็ต้องมีการกำหนดไซด์หลายไซด์ให้เหมาะกับแต่ละหน้าจอ เช่น ภาพๆเดียว Iphone ก็ต้องมี 1x, 2x, หรือ 3x ใน Android ก็หลายไซด์ ต้องเลือกใช้ภาพให้เหมาะสม โดยเฉพาะอย่างยิ่งการเปลี่ยน App Icon ในการเปลี่ยนครั้งหนึ่งๆ เราต้องสร้างไฟล์เยอะมากเพื่อให้รองรับหน้าจอต่างๆ

Website

สำหรับเวปไซด์ก็เหมือนเดิมแค่เอาไฟล์ไปทับก็เสร็จแหละ


4. ผลกระทบการอัพเวอร์ชั่นของ OS

Application

ในบางครั้งการเปลี่ยนเพียงแค่ช่องว่าง อาจต้องใช้เวลามากในการแก้ไข เพราะด้วยตัวของ OS ที่มีการอัพเวอร์ชั้น มีผลกับ Library อาจไม่ Support Library ที่เราเคยใช้ได้ ต้องทำการแก้ไข หรือในบางครั้ง Librayr นั้นถูกยกเลิกไปแล้วต้องไปหา Library ตัวใหม่หรือเปลี่ยนวิธีการ ทาง Bot ที่ตรวจสอบจะไม่ให้เราส่งไฟล์เพื่อ Review ต้องหาวิธีแก้ไขเสียก่อน ยกตัวอย่างเช่นที่ผมเคยเจอ

ลูกค้าบอกให้เปลี่ยนสี จุดเดียวแต่ใช้เวลา 3-4 วันในการแก้ไข เพราะ Payment Gatway ของ Omise ในเวอร์ชั้นที่ใช้อยู่ ทาง Apple ไม่อนุญาติให้ใช้ บังคับให้ Update แล้วรูปแบบการเขียนก็ไม่เหมือนเดิม ต้องเขียนใหม่ทดสอบใหม่หมด

กลับโดนลูกค้าต่อว่ากลับมาว่า “เปลี่ยนสีจะไปเกียวอะไรกับ Payment Gateway ไม่เกี่ยวกันเลยทำไมผมจะไม่รู้ ใช้เวลาเยอะขนาดนี้ได้ยังไง” เป็นคำที่โดนบ่อยมากๆ

Website

อัพเดท Plugin แล้วก็เช่นเดิม เอาไปทับก็ใช้ได้


5. Review

Application

ขั้นตอนนี้อยู่ที่คนตรวจเลยครับ คน ก็คือ คน เจอคนที่ปล่อยง่ายวันเดียวก็อาจจะได้ขึ้นเลย เจอคนที่ยาก ก็ยากครับบางครั้งอ้างว่า Login ไม่ได้ไม่ให้ผ่าน เราต้องอัพ Video ให้ดูว่าเรา Login ได้ถึงจะปล่อยผ่านก็มี บางครั้งติด 3-4 รอบเกือบ 3 อาทิตย์ กว่าจะผ่านก็มี

ซี่งทุกครั้งที่มีการเปลี่ยน ก็ต้องส่งให้คน Review ทุกครั้ง

Website

ไม่ต้องผ่านใครทั้งนั่น ผ่านเราคนเดียวอัพได้เลยจบ


สรุป

จะเห็นได้ว่าการทำ Application ค่อนข้างยุ่งยาก คนที่ไม่เข้าใจก็ไม่เข้าใจว่ายุ่งยากอย่างไร ทำให้ถ้าเราตัดสินใจจะทำ Application ไม่ว่าจะเป็นบน Android หรือ IOS ก็ตาม ก็ต้องยอมรับขอแตกต่างเหล่านี้

วิธีส่งค่า Parameter ให้กับ IOS Application (จากภายนอก)

การทำ Application ในหลายๆครั้งจะมีการ โปรโมท (promote) หรือแคปเปน (campaign) หรือ บูท ฯลฯ ศัพท์ต่างๆทางด้าน Marketing แล้วต้องการเก็บค่าเพื่อมาวิเคราะห์ได้ว่ามาจากที่ไหน หรืออาจอยากให้อำนวยความสะดวกถ้า Login จาก เวปแล้วกดิเข้า Application ได้เลยไม่ต้อง Login ใหม่

ซึ่งทำให้เราจำเป็นจะต้องมีการส่ง ค่า (parameter) บางอย่างเพิ่อให้ Application นำไปอ้างอิงรู้ว่าเป็นรหัสอะไร ใน IOS มีขั้นตอนการทำดังนี้

Read More

การส่งค่าผ่านทาง UIButton

โดยปกติแล้ว การใช้งานปุ่ม (UIButton)  นั่นจะใช้การอ้างอิง  tag  เพื่อให้ทราบว่ากดปุ่มไหน เช่น

let previousButton = UIButton(type: UIButtonType.Custom)
previousButton.tag = 1
let backButton = UIButton(type: UIButtonType.Custom)
backButton.tag = 2

เราสามารถ Get ค่า Tag มาเช็คได้  แต่ในบางครั้งการใช้ tag ก็ไม่สะดวก  หากเรามีการใช้ Loop หรือ SubClass

ถ้าเราจะนำค่ามาใช้  ก็ต้องนำค่ใส่  Array ก่อน หรือต้องรู้ค่าที่แน่นอนว่า 1 คืออะไร 2 คืออะไร  แต่ถ้าหากมีเยอะๆหละอาจ Loop มาหลายปุ่ม  เราจะทำยังไง ???  สามารถส่งค่าจากปุ่มได้เลยหรือไม่ ???

Read More

Social share ง่ายๆ กับ Swift

การเขียน  Share ใน  Xcode สมัยก่อนเป็นปัญหามากไม่ว่าจะเป็น Facebook , Twitter หรือ ฯลฯ  เพราะเมื่อมีการใช้ Framework ของแต่ละอัน  ก็จะมีข้อจำกัดหรือวิธีการเขียนที่แตกต่างกัน  หรือบางครั้งก็ถึงขั้นเกิด error ขึ้น  ทำให้ผู้พัฒนาอย่างเราๆ ต้องปวดหัวหาวิธีแก้ไขกันยุ่งยาก

แต่ในปัจจุบัน  ผู้พัฒนาภาษานี้ได้มีการเขียนการใช้งาน Tools ของเครื่องอย่างง่ายๆเพื่ออำนวยความสะดวกของผู้พัฒนา  งั้นเรามาเริ่มกันเลย

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


เริ่มก็สร้างปุ่มก่อนเลย

อยากสร้างไงก็แล้วแต่จะสร้างบน Navigatebar ก็แบบนี้

let logButton : UIBarButtonItem = UIBarButtonItem(title: "Share", style: UIBarButtonItemStyle.Plain, target: self, action: "openShareSocial")
     logButton.tintColor = UIColor.whiteColor()
     self.navigationItem.rightBarButtonItem = logButton

Read More

การสมัคร Apple ID

apple_scam

ในการสมัคร Apple ID  สำหรับ Developer มี 2 ประเภท
1. สมัครในนาม บริษัท (บริษัทเป็นเจ้าของ ID)
2. สมัครในนาม บุคคล (เราเป็นเจ้าของ ID) * แนะนำอันนี้เพราะใช้เวลาสมัครน้อย



1. สมัครในนาม บริษัท (บริษัทเป็นเจ้าของ ID)
ข้อดี
–  มีความน่าเชื่อถือสำหรับผู้ใช้งาน
–  หากผู้ดูแลลาออกหรือมีคนอื่นมาแทน  ก็สามารถทำได้สะดวกกว่าที่จะสมัครแบบบุคคล
ข้อเสีย
– ในการตรวจสอบจะช้ามาก ต้องใช้เอกสารเพิ่มเติม เอกสารจัดตั้งบริษัท เอกสารบริษัทมอบอำนาจให้บุคคลดำเนินการ ฯลฯ มีโทรมาติดต่อสอบถามเพื่อยืนยันอีกตะหาก

Read More

เริ่มต้นการเขียน Application ใน IOS ด้วย Xcode

1411056212194

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

สำหรับในการเขียน Application ด้วย xcode เขียนค่อนข้างง่าย แต่การเซตค่าต่างๆ กับการอัพขึ้น App store รวมถึง in app purchase – ระบบจ่ายเงิน จะยากกว่ามาก

Read More