Giới Thiệu Về Android & Môi Trường Phát Triển Phần Mềm

Lập Trình
Giới Thiệu Về Android & Môi Trường Phát Triển Phần Mềm

Bài viết được sự cho phép của tác giả Nhựt Danh

Xin chào các bạn. Bạn đang ở đây và đang đọc các dòng mở đầu cho các bài viết về lập trình Android của mình, chứng tỏ bạn đang quan tâm đến lĩnh vực lập trình cho các thiết bị Android này. Dù cho bạn có đang là một người mới muốn làm quen và thử sức với lập trình Android, hay bạn là người đã có kinh nghiệm nhất định về Android và đang muốn tham khảo thêm các thông tin và ý kiến từ những lập trình viên khác, thì việc bạn chú ý đến các bài viết này, theo mình nghĩ, đều là các quyết định sáng suốt.

Với chuỗi bài viết về lập trình Android này, mình sẽ cố gắng mang đến cho các bạn các thông tin cơ bản và cơ sở nhất, cùng những xây dựng từng bước, giúp các bạn mới làm quen với Android có thể dễ dàng tiếp cận và thực hiện mong ước xây dựng một ứng dụng Android hoàn chỉnh của các bạn. Đồng thời mình sẽ tìm hiểu các bài viết từ các nguồn khác để nói rộng hơn một chút về Android cho các bạn đã hiểu về lĩnh vực này có cơ hội cùng chia sẻ kiến thức.

Tuy cố gắng trong việc xây dựng một bộ kiến thức ổn về Android là vậy, nhưng thực sự với tốc độ phát triển và sự nâng cấp nhiệt tình từ chính Google dành cho hệ điều hành của họ, cũng khiến mình nhiều phen “hụt hơi”“chới với” (trong việc viết và cập nhật trên blog). Do đó nếu bạn có đang đọc các bài viết trong chuỗi bài này của mình mà thấy kiến thức đã cũ, thì vui lòng giúp mình để lại comment ở mỗi bài viết, đồng thời cũng hãy chủ động tìm kiếm thông tin mới mẻ hơn từ các trang web khác hoặc trang “chính chủ” Google nhé, dĩ nhiên mình luôn để link đến trang web gốc ở các mục liên quan rồi.

Hãy bắt đầu nào. Trước tiên, để có thể yêu thích lập trình Android, thì mình mời bạn tìm hiểu về Android trước.

Giới Thiệu Android

Vâng, Android là một hệ điều hành, và hệ điều hành này là một hệ điều hành mã nguồn mở.

Giới Thiệu AndroidGiới Thiệu Android
Biểu tượng hình chú robot của hệ điều hành Android

 

Ban đầu hệ điều hành này được xây dựng hướng đến việc sử dụng trên các điện thoại di động thông minh, sau này nó tiếp tục được phát triển để sử dụng rộng rãi trên các máy tính bảng, TV, thiết bị đeo được, xe hơi,…

Liệt kê ra như vậy để bạn thấy rằng, tiếp cận vào lập trình Android không chỉ gói gọn trong một lĩnh vực là viết ứng dụng cho các điện thoại thông minh, mà bạn còn có cơ hội mở rộng hơn kiến thức bản thân cho các nền tảng khác, như TV chẳng hạn. Hơn nữa với việc đây là hệ điều hành mã nguồn mở, bạn có thể còn phát triển được các ứng dụng chạy trên rất nhiều thiết bị phần cứng của nhiều hãng sản xuất khác nhau. Về cơ bản tất cả các hệ điều hành liên quan này đều dựa trên nền tảng Android, nhưng mỗi nhà sản xuất lại đưa vào những cập nhật riêng, mang đến các diện mạo khác nhau đôi chút hoặc rất nhiều tùy từng nhà sản xuất (sự đa dạng này vừa là lợi thế nhưng cũng gây ra các vấn đề tương thích khá hóc búa cho các lập trình viên chúng ta, nhưng không sao, hãy cùng nhau trải nghiệm thôi).

Tham khảo việc làm Mobile Developer hấp dẫn trên Station D

Tại Sao Lại Chọn Lập Trình Android?

Sau khi nhìn “sơ” qua Android là gì, chúng ta đến một bước lựa chọn nữa khi tìm hiểu sâu hơn về Android dưới con mắt của một lập trình viên.

Dễ Tiếp Cận

Có thể nói trở thành một lập trình Android là một quyết định khá dễ dàng, chỉ cần bạn thích và… bùm, bắt tay vào thôi.

