Learn 30 Android Libraries in 30 days
บทความสอนเขียนแอพ Android บทความนี้ อาจจะไม่ได้เป็นการเขียนแบบ Tutorial เท่าไหร่ แต่จะเป็นเกมที่ผมตั้งใจสร้างขึ้นมาครับ คือตั้งใจจะเรียนรู้ Android Library ใหม่ๆ ให้ได้ วันละ 1 ตัว จากนั้น ก็จะนำมาเขียนลงในบล็อกแห่งนี้ ว่าได้เรียนรู้อะไรไปบ้าง แต่ละ Library มันทำอะไรได้บ้าง เอาแบบคอนเซฟคร่าวๆนะครับ เพราะจะให้ชำนาญโดยระยะเวลาศึกษาแค่ 1 วัน มันทำไม่ได้ หรือใครทำได้ บอกผมทีครับ?
Learn 30 Library in 30 Days
- Day 1 : AndroidStaggered Grid
- Day 2 : Paralloid
- Day 3 : Retrofit
- Day 4 : SwipeRefreshLayout
- Day 5 : Android GraphView
- Day 6 : Holo Color Picker
- Day 7 : Android Async Http
- Day 8 : Crashlytics
- Day 9 : Butter Knife
- Day 10 : Android Annotations
- Day 11 : DateTimePicker
- Day 12 : Circular Progress Button
- Day 13 : ViewPager
- Day 14 : ViewPagerIndicator
- Day 15 : FadingActionBar
- Day 16 : AutofitTextView
- Day 17 : SwipeListView
- Day 18 : ShowcaseView
- Day 19 : GreenDAO
- Day 20 : AndroidViewAnimation
- Day 21 : ActiveAndroid
- Day 22 : Twitter4J
- Day 23 : ListViewAnimations
- Day 24 : AndEngine
- Day 25 : EazeGraph
- Day 26 : Cardslib
- Day 27 : AdapterKit
- Day 28 : WeatherLib
- Day 29 : FlatUI
- Day 30 : Android Firebase
แรงบันดาลใจมาจากไหน
- Learning 30 Technologies in 30 Days: A Developer Challenge : จริงๆ กะจะลองทำมานานแล้ว เมื่อก่อนตั้งใจจะเป็น 30 เทคโนโลยี ใน 30 วัน เนื่องจากได้แรงบันดาลใจมาจากบล็อกของ OpenShift เว็บนี้ สุดท้ายทำไม่สำเร็จครับ ทำไปได้ 5-6 วันเท่านั้น และก็ได้รู้แค่ว่ามันคืออะไร ใช้ทำอะไร แต่เอามาประยุกต์ใช้ หรือใช้กับงานจริงๆไม่ได้ (คือเรายังไม่เข้าใจมันนั่นเอง)
- OneGameAMonth : ส่วนนี้คือเป็น Challenge สำหรับสร้างเกม 1 เกมต่อเดือน ไม่ได้มีกฎระเบียบอะไร เห็นว่ามันคือการตั้งกฎ ทำให้เราขยัน ต้องทำเกมออกมาให้ได้ภายในหนึ่งเดือน มันก็แลดูท้าทายดี
- 1 Game a week : บล็อกนี้เป็นบล็อกเกี่ยวกับเกม HTML5 ด้วย PhaserJS โดยเข้าใช้เวลาทำเกม 1 เกม ด้วยระยะเวลา 1 อาทิตย์และก็มี Tutorial สอน ปัจจุบัน Thomas Palef(เจ้าของ lessmilk) ได้ออกหนังสือสอนเขียนเกมด้วย PhaserJS ชื่อว่า Discover Phaser ร่วมกับ Richard Davey ผู้สร้าง Phaser Framework
- LudumDare : เว็บนี้ถ้าใครเป็น Game Developer คิดว่าน่าจะรู้จักทุกคน ส่วนตัวผมเพิ่งมาสนใจด้าน Game Dev เอาเข้าจริงๆ ประมาณ 1-2 เดือนเท่านั้นเอง ยังไม่เคยสร้างเกม เพื่อส่งแข่งพวก GameJam แต่ว่าก็พยายามฝึกฝน แล้วเดี่ยวจะส่งขึ้นไปแข่งบ้างซักวันหนึ่ง :D
- 180 websites in 180 days : เว็บนี้ผมทึ่งมาก เนื่องจากเป็นผู้หญิง และไมไ่ด้มีความรู้ด้านเขียนโปรแกรม แต่ก็ฝึกหัด และฝึกเขียน จนมาทำเว็บไซต์ 1 เว็บต่อวัน โดยใช้ความรู้ที่เรียนมา กลายเป็นซีรีย์ 180 websites in 180 days
- Make 100 Website in 100 Days : เว็บนี้คล้ายๆเว็บบน เพียงแต่ว่ามีวิดีโอ Screencast ด้วย
Challenge Accepted
โอเค เล่ามาซะยาว เมื่อผมเห็นตัวอย่างแล้ว ก็มีไฟซิครับ อยากจะหาอะไรลองทำบ้าง ที่มันท้าทายตัวเอง ให้ทำอะไรซ้ำๆ มันจะได้เกิดการเรียนรู้ ได้ปรับตัวกับสิ่งที่ไม่เคยรู้มาก่อน เหมือนกับสถานการณ์จริงๆ สุดท้ายคือได้ฝึกความอดทน ความสม่ำเสมอ และใจรัก :D
ตอนแรกก็คิด เอาเป็นทำเว็บไซต์ละกัน แต่ดูๆแล้ว เอ้ย มันก็ซ้ำๆคนอื่นแฮะ จะทำเกม ก็ยังไม่เก่งพอ + ไอเดียไม่แล่น สุดท้ายตัดสินใจว่าจะเลือก 30 ๋Node Module หรือว่าจะ 30 Android Libraries ดี สุดท้ายก็ตัดสินใจเลือก Android ก่อนละกัน หากทำ Challenge นี้เสร็จนะ ค่อยคิดไปทำอันอื่น (เอาอันนี้ให้รอดก่อนเถอะ)
วันนี้เลยขอตั้งใจ เอาเป็นเรียนรู้ Android Library 1 ตัวต่อวัน ให้ได้ 30 วันครับ (1 วันต่อ Library อาจจะไม่ถูกต้องนัก เนื่องจากว่า มีเวลาศึกษาแค่หลักเลิกงาน แถมต้องมาเสียเวลาเขียนบล็อกอีก ฉะนั้น อาจจะเหลือเวลาจริงๆ ราว 2-3 ชม. แต่มันไม่ใช้ข้ออ้างเลย) แล้วมาดูกันว่า ผมจะทำสำเร็จหรือไม่
ต้องออกตัวก่อนว่า หาก Library ไหนที่ผมเคยใช้งานมาก่อนแล้ว จะไม่นำมาอยู่ในซีรีย์ 30 Days นี้นะครับ แต่จะแยกออกมาต่างหาก คล้ายๆกับบทความของ Universal Image Loader หรือ Picasso ที่ได้เขียนไปก่อนหน้านี้
หลักๆแล้ว Android Library ตั้งใจจะเอามาจาก หรือตาม Github ที่เห็นว่ามันน่าจะมีประโยชน์ นำไปประยุกต์ใช้งานจริงๆได้
สุดท้าย ไม่มีกฎตายกลัว อยากรู้จริงๆว่าจะทำได้ซักเท่าไหร่เชียว ฮ่าๆ
หากใครสนใจ Challenge แบบนี้ ไม่ได้จำกัดเฉพาะ Android หรือ Programming ก็ได้นะครับ ขอแค่เป็น Challenge ที่ตั้งใจทำจริงๆ เขียนบล็อกแล้วเอามาแชร์กันได้นะครับ ไม่ต้องคิดแล้วว่า เฮ้ย เดี่ยวกูทำมั่ง รอว่างๆก่อน เฮ้ยเดี่ยวเริ่มเดือนหน้า ไม่ต้องเลยครับ! ถ้าจะเริ่ม เริ่มเดี๋ยวนี้เลย!
Happy Coding :D
บทความในซีรีย์ 30 Days เนื้อหาต่างๆอาจจะมีความคลาดเคลื่อน เนื่องจากเวลาศึกษาที่จำกัด ฉะนั้นหากใครได้อ่าน ก็ขอให้ผู้อ่านควรใช้วิจารณญาณประกอบด้วยนะครับ แล้วจะหาว่าไม่เตือน เอาโค๊ดไปใช้ แล้ว error อย่าโทษผมนะ :D
- Authors
- Name
- Chai Phonbopit
- Website
- @Phonbopit