Phần một trong loạt bài phát triển sản phẩm độc lập của tôi

Là một lập trình viên di động, mong ước lớn nhất của tôi dĩ nhiên là viết một ứng dụng rồi ngồi chờ tiền về ( ͡° ͜ʖ ͡°).

Bạn có thể gặp những vấn đề gì khi tự xây dựng một ứng dụng? Gần đây tôi đã phát hành một ứng dụng của riêng mình và muốn chia sẻ những vấn đề đã gặp cùng cách tôi giải quyết chúng.

1. Xác định nhu cầu

Mỗi người có một lý do hơi khác nhau khi muốn làm ứng dụng độc lập.

Nói rộng ra, có thể bạn nhìn thấy một nhu cầu cấp thiết mà giải pháp của nó sẽ thay đổi thế giới, chỉ còn thiếu một lập trình viên.

Ở quy mô nhỏ hơn, có thể bạn chỉ muốn nhìn thấy ứng dụng của mình trên App Store. Đó có thể là một thử nghiệm công nghệ mới: sau khi iOS 8 giới thiệu Today extension, nhiều ứng dụng đặc sắc dựa trên nó đã xuất hiện. Hoặc đó có thể là một tiện ích gỡ bỏ bất tiện trong cuộc sống, như ứng dụng quản lý tệp hay ứng dụng thời tiết với các tính năng chu đáo.

Hãy xác định một nhu cầu, dù lớn hay nhỏ. Đó là động lực để bạn tiếp tục.

Tôi đã làm một ứng dụng quản lý tệp có tên “File Manager” theo nhu cầu của vợ mình.

File Manager biến điện thoại thành máy chủ. Các thiết bị khác trong cùng mạng Wi-Fi có thể quản lý tệp qua trình duyệt: sắp xếp thư mục, sao chép và di chuyển tệp, cũng như tải lên hoặc tải xuống.

Sau khi xác định nhu cầu này, tôi mất khoảng ba tháng để đưa dự án lên cửa hàng. Trong quá trình đó, tôi cũng học một ít Swift.

2. Nguyên mẫu và tương tác của ứng dụng

Khi đã có nhu cầu và giải pháp, hẳn bạn cũng hình dung sơ bộ về nguyên mẫu và cách mọi người sẽ sử dụng. Bước tiếp theo là chốt các màn hình và tương tác thực tế.

Tôi đã thử vài công cụ tạo nguyên mẫu rồi từ bỏ chúng.

Tôi nhận ra thời gian cần để học công cụ nguyên mẫu và bố trí màn hình đã đủ để dựng chúng bằng xib. Cuối cùng tôi giải quyết bài toán nguyên mẫu bằng các bản phác thảo vẽ tay.

Sau này, khi làm các sản phẩm khác, tôi nhận ra nguyên mẫu là cần thiết. Tạo nguyên mẫu thực chất là quá trình sắp xếp logic và làm cho nó tự nhất quán.

3. Xử lý tất cả biểu tượng nhỏ trong ứng dụng thế nào?

Khi nguyên mẫu đã ổn định, tôi có hình dung sơ bộ về cấu trúc tổng thể của dự án. Nhưng ngoài mã nguồn, vẫn còn một vấn đề mà mọi nhà phát triển độc lập đều phải đối mặt!

Tôi nên làm gì với tất cả biểu tượng nhỏ được dùng trong dự án?

Dưới đây là vài thư viện biểu tượng tôi từng dùng:

  • Thư viện biểu tượng của Alibaba → Các bộ biểu tượng vector hoàn chỉnh với màu sắc và kích thước tùy chỉnh tự do, một nguồn tài nguyên hào phóng. Dùng cho mục đích thương mại vẫn cần sự cho phép của tác giả.
  • icons8 → 56.500 biểu tượng phẳng miễn phí! Có biểu tượng cho nhiều nền tảng và cả ứng dụng Mac.
  • iconfinder → Cũng cung cấp các bộ biểu tượng hoàn chỉnh, với mô hình thương mại rõ ràng hơn.

4. Tự kiểm thử và thử nghiệm beta

Trong công ty, kiểm thử viên, đồng nghiệp phụ trách sản phẩm và các thành viên khác giúp chúng ta cải thiện ứng dụng. Một nhà phát triển độc lập có thể tìm và ngăn càng nhiều lỗi càng sớm bằng cách nào?

4.1 Tự kiểm thử

Giờ tôi phải tự làm phần việc trước đây giao cho đội kiểm thử. Ngoài kiểm thử thủ công, chúng ta còn có thể nuôi một chú khỉ kiểm thử để hỗ trợ.

4.2 Tuyển người thử nghiệm beta

Làm ứng dụng độc lập đồng nghĩa với việc đảm nhiệm nhiều vai trò hơn một lập trình viên: sản phẩm, vận hành, chăm sóc khách hàng và nhiều việc khác. Quảng bá cũng là trách nhiệm của chính chúng ta. Hãy bắt đầu với bạn bè, bạn học và gia đình, rồi đăng lên mạng xã hội: ứng dụng của tôi gần xong rồi, hãy đến dùng thử nhé!