Có được điều này thứ nhất phải kể đến Trang thiết bị. Chắc chắn để lập trình thì bạn phải trang bị máy tính rồi, nhưng máy tính nào thì lập trình được Android? Thì có thể nói là, hầu như bạn chẳng cần quá bận tâm về nó.

Dù máy tính bạn có chạy được Windows, Mac, Linux hay thậm chí Chrome OS, bạn đều thoải mái bắt đầu với Android. Còn về một điện thoại di động thông minh để kiểm thử ứng dụng ư? Điều đó cũng không quá khó khi mà các điện thoại Android trên thị trường hiện nay đa số đều có giá khá “mềm”, bạn rất dễ để tìm mua một chiếc nếu chưa có thiết bị này trong tay.

Thêm nữa, các lập trình viên Android được Google trang bị cho một công cụ lập trình có tên Android Studio, bạn sẽ được làm quen công cụ này sau. Công cụ lập trình này phải nói là khá mạnh mẽ, và như mình nói ở trên, tương thích được với nhiều loại hệ điều hành, khiến chúng ta vừa dễ cài đặt, dễ tiếp cận, lại yên tâm code vì rõ ràng ở những bước đầu tiên này chúng ta đã cảm nhận được sự trang bị đầy đủ từ Google như nào rồi ha.

Android StudioAndroid Studio
Nhìn giao diện hiện đại này của Android Studio bạn có thấy kích thích không?

 

Điều tiếp theo dẫn đến lập trình Android trở nên dễ tiếp cận, đó là Ngôn ngữ lập trình. Nếu bạn đã biết Java, điều đó thật tuyệt, bạn sẽ chỉ cần học thêm về cách thức tương tác với hệ điều hành thông qua Java. Nhưng nếu như bạn chưa từng biết đến Java, thì việc học Java cũng không quá khó khăn, đặc biệt nếu bạn đã từng biết đến một ngôn ngữ lập trình Hướng đối tượng nào khác như C++ hay C# (bạn có thể tìm hiểu về Java qua các bài viết của mình ở đây). Hoặc một lựa chọn tuyệt vời hơn, đó là bạn tìm hiểu luôn Kotlin, một ngôn ngữ khá hiện đại và mạnh mẽ. Tóm lại nếu bạn biết Java hay Kotlin đều có thể bắt tay vào lập trình Android ngay được rồi.

Java và KotlinJava và Kotlin
Biết Java hay Kotlin đều có thể lập trình Android

 

Tính Tương Thích

Mục này cũng có thể hiểu với nhiều ý.

Thứ nhất, có thể thấy sự tương thích nằm ở Hệ điều hành. Android là một hệ điều hành mở, lại là một hệ điều hành nổi tiếng số một trên thế giới hiện nay. Việc Android được ứng dụng trên nhiều lĩnh vực khác nhau mang đến cho bạn có cơ hội suy nghĩ đến việc phát triển một ứng dụng trên thiết bị điện thoại thông minh, lại có thể nhanh chóng mở rộng ra để chạy trên các thể loại thiết bị khác, như TV hay các thiết bị giải trí khác.

Sự tương thích cũng nằm ở Ngôn ngữ lập trình cho hệ điều hành này. Không cần phải nói đến việc ngôn ngữ Java được sử dụng rộng rãi cho các lĩnh vực khác nhau như thế nào vì ai cũng biết, điều này cho thấy nếu bạn từng lập trình Android bằng Java, bạn cũng có thể nhanh chóng ứng dụng logic hay nền tảng của ứng dụng này cho các lĩnh vực khác cũng dùng ngôn ngữ Java. Hay nếu bạn biết Kotlin, bạn cũng dễ dàng phát triển ra các ứng dụng cho iOS hay các ứng dụng Web khác cũng bằng ngôn ngữ Kotlin này.

Ứng Dụng Của Bạn Được Đưa Lên Google Play

Chắc hẳn bạn cũng biết cái “chợ” cho các ứng dụng Android này. Nó được gọi là Google Play, hay Google Play store. Không cần phải là một lập trình viên, bạn vẫn thường xuyên sử dụng nó, và bạn cũng nhận ra rằng Google Play là một nơi chứa vô số các ứng dụng khác nhau.

Google-PlayGoogle-Play
Giao diện Google Play quen thuộc

 

