ความแตกต่างในการสร้าง 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

API มีอะไรมากกว่าที่คิด

API คืออะไร ?

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

Read More

การแทรก Ads ใน Content (inarticle หรือ inread)

รายได้จากเวปส่วนใหญ่ก็มากจาก Ads   ปัจจุบันก็มีวิธีมากมายในการนำเสนอ Ads ให้น่าสนใจ  เพราะเราคงหนีคำว่า Ad viewability ไม่ได้ เพราะจะส่งผลถีงผลตอบแทนที่เราจะได้โดยตรง

Ad viewability  ถ้าจะอธิบายง่ายๆก็คือทำยังไงก็ได้ให้ Ad ของเขามองเห็นเกิน 50% ของพื้นที่ Ad ตามเวลาที่กำหนดไว้

Inarticle เป็นรูปแบบหนึ่งที่ช่วย  โดยจะเป็น Ad ที่ขึ้นระหว่างเนื้อหา (Content)  ซึ่งส่วนใหญ่ทางลูกค้ามักทำมาให้อยู่แล้ว

Read More

การดึงข้อมูลจาก API Facebooks

ถ้าพูดถึงการดึงข้อมูลจาก Facebook ทุกคนคงนึกถึง  การดึงข้อมูล view, like หรือ share  มาจาก Facebook เท่านั่น  แต่จริงๆแล้วยังมีค่าอื่นๆที่น่าสนใจ  ที่สามารถนำไปใช้ได้  หากคุณมีการทำ Pages หรือมีการดึงคนจาก Social เข้าสู้เวปไซด์  ควรจะมีการดูต่างๆพวกนี้เพื่อวางแผน และวิเคราะห์แนวทางการทำงาน

ก่อนอื่นทาง Facebook ได้มีการทำ Tools ที่ช่วยในการดูข้อมูลอย่างๆง่าย ที่เรารู้จักกันอยู่แล้วคือ Graph API Explorer เป็นเครื่องมือที่ใช้ในการทดสอบดึงข้อมูล  แต่เมื่อเราจะทำระบบในการดึงข้อมูล  เรามาทำความเข้าใจการลักษณะการดึงข้อมูลกันก่อนจากตัวอย่าง   (ผมขอเน้นไปที่การดึงข้อมูล Pages)

Read More

ใช้ Node.js แปลง File video ด้วย FFMPEG

FFMPEG เป็นที่รู้กันว่าเป็น เครื่องมือที่เขาใช้กันแพร่หลายในการแปลงไฟล์ Vidoe  ใน Post นี้จะเขียนวิธีการใช้งาน  FFMPEG ด้วย Node.js  โดยเลือกใช้  library ของ fluent-ffmpeg  เขียนมากไปอาจจะงง  งั้นมาลองทำกันเลย  (ในที่นี้ผมใช้เครื่อง Mac นะครับ)


ขั้นตอนการลงโปรแกรม

1. Download  Node.js  มาลงที่เครื่องแล้ว Install   หรือ เปิด Terminal  แล้วพิมพ์

$ brew install node

Read More

Download video จาก youtube ด้วย youtube-dl

ผมเชื่อว่าหลายๆคน คงเคย Downlaod Video จาก Youtue โดยการเข้าเวปต่างๆเช่น

https://www.onlinevideoconverter.com/video-converter
https://www.keepvid.com

หรืออื่นๆ สำหรับคนที่เป็น Developer คงมีความสงสัยว่าเราแบบนี้เองบ้างได้ไหม ?
จริงๆแล้วมันไม่ได้ยากเลย  โดยใช้ Service ที่ชื่อว่า Youtube-dl  แถม Youtube-dl ยังสามารถโหลดไฟล์จาก Facebook ได้อีกด้วย

(ผมใช้เครื่อง Mac ลง Mamp เป็น Webserver ไว้)

Read More

การใช้งาน Facebook Graph API Explorer

Graph API Explorer เป็นเครื่องมือของ Facebook  ที่ใช้สำหรับทดสอบและตรวจสอบการทำงาน  API ต่างๆ ของ Facebook  ว่าทำงานได้ถูกต้องตามที่เราแสดงผลหรือไม่  และในระหว่างพัฒนายังมีส่วนสำคัญมากที่ใช้ตรวจสอบว่าเราต้องขอ Permission  จากทาง Facebook หรือไม่ และต้องขอในส่วนไหน

ในการขอ Permission ของทาง Facebook ยากค่อนข้างเข้มงวดและใช้เวลานาน  การทดลองใช้ Graph API Explorer  ทดสอบดึงค่าต่างๆมาจาก Facebook เป็นสิ่งสำคัญมาก Read More