[Basic for Absolute Beginner] – [Part 4] – Basic Steps for a new app

[Windows Phone–Silverlight] Layout with XAML–Basic for Absolute Beginner – Part 1

[Windows Phone – Silverlight] Layout with XAML – Basic for Absolute Beginner – Part 2

[Basic for Absolute Beginner] – [Part 3] – App’s Structure and how to customize it

Vậy bạn đã biết cách bố cục giao diện với XAML, cấu trúc một ứng dụng. Bây giờ, ta sẽ đi tiếp vào phần các bước bản để tạo một ứng dụng mới

Khoan đã, trong 2 part kia, bạn đã tạo kha khá “New Project” rồi phải ko. Bây giờ, bạn sẽ biết tới một cách bài bản

Technorati Tags: ,,

Hình thành ý tưởng

Ý tưởng sẽ định hình cho ứng dụng của bạn. Không bao giờ bắt tay vào viết ứng dụng mới khi bạn chưa hề biết ứng dụng của bạn sẽ làm

ý tưởng, hãy lên google play store, Apple App Store để học hỏi từ những ứng dụng hay ho trên đó, nhưng đừng sao chép chúng, hãy tận dụng ý tưởng của họ, cải tiến , làm tốt hơn, bằng cách dưới đây

Tinh gọt ý tưởng của bạn

Khi đã ý tưởng rồi, việc tiếp theo bạn làm sẽ đánh giá ý tưởng đó.

Nghe vẻ khá buồn cười, nhưng tôi khuyên bạn viết ra giấy câu sau đây:

“[Tên ứng dụng] is the best app of its kind in [chức năng chính], [điểm nổi bật]”

dụ nhé: “Karaoke Online Free is the best app of its kind in singing karaoke on windows phone, it helps people singing at most 2 taps”

Tên ứng dụng: Karaoke Online Free (search trên store, bạn sẽ thấy ứng dụng này hơn 4000 review, trung bình 4.3 sao)

Chức năng chính: hát karaoke trên điện thoại windows phone

Điểm nổi bật: sử dụng cùng đơn giản, chỉ cần 2 chạm đã thể hát

Stick to the plan

Bạn đã một câu “review” đầy quyền lực mới tạo ra bên trên rồi, hãy bám chặt lấy . Giả sử khi làm xong, bạn cần tới 3 chạm, hoặc 4 chạm mới thể hát được, thì ứng dụng của bạn vẫn chưa hoàn chỉnh.

Điều tệ hại nhất tính năng chính ứng dụng bạn cung cấp lại không hoàn hảo. Kế hoạch hát karaoke trên điện thoại, sau cùng bạn chỉ làm được việc tra cứu bài hát hoặc lời nhạc, thì đây một ý tưởng fail hoàn toàn, ứng dụng bạn viết ra không dành cho mục đích đó.

Tạo project

Tạo một Project mới, quá đơn giản rồi phải không?

Cài đặt các gói Nuget cần thiết

Ứng dụng của bạn sẽ cần 1 số thư viện ngoài, các thư viện này thể cài đặt qua Nuget: [Visual Studio] NUGET the Magician

Giới thiệu một số gói Nuget hay ho:

·         HTMLAgilityPack: thao tác với chuỗi HTML

·         JSON.NET: thao tác với dữ liệu json

·         Windows Phone Toolkit: bộ toolkit các control tiện ích cộng thêm cho ứng dụng

Tạo các folder chính

Đặt tất các các page bạn sẽ tạo trong một folder tên PageGroups. Điều này giúp bản quản code dễ dàng hơn, dễ dàng chỉnh sửa hơn, bạn sẽ luôn biết một đoạn code nằmđâu. Nếu ứng dụng phức tạp hơn, mỗi một mục nội dung, hãy tạo cho một folder trong PageGroups, dụ nhưLoginGroup”, “SettingGroup

Đặt tất cả các đoạn code dùng chung trong một thư mục tên Utilities. Đoạn code dùng chung thể một method chuyển đổi đơn vị, một method lấy dữ liệu từ API, chúng thể gọi từ bất kỳ page nào trong ứng dụng (tất nhiên những method này “Static”)

Tạo một folder cho Data hoặc Database. Bạn sẽ không muốn để Database ngay bên ngoài Project đâu

Tạo một Folder cho các Data Model, một folder cho CustomControl

Chốt: Tạo folder cho tất cả những thứ bạn thấy thể gom nhóm lại với nhau. Nên nhớ, trong folder thể tạo thêm folder khác. Hãy quản chúng thật chặt chẽ

Cần một file cho ViewModel, hay StaticData

Nếu bạn đã biết về MVC, hay MVVM, thì bạn sẽ biết rằng trong các dụ, họ thường tạo các class ViewModel ngay trong App.xaml.cs

Vậy thì tại sao ta không tạo hẳn một file chỉ để chứa những class này?

Tạo một file mới tên ViewModelInstancesđể chứa các ViewModel, khai báo các ViewModel như

Bạn cũng sẽ cần một file gọi StaticData, để lưu những dữ liệu trung gian, tồn tại suốt thời gian chạy app

Các Page bản phải

About

About nói về bạn ứng dụng của bạn. About page chỉ mất khoản 5 phút để làm, nhưng bạn sẽ một ứng dụng ấn tượng

Thậm chí, about còn thể đóng các vai trò sau:

·         Nhắc người dùng Rate Review ứng dụng của bạn

·         Cho phép người dùng gửi thư góp ý, hoặc UserVoice

·         Thể hiện các change log

·         Quảng cáo cho các ứng dụng khác của bạn

Setting

Setting page người dùng thể tinh chỉnh một số thiết lập trong ứng dụng của bạn. Page này giúp người dùng cảm giác nhưĐiều khiểnđược ứng dụng theo cách họ muốn

Nếu ứng dụng của bạn ko để setting cả, thì page này cũng không cần thiết. Nhưng hãy cân nhắc kỹ, các ứng dụng viết vội vàng thường kém chất lượng không các tùy chọn

Chuẩn bị dữ liệu

Tạo Model

Model cấu trúc dữ liệu của bạn. Thường thì công việc này, bạn phải tạo bằng tay.

Tuy nhiên, nếu bạn nhận dữ liệu dạng Json, thì một các vui hơn để tự động hóa việc này: JSON2CSHARP

Nhìn hình trên chắc bạn cũng biết cách sử dụng nhỉ. Sau khi tạo ra các class, bạn thể copy paste trực tiếp vào databse

Còn nữa, nếu bạn sử dụng chế Binding, bạn sẽ muốn khai báo kế thừa từ Interface INotifyPropertyChanged

bộ công cụ Resharper sẽ giúp ích cho bạn

Đọc thêm về Resharperđây: [Windows Phone – Silverlight] Layout with XAML – Basic for Absolute Beginner – Part 2, phần 2.1

Load Data ở đâu trong code behind?

Load data việc bắt buộc phải làm. Nhưng load data ở đâu? Nếu đặt nhầm chỗ, ứng dụng của bạn sẽ chậm phản hồi tới người dùng, sẽ bị bad review

hẳn một bài blog viết về : [Windows Phone] Where to put load data method?

Thế xong rồi, hãy dùng kiến thức bạn trong bài Layout with XAML để bắt đầu thiết kế tạo nên ứng dụng Windows Phone thực sự đầu tiên của bạn

Chúc vui

Nhận xét