Đúng vậy, mình đã từng nghe Google Play đã cán mốc 2,6 triệu ứng dụng được đưa lên đây. Và bạn hãy tưởng tượng mà xem, trong số 2,6 triệu ứng dụng này, cũng có vài ứng dụng của bạn trên đó thì sao. Khi đó, có khi có đến hàng trăm, hoặc hàng ngàn, hoặc hơn nữa, người dùng trên khắp thế giới đang sử dụng ứng dụng của bạn hàng ngày thì sao. Nghĩ thôi đã thấy thích rồi.

Ngoài việc dễ dàng tải ứng dụng xuống, thì việc đưa ứng dụng lên Google Play cũng khá dễ dàng. Bạn chỉ cần bỏ ra $25 cho một lần duy nhất trong đời để mua tài khoản trên đây, rồi sau đó thoải mái phát triển các ứng dụng của riêng bạn và xuất bản.

Thêm nữa, bên cạnh có nhiều người dùng trên thế giới biết đến và sử dụng ứng dụng của bạn, bạn còn có khả năng kiếm thêm tiền nhờ vào việc tận dụng hiển thị quảng cáo trong ứng dụng, hoặc xây dựng các chức năng có trả phí, hoặc xây dựng các ứng dụng cần người dùng phải mua mới dùng được. Thật tuyệt đúng không nào.

Chưa hết, khi bạn đã quyết định đưa ứng dụng lên Google Play thì chỉ mất vài giờ để ứng dụng của bạn đến với người dùng trên toàn thế giới (con số này so với Apple App Store là vài ngày, thậm chí có khi đến cả tuần). Việc đưa các bản cập nhật hay sửa lỗi lên Google Play chính vì vậy cũng khá là nhanh chóng và dễ thở hơn nhiều.

Môi Trường Phát Triển Phần Mềm

Chúng ta đã hiểu về Android qua tìm hiểu các ý trên đây rồi. Nhưng bài hôm nay sẽ không dừng lại sớm vậy, hãy cùng xem thêm chút nữa về cái gọi là Môi trường phát triển phần mềm là gì nhé.

Môi trường phát triển phẩm mềm là một môi trường mà ở đó nhà Phát Triển Phần Mềm có được những công cụ cần thiết nhất để viết ra một ứng dụng hoàn chỉnh. Vì bài học liên quan đến Android, do đó chúng ta sẽ tập trung vào tìm hiểu Môi trường phát triển phần mềm Android (Android Development Environment) sẽ bao gồm những công cụ cần thiết gì tiếp theo đây.

Hệ Điều Hành (Operating System)

Như mình có nói trên kia, ứng dụng Android có thể được lập trình trên hầu hết các nền tảng hệ điều hành phổ biến nhất hiện nay như Windows, Mac, Linux hay thậm chí Chrome OS.

Operating SystemOperating System
Dù bạn có đang dùng hệ điều hành nào thì cũng đừng quá lo lắng

 

Java Development Kit (JDK)

Bộ Công Cụ Phát Triển Cho Java, chắc chắn rồi, vì ứng dụng Android được viết dựa trên ngôn ngữ Java mà, do đó chúng ta cần phải có bộ JDK này để các công cụ khác có thể dùng nó để biên dịch ra mã Java, rồi từ Java sẽ biên dịch tiếp thành các mã máy. Ngay cả như nếu bạn dùng Kotlin để lập trình Android, thì bạn vẫn cần đến bộ JDK này, vì Kotlin vẫn tận dụng máy ảo JVM bên trong JDK mà thôi.

Java JDKJava JDK
JDK

 

Android Software Development Kit (Android SDK)

Tương tự như JDK, Android SDK là Bộ Công Cụ Phát Triển Cho Android. SDK này sẽ cung cấp cho chúng ta một bộ các thư viện và công cụ cần thiết để chúng ta có thể build, kiểm tra và debug cho các ứng dụng Android mà chúng ta sắp lập trình đây.

Android SDKAndroid SDK
Android SDK

 

Android Studio

Cuối cùng chúng ta phải cần công cụ này, như đã nói ở trên, đây là công cụ mà chúng ta sẽ tương tác trực tiếp và dài lâu. Android Studio cung cấp cho chúng ta một giao diện trực quan để chúng ta có thể viết code, chỉnh sửa, biên dịch, debug, quản lý bộ nhớ,… tất cả mọi thứ cần thiết để chúng ta có thể tạo nên một phần mềm trên đó.

Android StudioAndroid Studio
Android Studio

 

