หลายคนๆอาจจะตัดสินอยู่ว่าจะ พัฒนา Application Cross platform ด้วยโปรแกรมอะไรดี
Thunkable คือหนึ่งทางเลือกที่มีผู้คน ชอบค้นหาในกูเกิ้ลว่า Thunkable ดีไหม
วันนี้เลยมาคลายข้อสงสัยให้กับคำตอบนี้กันบ้าง
ในปัจจุบันมีเครื่องมือพัฒนา Application ที่จะใช้งานได้ทั้งกับโทรศัพท์ และ เท็บเล็ต
แบบ Cross platform หลายตัวด้วยกัน
หนึ่งในนั้น Thunkable พอจะคุ้นๆหูหลายๆท่านมาบ้างแล้ว
เพราะเป็น ผู้ให้บริการด้านการเขียนโปรแกรม เป็นเจ้าแรกๆ
ย้อนกลับไปเมื่อ สอง ถึง สามปีก่อน Thunkable เป็นที่นิยมสูง
เพราะไม่ค่อยมีคู่แข่งที่โดดเด่นมากนัก
หนึ่งใน คุณสมบัติที่โดดเด่น ของ Thunkable ในตอนนั้นก็คือ
1.ไม่ต้องติดตั้งโปรแกรมใดๆ ใช้การเขียนโปรแกรมบนเว็บไซด์ได้เลย
2.ไม่ต้องเรียนรู้กับภาษา จาวา เบสิก หรือพวกตระกูล C ทั้งหลายให้ยุ่งยาก
เนื่องจากใช้วิธีการเขียนแบบลากวาง เหมือนต่อจิกซอ
3.เห็นหน้าจอจริงตอนที่กำลังเขียนAppอยู่
ต้องเข้าใจว่า ย้อนกลับไปสมัยนั้น การเขียนโปรแกรมต้องใช้การจินตนาการหน้าจอเอา
จะรู้ว่าหน้าตาapp ที่เราจัดวางเครื่องมือลงไปหน้าตาออกมาจะเป็นยังไง
เราต้อง กด รันเพื่อแสดงผล ถึงจะเห็นภาพออกมา
แต่ในThunkableมีภาพหน้าจอให้เห็นเลยว่า วางเครื่องไม้เครื่องมือแล้วจะได้แอพออกมาหน้าตายังไง
4.สามารถนำไปAPP ที่เขียนเสร็จแล้วไป Run การทำงานได้ทั้งในระบบ แอนดรอยด์ และ IOS
และใช้เป็น Wep App ก็ได้
5.ไม่ต้องเซฟไฟล์งานในเครื่อง
6.มีคนสอนการใช้งานเยอะ หาข้อมูลได้ง่าย
เชื่อไหม ครูชอบเอาไปสอนเด็กๆเขียนโปรแกรมโดยใช้ Thunkable เพราะมันง่ายจนเด็กๆเข้าใจได้
แต่ถ้าใครคิดจะใช้Thunkable พัฒนาโปรแกรมอย่างจริงๆจังๆขึ้นมา
ก็มีข้อคิดให้นำไปพิจารณาก่อนที่จะตัดสินใจว่าจะเดินเวย์ไหนดี
ซึ่งมีเป็นหัวข้อดังนี้
1.การเขียนโปรแกรมในเว๊ป เมื่อไฟล์มีขนาดเริ่มใหญ่ขึ้น (ไม่ต้องใหญ่มากแค่ขนาดกลางๆ) โปรแกรมจะหน่วงมาก
ไม่ว่าจะขยับแค่เมาส์แพนไปมา ซ้ายขวา คุณจะต้องนั่งรอมัน รีเฟสหน้าแล้วขยับตามเมาส์คุณไปทีละนิดละนิด
พูดง่ายๆ ถ้าคุณเขียนข้อมูลอยู่บันทัดล่างๆ แล้วคุณจะมูฟออนขึ้นไปดูอะไรข้างบน กว่าคุณจะมูฟไป
คุณอาจจะใจขาดตายก่อนได้ เพราะมันช้ามากๆ ต่อให้คุณสมบัติเครื่องคอมพิวเตอร์คุณเทพแค่ไหนก็ตาม
มันไม่ได้อยู่ที่สเป็ค เพราะมันออนอยู่บนหน้าเว็ปนั่นเอง
2.คุณจะต้องเสียค่าใช้จ่ายรายเดือนให้กับ เว็ปThunkable ในกรณีที่คุณจะนำAPP ไปลง Play Store หรือ App Store
เพราะ App ที่เขียนเสร็จแล้ว มันจะไม่สามารถดาวน์โหลดออกมาในรูปแบบที่จะเอาไปลงใน Play Store หรือ App Store ได้
คุณต้องจ่ายรายเดือนให้กับเว๊ปเพื่อจะได้มีสิทธิ์ดาวน์โหลดเสียก่อน
ต่อเดือนก็ประมาณ 45 เหรียญ หรือประมาณ 1500 กว่าบาท ลองคิดดูว่า หนึ่งปีจะเป็นเท่าไหร่
แต่ถ้าคุณคิดว่า ทำเสร็จแล้ว เดือนต่อไปก็ไม่ต้องจ่ายอีก ก็ไม่ต้องจ่ายรายเดือนต่อก็ได้
ใช่มันทำได้ แต่ อยู่ๆวันหนึ่ง คุณไปเจอว่าแอพคุณ แค่พิมพ์ตัวสะกดอะไรผิดสักตัว
แล้วคุณต้องเข้าไปแก้ไขให้ถูกต้อง
นั่นแหละ แก้ข้อความไม่กี่ตัว คุณก็ต้องเสียเงินรายเดือนให้ไปแล้ว พันกว่าบาท
3. Cross platform ไม่มีจริง
ปัญหาคือ ถ้าคุณเขียนใน mac คุณจะมีปัญหากับการเอาไปติดตั้งใน แอนดรอย
ถ้าคุณเขียนใน Windows คุณจะมีปัญหากับการเอาไปลงใน IOS
ยกตัวอย่าง คุณเขียนAPP ที่ใช้งานเป็นแนวตั้งเสมอ คือล็อคหน้าจอไว้เลยว่าจะต้องเป็นแนวตั้งเท่านั้น
แต่พอเอาไปRunใน IOS มันกลับไม่ล็อคหน้าจอให้ เวลาหมุนหน้าจอ APPคุณก็จะพลิกเป็นแนวนอน
แล้วการทำงาน ที่ผิดพลาดก็จะตามมา
เมื่อไปค้นหาปัญหานี้ คุณจะเห็นฝรั่งเจอปัญหานี้กันมาก แต่ไม่มีคำตอบที่แก้ไขปัญหาใดๆออกมา
อะไรที่เขียนใช้งานได้ใน แอนดรอย แต่ใน iosจะมีปัญหา
อะไรที่เขียนรองรับiosไม่มีปัญหา แต่ในแอนดรอยด์จะมีปัญหาแทน
แล้วคุณจะปวดหัวตามมาอีกมากมาย
4.ปัญหาการจำลองหน้าจอ
มันไม่สามารถ จำลองหน้าจอมือถือในหลายๆรุ่นให้เราดูได้
มันมีหน้าจอเดียว คือในมือถือของคุณเท่านั้น นั่นหมายความว่า คุณต้องมีมือถือหลายๆรุ่น หลายๆรูปแบบ
หรือใช้การรันแบบ Wep app แล้วเข้าเว็ปจำลองหน้าจอมือถือก็ได้ แต่มันก็ไม่จริงเท่าการซีมูเรทหน้าจอ
คืออย่าในหน้าจำลองที่ผ่านเว็ปไซด์ เราให้จำลองเป็นไอโฟน8 เราจะเห็นappมันล้นหน้าจอ จนปุ่มหายไปครึ่งปุ่ม
แต่พอเอาไปลงเครื่องจริง มันไม่ล้น มันก็แสดงได้แบบเต็มหน้าจอปกติ
อ้าว.. เลยไม่อยากเชื่อเท่าไหร่
5.การจัดเลย์เอ้าท์ตำแหน่งต่างๆบนหน้าจอจำลอง มันเลือกขนาดไม่ได้
ก่อนที่คุณจะจัดหน้าตาAPP ว่าออกมาจะเป็นยังไง
ในโปรแกรมก่อนจะรันออกมา
มันไม่สอดคล้องกันกับการรันออกมาจริงๆ
พูดง่ายๆคือ ในโปรแกรมมันมีช่องสี่เหลี่ยมมาให้หน้าหนึ่ง
ให้คุณจัดทุกอย่างลงไปในนั้น
ซึ่งมันก็เลือกไม่ได้ว่า เราจะให้มันมีขนาดเท่าใด
ทำให้ บางครั้งเราจัดเครื่องมือ ปุ่มต่างๆ มันล้นออกจากหน้าจอไป แต่พอรันจริงๆมันก็อยู่ในหน้าจอจริง
งงไหม คือ จัดตอนเขียนอะเป็นอีกอย่าง แต่รันออกมาก็เป็นอีกอย่าง
6.การบวก ลบ คุณหาร ผลลัพธ์ที่มากกว่าหลักพัน ไม่มีคอมม่าคั่น
งง ไหม เราต้องมาสร้างคอมม่าเอง 5555
แล้วมันไม่ฉลาดพอถ้าจะเอาตัวเลขที่มีคอมม่ามาบวกลบคูณหารกัน
ต้องไปเขียน ถอดคอมม่าออกจากตัวเลขอีก โอ้แม่เจ้า
7.ความอืดในการรัน
ถ้าappของคุณมีขนาดใหญ่มาก ข้อมูลเยอะ จริงๆก็ไม่ถึงกับว่าเยอะหรอกเอาแค่ขนาดกลางๆ คุณก็จะเจอปัญหานี้แล้ว
คือ มันจะอืดๆ ตอนประมวลผล
คิดดูถ้าคุณกดปุ่มให้มันคำนวณข้อมูลที่ซับซ้อนอะไรสักอย่าง มันจะประมาณผลอยู่แป๊บหนึ่ง
แต่ช่วงที่มันกำลังประมวลผลอยู่ คุณดันไปกดปุ่มอื่นในappต่อ
ปุ่มนั้นมันก็จะทำงานขึ้นมาแทรกระหว่างที่คุณรอโปรเซสแรกทำงานให้จบ
อ้าว
พอปุ่มที่สอง สั่งอีกคำสั่งเด้งขึ้นมา แล้วคำสั่งแรกมันทำงานเสร็จพอดี มันก็เด้งทับกลับมา
งง เลย อะไรมันผลุๆโผล่ วะนั้น
8.แอพของคุณจะถูกก็อบปี้ได้ ถ้าคุณไม่ตั้งค่าเป็นแอพส่วนตัว
แน่นอน ถ้าคุณต้องการตั้งค่าเป็น แอพส่วนตัว คุณต้องจ่ายตังส์ก่อน
9.ย้อนกลับไม่ได้
ถ้าเผลอลบอะไรลงไป มันจะย้อนกลับไม่ได้
มันสามารถดึงบล็อคที่คุณลบไปคืนมาได้ทีละบล็อค
แต่มันจะ Undo สิ่งที่คุณทำก่อนหน้าไม่ได้
10.การ โหลดไฟล์สำหรับลงใน Play Store หรือ App Store
ถ้าเป็น แอนดรอยด์
จะได้ไฟล์ นามสกุล aab ออกมา พร้อมทื่จะเอาโหลดลงใน Play Console ได้เลย
แต่ถ้าเป็น IOS
จะไม่ได้ไฟล์ app ออกมาโดยตรง คือ เขาจะส่ง app ไปเข้า App Store ให้เอง
เสร็จแล้วทาง App Store จะพิจารณาว่า appเราจะผ่านเกณฑ์ไหม
ขอบอกว่า ยากมาก กว่าจะส่งผ่าน
พอส่งapp ผ่านจากขั้นตอนของ Thunkableแล้ว
ช่วงที่กำลังรอ App Storeพิจารณาapp เรา
แล้วคุณจะเจอความจริงบ้างอย่าง คือ
ฟังก์ชั่นบางอย่าง แอพคุณจะผ่านใน ตอนรัน iphone แต่คุณจะไม่ผ่านตอนรันใน ipad
แล้วคุณจะไปเลือกลงappในApp Store โดยให้แต่ไอโฟนโหลดอย่างเดียวไม่ได้
มันไม่มีช่องให้แยกลงขนาดนั้น
แล้วคุณไปแก้ใน app คุณก็ไม่สามารถตัดฟังก์ชั่นนั้นออกได้
นั้นแหละ ปัญหา
10 ข้อเสีย Thunkable เขียน Application Cross platformได้ขนาดไหน
Thunkable คือหนึ่งทางเลือกที่มีผู้คน ชอบค้นหาในกูเกิ้ลว่า Thunkable ดีไหม
วันนี้เลยมาคลายข้อสงสัยให้กับคำตอบนี้กันบ้าง
ในปัจจุบันมีเครื่องมือพัฒนา Application ที่จะใช้งานได้ทั้งกับโทรศัพท์ และ เท็บเล็ต
แบบ Cross platform หลายตัวด้วยกัน
หนึ่งในนั้น Thunkable พอจะคุ้นๆหูหลายๆท่านมาบ้างแล้ว
เพราะเป็น ผู้ให้บริการด้านการเขียนโปรแกรม เป็นเจ้าแรกๆ
ย้อนกลับไปเมื่อ สอง ถึง สามปีก่อน Thunkable เป็นที่นิยมสูง
เพราะไม่ค่อยมีคู่แข่งที่โดดเด่นมากนัก
หนึ่งใน คุณสมบัติที่โดดเด่น ของ Thunkable ในตอนนั้นก็คือ
1.ไม่ต้องติดตั้งโปรแกรมใดๆ ใช้การเขียนโปรแกรมบนเว็บไซด์ได้เลย
2.ไม่ต้องเรียนรู้กับภาษา จาวา เบสิก หรือพวกตระกูล C ทั้งหลายให้ยุ่งยาก
เนื่องจากใช้วิธีการเขียนแบบลากวาง เหมือนต่อจิกซอ
3.เห็นหน้าจอจริงตอนที่กำลังเขียนAppอยู่
ต้องเข้าใจว่า ย้อนกลับไปสมัยนั้น การเขียนโปรแกรมต้องใช้การจินตนาการหน้าจอเอา
จะรู้ว่าหน้าตาapp ที่เราจัดวางเครื่องมือลงไปหน้าตาออกมาจะเป็นยังไง
เราต้อง กด รันเพื่อแสดงผล ถึงจะเห็นภาพออกมา
แต่ในThunkableมีภาพหน้าจอให้เห็นเลยว่า วางเครื่องไม้เครื่องมือแล้วจะได้แอพออกมาหน้าตายังไง
4.สามารถนำไปAPP ที่เขียนเสร็จแล้วไป Run การทำงานได้ทั้งในระบบ แอนดรอยด์ และ IOS
และใช้เป็น Wep App ก็ได้
5.ไม่ต้องเซฟไฟล์งานในเครื่อง
6.มีคนสอนการใช้งานเยอะ หาข้อมูลได้ง่าย
เชื่อไหม ครูชอบเอาไปสอนเด็กๆเขียนโปรแกรมโดยใช้ Thunkable เพราะมันง่ายจนเด็กๆเข้าใจได้
แต่ถ้าใครคิดจะใช้Thunkable พัฒนาโปรแกรมอย่างจริงๆจังๆขึ้นมา
ก็มีข้อคิดให้นำไปพิจารณาก่อนที่จะตัดสินใจว่าจะเดินเวย์ไหนดี
ซึ่งมีเป็นหัวข้อดังนี้
1.การเขียนโปรแกรมในเว๊ป เมื่อไฟล์มีขนาดเริ่มใหญ่ขึ้น (ไม่ต้องใหญ่มากแค่ขนาดกลางๆ) โปรแกรมจะหน่วงมาก
ไม่ว่าจะขยับแค่เมาส์แพนไปมา ซ้ายขวา คุณจะต้องนั่งรอมัน รีเฟสหน้าแล้วขยับตามเมาส์คุณไปทีละนิดละนิด
พูดง่ายๆ ถ้าคุณเขียนข้อมูลอยู่บันทัดล่างๆ แล้วคุณจะมูฟออนขึ้นไปดูอะไรข้างบน กว่าคุณจะมูฟไป
คุณอาจจะใจขาดตายก่อนได้ เพราะมันช้ามากๆ ต่อให้คุณสมบัติเครื่องคอมพิวเตอร์คุณเทพแค่ไหนก็ตาม
มันไม่ได้อยู่ที่สเป็ค เพราะมันออนอยู่บนหน้าเว็ปนั่นเอง
2.คุณจะต้องเสียค่าใช้จ่ายรายเดือนให้กับ เว็ปThunkable ในกรณีที่คุณจะนำAPP ไปลง Play Store หรือ App Store
เพราะ App ที่เขียนเสร็จแล้ว มันจะไม่สามารถดาวน์โหลดออกมาในรูปแบบที่จะเอาไปลงใน Play Store หรือ App Store ได้
คุณต้องจ่ายรายเดือนให้กับเว๊ปเพื่อจะได้มีสิทธิ์ดาวน์โหลดเสียก่อน
ต่อเดือนก็ประมาณ 45 เหรียญ หรือประมาณ 1500 กว่าบาท ลองคิดดูว่า หนึ่งปีจะเป็นเท่าไหร่
แต่ถ้าคุณคิดว่า ทำเสร็จแล้ว เดือนต่อไปก็ไม่ต้องจ่ายอีก ก็ไม่ต้องจ่ายรายเดือนต่อก็ได้
ใช่มันทำได้ แต่ อยู่ๆวันหนึ่ง คุณไปเจอว่าแอพคุณ แค่พิมพ์ตัวสะกดอะไรผิดสักตัว
แล้วคุณต้องเข้าไปแก้ไขให้ถูกต้อง
นั่นแหละ แก้ข้อความไม่กี่ตัว คุณก็ต้องเสียเงินรายเดือนให้ไปแล้ว พันกว่าบาท
3. Cross platform ไม่มีจริง
ปัญหาคือ ถ้าคุณเขียนใน mac คุณจะมีปัญหากับการเอาไปติดตั้งใน แอนดรอย
ถ้าคุณเขียนใน Windows คุณจะมีปัญหากับการเอาไปลงใน IOS
ยกตัวอย่าง คุณเขียนAPP ที่ใช้งานเป็นแนวตั้งเสมอ คือล็อคหน้าจอไว้เลยว่าจะต้องเป็นแนวตั้งเท่านั้น
แต่พอเอาไปRunใน IOS มันกลับไม่ล็อคหน้าจอให้ เวลาหมุนหน้าจอ APPคุณก็จะพลิกเป็นแนวนอน
แล้วการทำงาน ที่ผิดพลาดก็จะตามมา
เมื่อไปค้นหาปัญหานี้ คุณจะเห็นฝรั่งเจอปัญหานี้กันมาก แต่ไม่มีคำตอบที่แก้ไขปัญหาใดๆออกมา
อะไรที่เขียนใช้งานได้ใน แอนดรอย แต่ใน iosจะมีปัญหา
อะไรที่เขียนรองรับiosไม่มีปัญหา แต่ในแอนดรอยด์จะมีปัญหาแทน
แล้วคุณจะปวดหัวตามมาอีกมากมาย
4.ปัญหาการจำลองหน้าจอ
มันไม่สามารถ จำลองหน้าจอมือถือในหลายๆรุ่นให้เราดูได้
มันมีหน้าจอเดียว คือในมือถือของคุณเท่านั้น นั่นหมายความว่า คุณต้องมีมือถือหลายๆรุ่น หลายๆรูปแบบ
หรือใช้การรันแบบ Wep app แล้วเข้าเว็ปจำลองหน้าจอมือถือก็ได้ แต่มันก็ไม่จริงเท่าการซีมูเรทหน้าจอ
คืออย่าในหน้าจำลองที่ผ่านเว็ปไซด์ เราให้จำลองเป็นไอโฟน8 เราจะเห็นappมันล้นหน้าจอ จนปุ่มหายไปครึ่งปุ่ม
แต่พอเอาไปลงเครื่องจริง มันไม่ล้น มันก็แสดงได้แบบเต็มหน้าจอปกติ
อ้าว.. เลยไม่อยากเชื่อเท่าไหร่
5.การจัดเลย์เอ้าท์ตำแหน่งต่างๆบนหน้าจอจำลอง มันเลือกขนาดไม่ได้
ก่อนที่คุณจะจัดหน้าตาAPP ว่าออกมาจะเป็นยังไง
ในโปรแกรมก่อนจะรันออกมา
มันไม่สอดคล้องกันกับการรันออกมาจริงๆ
พูดง่ายๆคือ ในโปรแกรมมันมีช่องสี่เหลี่ยมมาให้หน้าหนึ่ง
ให้คุณจัดทุกอย่างลงไปในนั้น
ซึ่งมันก็เลือกไม่ได้ว่า เราจะให้มันมีขนาดเท่าใด
ทำให้ บางครั้งเราจัดเครื่องมือ ปุ่มต่างๆ มันล้นออกจากหน้าจอไป แต่พอรันจริงๆมันก็อยู่ในหน้าจอจริง
งงไหม คือ จัดตอนเขียนอะเป็นอีกอย่าง แต่รันออกมาก็เป็นอีกอย่าง
6.การบวก ลบ คุณหาร ผลลัพธ์ที่มากกว่าหลักพัน ไม่มีคอมม่าคั่น
งง ไหม เราต้องมาสร้างคอมม่าเอง 5555
แล้วมันไม่ฉลาดพอถ้าจะเอาตัวเลขที่มีคอมม่ามาบวกลบคูณหารกัน
ต้องไปเขียน ถอดคอมม่าออกจากตัวเลขอีก โอ้แม่เจ้า
7.ความอืดในการรัน
ถ้าappของคุณมีขนาดใหญ่มาก ข้อมูลเยอะ จริงๆก็ไม่ถึงกับว่าเยอะหรอกเอาแค่ขนาดกลางๆ คุณก็จะเจอปัญหานี้แล้ว
คือ มันจะอืดๆ ตอนประมวลผล
คิดดูถ้าคุณกดปุ่มให้มันคำนวณข้อมูลที่ซับซ้อนอะไรสักอย่าง มันจะประมาณผลอยู่แป๊บหนึ่ง
แต่ช่วงที่มันกำลังประมวลผลอยู่ คุณดันไปกดปุ่มอื่นในappต่อ
ปุ่มนั้นมันก็จะทำงานขึ้นมาแทรกระหว่างที่คุณรอโปรเซสแรกทำงานให้จบ
อ้าว
พอปุ่มที่สอง สั่งอีกคำสั่งเด้งขึ้นมา แล้วคำสั่งแรกมันทำงานเสร็จพอดี มันก็เด้งทับกลับมา
งง เลย อะไรมันผลุๆโผล่ วะนั้น
8.แอพของคุณจะถูกก็อบปี้ได้ ถ้าคุณไม่ตั้งค่าเป็นแอพส่วนตัว
แน่นอน ถ้าคุณต้องการตั้งค่าเป็น แอพส่วนตัว คุณต้องจ่ายตังส์ก่อน
9.ย้อนกลับไม่ได้
ถ้าเผลอลบอะไรลงไป มันจะย้อนกลับไม่ได้
มันสามารถดึงบล็อคที่คุณลบไปคืนมาได้ทีละบล็อค
แต่มันจะ Undo สิ่งที่คุณทำก่อนหน้าไม่ได้
10.การ โหลดไฟล์สำหรับลงใน Play Store หรือ App Store
ถ้าเป็น แอนดรอยด์
จะได้ไฟล์ นามสกุล aab ออกมา พร้อมทื่จะเอาโหลดลงใน Play Console ได้เลย
แต่ถ้าเป็น IOS
จะไม่ได้ไฟล์ app ออกมาโดยตรง คือ เขาจะส่ง app ไปเข้า App Store ให้เอง
เสร็จแล้วทาง App Store จะพิจารณาว่า appเราจะผ่านเกณฑ์ไหม
ขอบอกว่า ยากมาก กว่าจะส่งผ่าน
พอส่งapp ผ่านจากขั้นตอนของ Thunkableแล้ว
ช่วงที่กำลังรอ App Storeพิจารณาapp เรา
แล้วคุณจะเจอความจริงบ้างอย่าง คือ
ฟังก์ชั่นบางอย่าง แอพคุณจะผ่านใน ตอนรัน iphone แต่คุณจะไม่ผ่านตอนรันใน ipad
แล้วคุณจะไปเลือกลงappในApp Store โดยให้แต่ไอโฟนโหลดอย่างเดียวไม่ได้
มันไม่มีช่องให้แยกลงขนาดนั้น
แล้วคุณไปแก้ใน app คุณก็ไม่สามารถตัดฟังก์ชั่นนั้นออกได้
นั้นแหละ ปัญหา