Người dùng beta không chỉ tìm lỗi. Những yêu cầu và đề xuất mới của họ còn có thể đóng góp nhiều hơn cho việc làm phong phú và hoàn thiện ứng dụng.

4.3 Phân phối bản thử nghiệm

Nếu thuận tiện lấy mã định danh thiết bị của người thử nghiệm, bạn có thể dùng nền tảng lưu trữ bản beta như Pgyer hoặc fir.im. Có áp dụng giới hạn thiết bị.

Nếu khó lấy mã định danh thiết bị, bạn có thể dùng TestFlight của Apple, được mở sau iOS 8, với tối đa 10.000 suất thử nghiệm beta.

5. Ảnh chụp màn hình trên App Store

Tại sao ảnh chụp phát hành lại có một mục riêng? Nhà phát triển độc lập có tương đối ít kênh quảng bá. Ảnh chụp và phần mô tả trên trang sản phẩm App Store là lối vào và mặt tiền cửa hàng của ứng dụng.

Nếu những ảnh này trông kém, chúng ta có thể mất một người vừa mới phát hiện ra ứng dụng.

Trong công ty, nhà thiết kế UI và đồng nghiệp phụ trách sản phẩm giúp làm ảnh chụp. Khi làm một mình, chúng ta lấy ảnh đúng kích thước bằng cách nào?

5.1 Chụp trong trình mô phỏng

Bạn có thể chụp trực tiếp các màn hình ứng dụng trong trình mô phỏng, dù kết quả có thể hơi thô.

5.2 Chỉnh đẹp thêm một chút

Tôi đề xuất một trang web miễn phí tên là shotbot. Tải tư liệu lên và trang sẽ tạo một bộ ảnh sản phẩm có định dạng đồng nhất.

Ghi chú, 2022-04-11: Sau này tôi đã viết riêng một ứng dụng Mac để làm ảnh chụp cho những lần phát hành của mình trên App Store.

6. Những tài nguyên khác tôi đã dùng

Khi xử lý một số tương tác và thiết kế cụ thể, công cụ của bên thứ ba hay biểu tượng làm sẵn đôi khi vẫn không đạt đúng điều bạn muốn.

Vậy thì tự chỉnh ảnh!

Dĩ nhiên, phần lớn lập trình viên không thật sự giỏi Photoshop, một số người còn chưa từng dùng. Chúng ta có thể làm gì?

Đây là hai trang web: Online PS và trình chỉnh sửa web của Meitu

Bạn có thể chỉnh ảnh đơn giản ngay trong trình duyệt mà không cần tải phần mềm Adobe nặng nề. Đó là tin vui cho những người không giỏi Photoshop như chúng ta.

Ngoài chỉnh ảnh, chính biểu tượng ứng dụng cũng có thể gây đau đầu. Một trang khác tôi đề xuất là MakeIcon: tải logo 1024×1024 lên và trang tự động tạo mọi kích thước biểu tượng còn lại. Nó còn hỗ trợ iMessage trên iOS 10.

7. Lời kết

Tôi đã hoàn thành việc phát triển bằng các tài nguyên sẵn có mà không có sự giúp đỡ của nhà thiết kế UI. Nếu bạn có nhà thiết kế, xin cứ tự nhiên đi ra  ̄ヘ ̄.

Tôi đã muốn làm ứng dụng của riêng mình từ lâu. Chỉ gần đây, sau khi sắp xếp rõ những thứ cần thiết, tôi mới thực sự bắt đầu. Quan trọng nhất là cuối cùng tôi đã có một nhu cầu rõ ràng để giải quyết, đồng thời học thêm một ít Swift.

Trong quá trình phát triển, từng có cả một tuần tôi gần như không viết dòng mã nào. Tôi nhận ra khi làm ứng dụng độc lập, nhu cầu mới thực sự là động lực giúp mình bền bỉ. Quy mô không quan trọng; giải quyết được vấn đề mới quan trọng.

Khi phát triển sâu hơn, yêu cầu cũng tăng lên: chia sẻ AirDrop, tích hợp iCloud và phát triển ShareExtension vẫn chưa hoàn tất. Cứ tiếp tục và lặp lại từng chút một! ʘʚʘ (Tôi nhất định không thừa nhận lý do ban đầu làm ứng dụng này là để chia sẻ “collection.avi” giữa PC, điện thoại và iPad.)

Đây là liên kết đến ứng dụng của tôi: Cách đơn giản nhất để quản lý tệp, File Manager

Ghi chú, 2022-04-11: Không còn tìm thấy ứng dụng qua tìm kiếm. Vì không có cách kiếm tiền phù hợp, tôi đã bán ứng dụng cho một công ty gia công phần mềm. Việc bán ứng dụng khiến tôi suy nghĩ rất nhiều; bài tiếp theo trình bày chi tiết hơn.

Bài viết gốc được đăng trên Jianshu. Sau đó tài khoản Jianshu của tôi bị xâm nhập và các bài khác liên tục bị chặn. Giờ tôi đang chuyển toàn bộ bài viết sang github.io.