Kết Luận

Chúng ta vừa có cái nhìn sơ lược nhất về việc xây dựng ứng dụng trên hệ điều hành Android này. Hi vọng các thông tin căn bản này giúp tạo cho bạn một kiến thức và một động lực nhất định để xây dựng ước mơ lập trình trên nền tảng di động của chính bạn.

Bài viết gốc được đăng tải tại yellowcodebooks.com

Xem thêm:

Tìm việc làm IT mọi cấp độ tại Station D

Bài viết liên quan

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd
Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Applicant Tracking System là gì? ATS hoạt động ra sao

Applicant Tracking System là gì? ATS hoạt động ra sao

Công nghệ phát triển hướng đến giải quyết và cải tiến cho mỗi quy trình, hoạt động của doanh nghiệp cũng như đời sống. Đối với lĩnh vực tuyển dụng, sự xuất hiện của phần mềm ATS (Applicant Tracking System) mang đến nhiều thay đổi đáng kể, cả đối với nhà tuyển dụng và ứng viên. Vậy phần mềm ATS là gì? Chúng được sử dụng ra sao? Những thắc mắc về phần mềm ATS trong tuyển dụng sẽ được Station D giải đáp tại bài viết dưới đây. Hệ thống sàng lọc ứng viên ATS (Applicant Tracking System) Applicant Tracking System là gì? Applicant Tracking System (ATS) hay còn gọi là Hệ thống quản lý hồ sơ ứng viên là phần mềm quản lý quy trình tuyển dụng từ đầu đến cuối một cách tự động hóa. ATS được thiết kế để giúp nhà tuyển dụng tiết kiệm thời gian và chi phí trong việc thu thập, sắp xếp và sàng lọc hồ sơ các ứng viên. Các tính năng nổi bật của Applicant Tracking System Các tính năng nổi bật của Applicant Tracking System Applicant Tracking System (ATS) là một công cụ quan trọng giúp các công ty quản lý quy trình tuyển dụng hiệu quả hơn. Cùng chúng tôi điểm qua các tính năng nổi bật của ATS: Sàng lọc và quản lý hồ sơ ứng viên Khả năng tìm kiếm và sàng lọc ứng viên là một trong các tính năng nổi bật nhất của ATS. Với việc sử dụng từ khóa và tiêu chí cụ thể, hệ thống có thể nhanh chóng tìm kiếm và sàng lọc các hồ sơ phù hợp, tự động loại bỏ những ứng viên không đạt yêu cầu. Điều này giúp nhà tuyển dụng tập trung vào những ứng viên...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Tối ưu tỉ lệ chuyển đổi với Google Optimize và Google Analytics

Tối ưu tỉ lệ chuyển đổi với Google Optimize và Google Analytics

Tối ưu tỷ lệ chuyển đổi là một trong những yếu tố quan trọng mà một Growth Marketer không thể bỏ qua. Google Analytics là công cụ hữu hiệu và phổ biến nhất giúp chúng ta theo dõi, đo lường và tối ưu tỷ lệ chuyển đổi. Số liệu từ Google Analytics giúp chúng ta nhìn ra điểm cần thay đổi để tăng tỷ lệ chuyển đổi. Theo dõi chuyển đổi là quá trình thiết yếu nhưng cũng rất “khó nhằn”. Ngày nay, mọi người đang sử dụng điện thoại di động nhiều hơn và thường xuyên hơn khi mua hàng trực tuyến. Việc tối ưu hóa website phiên bản di động rất quan trọng. Traffic đến từ mobile khá lớn và làm ảnh hưởng nhiều tới tỷ lệ chuyển đổi. Để xem website của bạn có hoạt động tốt trên mobile hay không như thế nào? Làm gì khi tỷ lệ chuyển đổi giảm? Website phiên bản di động của bạn có nội dung hấp dẫn không? Không có những nút điều hướng hành động? Trang bị lỗi …, những điều này có thể ảnh hưởng tới tỉ lệ chuyển đổi Google Analytics, hiểu được điều này, bạn sẽ có cơ sở để khắc phục và hoàn thiện website của mình. Hãy cùng đến với chủ đề “DÙNG GOOGLE ANALYTICS TỐI ƯU TỈ LỆ CHUYỂN ĐỔI TRÊN MOBILE” với sự chia sẻ của diễn giả Nguyễn Minh Đức, CEO IM GROUP tại Vietnam Mobile Day 2018 nhé

By stationd