Lập trình IOS: Những bước đi đầu tiên

A. Các điều kiện để bắt đầu lập trình với IOS:

I. Phần cứng:

– Máy Macintosh: Đừng lý luận với tôi về vấn đề này, lập trình IOS cần máy Mac, vậy thôi

+ Bạn giả lập được máy Mac, tốt thôi nhưng nó chạy không ổn định, khó nâng cấp và đủ thứ những điều khó chịu nữa. Bạn muốn khổ, muốn nhiều thử thách thì cứ việc, tớ không quan tâm. Lập trình và thiết kế chương trình đủ khổ rồi, tớ không muốn khổ thêm.

+ Mua máy Mac cũ, okie thôi. Nhưng tớ thì không thích, vì máy cũ của Mac vừa khó kiếm lại chả tiết kiệm được bao nhiêu. Máy của Apple rất ít mất giá (so với máy cái máy khác thôi, ví dụ như PC sau 3-5 năm bạn bán còn được bao nhiêu tiền thì biết).

+ Mua máy mới thì sợ những nhà cung cấp dỏm, thay linh kiện. Thật là hết biết loại người này. Apple nổi tiếng là nhà cung cấp và bảo hành toàn cầu. Bạn đem ra bảo hành là nó bảo hành, đừng có nghe những thằng ngu khác lý luận. Chuyện bóc seal trước, thay đồ của Apple sẽ không thể xảy ra được đâu. Nếu có thì bạn nên mua vé số đi.

– Ngoài ra, có những người chỉ muốn thử nghiệm, cưỡi ngựa xem hoa thì lời khuyên là “Đừng vào học lập trình IOS làm gi” những kiến thức nền tảng này chả giúp đỡ gì cho bạn đâu. Rồi lấy lý do này ẻể cố gắng giả lập Mac (“Hackintosh”), làm vậy để làm gì?

+ Nếu bạn là người phát triển, việc xem xét bên ngoài chả thể tạo ra một phần mềm thật sự để đưa lên AppStore vì yêu cầu của Apple ngày càng cao. Phần mềm không có khả năng tương tác với người dùng sẽ bị loại ngay từ vòng gửi xe. Những ứng dụng vớ vẫn sẽ không có cơ hội lên Store để ra mắt thế giới mà có ra cũng chả ai mua khi có tới cả trăm ngàn phần mềm khác.

+ Nếu bạn muốn học qua tất cả các nền tảng và nghĩ rằng học lập trình Iphone sẽ có thể học được những thứ khác một cách dễ dàng thì bạn lầm rồi. Lập trình IOS khó hơn và khác biệt rất nhiều so với các ngôn ngữ khác. Chỉ những người có kinh nghiệm mới nên thử sức với nó. Lý do là vì lập trình IOS có tuổi đời thấp hơn nhiều so với các ngôn ngữ khác. Trong khi các ngôn ngữ khác đã đạt đến độ hoàn hảo của nó (98-99% thôi) thì IOS đang ở giai đoạn phát triển còn rất nhiều thứ để có thể định hình. Vì vậy mới lập trình thì đi học cái khác đi nhé.

* Ghi chú cho những ai chưa từng lập trình với hệ di động: Các lập trinh Mobile làm việc trên một màn hình rất nhỏ 3.5 inches như Iphone, với bộ nhớ không lớn và khả năng xử lý dữ liệu cũng không cao.

Việc này giống như ngành công nghệ thông tin được dịch chuyện thời gian về 20 năm trước khi những máy tính đầu tiên ra đời và chúng ta lập trình bằng các ngôn ngữ đời đầu

– Ngoài ra, do sự bảo mật của Apple nên việc can thiệp của chương trình vào hệ thống là cực kì hạn chế. Kể cả việc chạy nền hay sử dụng bất cứ tài nguyên nào của máy cũng là hữu hạn.

II. Tư tưởng:

* Những lời khuyên dành cho việc bắt đầu ra riêng:

Đây là những lời khuyên của tôi sau 2 năm nghiên cứu về lập trình IOS và làm việc lập trình. Nhận xét nếu bạn cảm thấy nó không đúng

I. Nhìn vào một bức tranh lớn:

Tạo ra một kế hoạch kinh doanh hiện đại ngay từ đầu sẽ giúp bạn có khả năng vượt qua những khó khăn của ngày đầu lập nghiệp. Nó cũng chỉ ra cho bạn những mục tiêu cần hoàn thành để bạn không lạc lối khi đi trên con đường lập trình. Lập trình không đơn giản như bạn nghĩ, nó bao gồm rất nhiều những nhánh riêng mà mỗi nhánh có những đặc điểm cần phải lưu ý. Thêm vào đó mỗi hướng đi đều sẽ mang lại cho bạn tiền bạc rất lớn nhưng đòi hỏi bạn phải chú tâm vào một nhánh chứ không phải cứ bao hết cái này đến cái khác.

Lập trình chung có thể chia làm các nhánh sau:

– Lập trình các ứng dụng dành riêng (cho một ngành, cho một dịch vụ, cho một mảng nào đó) và những mảng này khá nhỏ và riêng biệt. Chẳng hạn như về giáo dục, học tập.

– Lập trình web, đơn giản nhưng chú trọng vào đồ họa và có số lượng lớn người sử dụng.

– Lập trình Mobile (IOS, Android và có thể có cả Windows Phone) hiện tại đang là ngành hot nhất vì lịch sử chưa dài, đang rất cần lao động, tiếp cận được với thị trường thế giới.

– Lập trình ứng dụng thương mại, áp dụng không phân biệt ngành nghề hoặc ít kén chọn ngành nghề, ứng dụng IDM, Office

* Những đức tính mà bạn cần có:

– Trung thực: theo tôi thì đây là điều cần có khi bạn làm bất cứ hoạt động kinh doanh nào nhưng theo tôi thì không vì nó phụ thuộc vào vị trí địa lý, văn hóa của quốc gia. Ở Việt Nam, việc bạn trung thực chả giúp bạn được thêm chút nào đâu, nhưng ở thị trường thế giới thì khác, trung thực là đức tính hàng đầu. Gia nhập AppStore chính là gia nhập thị trường thế giới, hãy bỏ đi cái tính cơ hội, nịnh bợ để hòa mình vào thế giới, tỏa sáng tài năng

– Chúng ta, những người thiết kế, lập trình không phải là những con buôn, những thằng marketing. Chúng ta khó mà lừa gạt người khác. Cứ sử dụng khả năng của mình, nó sẽ đem lại thu nhập lớn hơn vì nó có lợi ích cho mọi người. Đừng cư xử như những loại lừa lọc như thế.

– Cương quyết: Đây chính là những gì tôi muốn nói ở phía trên, lập trình có rất nhiều những thứ có thể phát triển. Chọn một cái và thật giỏi nó trước đã sau đó hãy nhào qua những thứ khác. Hãy dũng cảm bỏ qua những thứ khác, đừng nhìn người ta kiếm tiền được từ những thứ đó mà cảm thấy những gì mình đang làm thật uổng phí. Bạn đang lập trình mobile, thấy thằng làm website kiếm nhiều tiền lại chạy qua làm website. Rút cuộc bạn chả giỏi thứ nào, cái gì cũng không kiếm được tiền vì bạn dở dở ương ương ở giữa.

– Những lựa chọn phụ: Thành thực mà nói, lớp trẻ bây giờ coi phim quá nhiều. Những gì trên phim là những thứ được làm cho nghiêm trọng hơn, những lựa chọn gần như chỉ có một, những cách đơn giản bị bỏ qua vì phim cần tạo kịch tính. Trong cuộc sống thực, quyết định không phải là đường đi duy nhất, hãy chọn những thứ dễ dàng mà đem lại lợi ích cao, làm những thứ phức tạp mà người khác không cần thì cũng vậy thôi.

– Quan trọng nhất, bạn hãy luôn nghĩ về những lối đi phụ, những gì bạn có thể làm được nếu không thành công. Khi kế hoạch chính của bạn sụp đổ, nó không phải là ngày tận thế. bạn nên biết rằng tất cả những gì bạn làm đều được mọi người đánh giá. Bạn cố gắng xây dựng một công ty, một thương hiệu, những việc bạn làm sẽ có rất nhiều người biết đến. Những thứ bạn làm luôn luôn có ưu và khuyết điểm và người ta luôn biết điều đó. Vậy bạn đừng lo, nếu nhưng bạn thất bại sẽ luôn có người khác mướn bạn nếu họ thấy được sự cố gắng của bạn khi bạn làm việc. Vậy hãy luôn cố gắng, dù thành công hay thất bại bạn luôn luôn đạt được một thứ gì đó, nếu đó không phải là thành công thì đó chính là kinh nghiệm. Những người không làm được gì là những người chẳng có chút cố gắng nào cho công việc của mình.

– Con người: Chính là yếu tố quan trọng nhất khi làm việc. Đừng bao giờ coi thường phần này. Bạn và những người trong team phải là những người giỏi nhất. Đừng tìm những người quen để cảm thấy sự an toàn khi làm việc với những người quen. Lý do là người càng quen thì làm việc càng cẩu thả bết bát, càng làm kế hoạch chậm hơn, mà chậm hơn thì nghĩa là bạn đang mất đi rất nhiều tiền. Những người bạn hợp tác phải là những người giỏi nhất với giá tiền đó, với khả năng của bạn. Hãy đi tìm những người giỏi và chứng tỏ bạn giỏi hơn người khác ở những điểm khác. Một điều quan trọng hơn nữa, không đưa hết những gì bạn có cho người khác trước khi bạn có một sự hợp tác chắc chắn. Bạn cần làm cho người khác hiểu rằng bạn giỏi hơn người ta nhưng cũng phải làm cho người ta cần bạn.

– Việc đầu tiên chính là bạn phải làm cho chính bạn trở nên giỏi hơn trong số việc nào đó. Sau đó là tích lũy những điểm mà chỉ bạn có được, đó là những chìa khóa không phải ai cũng giao ra. Những người đã có một số thứ trong tay rất dễ để tìm người tài giỏi hơn bạn. Hãy giữ lại những chìa khóa và giao ra những cánh cửa. Ngoài ra, Việt Nam chính là nơi mà người ta sẵn sàng làm những việc như thế, hãy đề phòng

– Tiền cũng là một thứ cực kì quan trọng. Chi dùng không đúng thì không thể nào làm cho công ty lớn mạnh lên nổi, có thể chết trước khi kịp phát triển. Hãy sử dụng tiền một cách khôn ngoan. Tiền cũng là một trong những cách làm thắt chặt sự liên kết. Đừng bao giờ dùng toàn bộ tiền của bạn, hãy để người khác góp vốn vào và làm cho người ta cảm thấy có sự liên kết.

II. Bàn bạc với bạn bè và gia đình về kế hoạch của mình:

Trừ phi bạn có vấn đề với gia đình không thì hãy bàn bạc với họ. Đơn giản là vì kế hoạch bạn nghĩ trong đầu không thể hoàn hảo, nói chuyện với họ là cách bạn làm cho nó hoàn hảo. Đối với những người không chuyên không rành mà bạn còn không thể trả lời được những câu hỏi của họ thì bạn không thể nào có thể đối thoại với những người đang trong nghề đâu

Khi đi làm ăn riêng, bạn cần mở rộng quan hệ hết mức có thể, những người bạn không ngờ đến sẽ đem lại khách hàng cho chính bạn.

 

III. Bạn sẽ mất một vài khách hàng vì giá bạn quá cao:

– Hãy giữ giá của chính mình, nếu người ta chấp nhận thì bạn sẽ làm việc rất thoải mái không thì bạn cũng thoải mái vì không phải ức chế khi cảm thấy công việc của mình không được đánh giá cao

– Đặc biệt bạn cũng sẽ mất khách hàng nếu giá của bạn đưa ra quá thấp. Dù bạn thích hay không, khả năng của bạn cũng phải phù hợp với giá tiền đưa ra và đòi hỏi của khách hàng.

– Trong lĩnh vực lập trình IOS, đây là một yếu tố khá là qua trọng. Bạn đã bỏ rất nhiều tiền đầu tư để có khả năng lập trình được với Mac và IOS thì không có lý do gì mà bạn lại đưa ra một cái giá quá thấp để rồi lỗ lại nói rằng lập trình IOS không kiếm tiền. Hãy nhớ rằng không phải ai cũng lập trình được IOS và hãy giữ giá cho chính mình.

 

IV. Đừng lo lắng về giá:

Mức giá của một dự án phụ thuộc vào:

– Kinh nghiệm

– Đặc điểm dự án

– Thời gian hoàn thành

– Các hỗ trợ

– Mức độ yêu cầu

– Tình hình kinh tế hiên tại

– Đặc điểm địa lý vùng miền

Việc định giá sẽ cho bạn nhiều kinh nghiệm đau thương, nhưng rất cần thiết để cho bạn biết mình đang ở đâu. Vì vậy, quan trọng là bạn vui vẻ với giá mà mình đưa ra, đừng câu nệ quá vào những thời điểm ban đầu. Luôn cảm thấy giá mình đưa ra quá thấp, nếu thế thì đừng làm, ức chế sẽ chả giúp gì được cho bạn đâu. Hãy nhớ rằng mình đang làm những gì mình yêu thích và tiền bạc là phần thưởng phụ thêm.

 

V. Bạn sẽ mắc sai lầm:

– Bạn chắc chắn sẽ mắc sai lầm, cho dù bạn có nghiên cứu kĩ đến đâu đi chăng nữa thì sai lầm vẫn luôn luôn tồn tại. Vấn đề quan trọng là chúng ta sẽ đứng dậy như thế nào. Có những người ngay khi thấy sai lầm là đổ thừa tất cả cho hoàn cảnh và luôn coi mình không thể thất bại nếu không tại hoàn cảnh như thế. Thế giới luôn gắn liền với những thứ làm cho chúng ta phạm sai lầm. Tránh những thứ có thể làm cho chúng ta thất bại là nhiệm vụ của chính bạn và chỉ của bạn thôi. Nhược điểm chí mạng của dân Việt Nam là luôn có lý do cho việc thất bại và luôn luôn là do những thứ khác (“thời tiết”, “người khác”) nếu không có những thứ đó thì ai cũng sẽ thành công thưa quý vị. Hãy thừa nhận trung thực và tránh xa những thứ đã làm cho ta từng thất bại, từng chút một chúng ta sẽ có thành công.

“Loại bỏ mọi yếu tố làm ta thất bại, ta sẽ thành công, khó mà làm khác được”

– Trong quá trình làm việc, bạn sẽ nhận được những than phiền, các xung đột. Hãy trung thực lắng nghe nó và cố gắng giải quyết nó, đời không giống như phim, không phải chỉ có một cách giải quyết duy nhất và cách giải quyết đó không phải lúc nào cũng khó khăn nhất và luôn có sai phạm.

 

IX. Viết blog:

– Những gì bạn biết cần được chia sẽ cho cộng đồng cho mọi người. Đó là điều nên làm. Dân Việt Nam lại ngược với người ta khi giấu tất cả những gì mình biết lại không lưu truyền. Đó là cái thói ích kỉ của những thằng Trung Quốc đã truyền qua đây. Trung Quốc luôn có những thứ bí truyền, gia truyền chỉ truyền trong những người trong một tập hợp nhỏ. Lỡ xảy ra chuyện gì thì coi như xong, bí truyền thành thất truyền luôn. Trong khi phương Tây thì ngược lại, họ chia sẽ mọi thứ nhưng có những chia sẽ là chia sẽ tính tiền. Bạn muốn sử dụng, vậy thì chi tiền ra đây, điều đó lam họ giàu.

– Viết những điều bạn biết chỉ làm hiểu biết của bạn thêm vững chắc, và được sự đóng góp của cộng đồng vào những gì mà bạn biết thôi. Bạn sẽ chẳng có thiệt hại nào đâu.

 

X. Cân nhắc về sự cộng tác:

– Mỗi dự án lớn đều đòi hỏi rất nhiều kỹ năng như web, minh họa, coding, flash, branding, planning, … Sụ tham lam sẽ giết chết chính bạn khi kéo dài dự án hoặc cho ra một dự án với chất lượng không cao. Bạn cần những người giỏi nhất (Con người).

– Một danh sách những người cộng tác có tiếng tăm chỉ khiến bạn được “cộng điểm” trong mắt khách hàng.

– Đừng vì những lợi ích nhỏ mà bỏ qua những dự án lớn và như đã nói ban đầu, hãy chọn cho mình một lãnh vực trước, nó sẽ giúp bạn nhiều hơn so với bao hàm tất cả.

 

XI. Làm việc với những người khó tính nhất:

– Khách hàng luôn là những người khó tính hơn hẳn những gì bạn nghĩ. Nếu khách hàng không hề phàn nàn hay có ý kiến gì về công việc, họ đang mất hứng thú và chú ý đến công việc của bạn. Hãy lấy lại sự chú ý của họ, nếu không bạn sẽ không có lần sau hay chính xác hơn bạn sẽ không bán được thêm bất cứ thứ gì cho họ nữa.

– Khách hàng phàn nàn nhiều, chứng tỏ họ đang chú ý và đang muốn sử dụng phần mềm của bạn. Hãy làm cho họ hài lòng, họ sẽ tiếp tục sử dụng phần mềm của chính bạn và giới thiệu nó cho những người khác. Đừng sợ hãi khi có những phàn nàn từ những khách hàng đang sử dụng, họ đang muốn thứ họ sử dụng hoàn chỉnh hơn vì họ đang muốn tiếp tục sử dụng nó.

 

XII. Thế bạn còn chờ gì nữa?

– Đây là lúc để bắt tay vào làm việc rồi. Bạn còn chần chờ gì nữa. Với những lý do như “tôi chưa có đủ tiền”, “tôi chưa có kinh nghiệm”, … Đó hoàn toàn là những lời biện hộ vô lý nhất mà bạn đang cố để ngăn cản chính mình. Bạn là một lập trình viên, một nhà thiết kế, bạn không cần nhiều tiền để bắt đầu. Hãy làm từ những cái nhỏ trước, những gì mà bạn đã có đầy đủ công cụ để làm, không thì “hãy lên kế hoạch đi” và tìm kiếm những gì cần thiết đê giúp bạn phát triển. Kinh nghiệm là thứ bạn sẽ đạt được sau khi làm việc chứ không phải trước khi làm việc, đừng cố gắng có kinh nghiệm trước khi làm việc, đó chỉ là lý thuyết.

– Một ghi chú quan trọng cho bạn, đừng có cố tạo ra một thứ gì chưa từng có trên thế giới. Ngay cả Facebook, Google trong thời điểm nó ra đời, nó cũng không phải là duy nhất, nó chỉ làm tốt công việc của nó và trở nên lớn mạnh thôi. Nhất là khi bạn không có kinh nghiệm thì đừng bao giờ cố gắng làm chuyện đó. Nếu bạn thấy, bạn làm được, bạn là siêu nhân thì bạn đã có thành công nào đó rồi, khỏi cần phải đọc thứ này. Nhưng nói thật, những người như vậy thường chỉ là những thằng ngu thật sự chỉ biết nói mà thôi.

* Lưu ý: Đây là phần chuẩn bị tư tưởng không phải là phần bắt đầu lập trình. Đây mới là phần bắt đầu lập trình:

https://huygamer.wordpress.com/2012/10/29/khoi-dau-lap-trinh-iphone/

Tuy nhiên, các bạn nên hiểu rằng lập trình IOS cũng không phải là công cụ thần kì để các bạn có thể học trong 1 tháng mà kiếm triệu đô. Nó là một quá trình lâu dài mà các sinh viên mới bắt đầu thường chỉ trong vòng 3 tháng là bỏ cuộc (đuối sức vì Hackintos hay vì một mình ôm quá nhiều công việc, mất dần hứng thú, không có mục đích,…). Chính vì vậy mới có bài viết này. Đừng chỉ mới đọc xong mà đã nhận xét vớ vẫn. Hãy xem 3 tháng sau bạn có còn hứng thú với lập trình IOS không hãy nói.

Tagged: , , , , , , ,

8 thoughts on “Lập trình IOS: Những bước đi đầu tiên

  1. Viet Nguyen January 15, 2013 at 1:38 pm Reply

    bài viết vớ vẩn dài dằng dặc mà chẳng nói cho người mới biết thật sự cần gì.

  2. Đạt March 1, 2013 at 3:32 pm Reply

    Cám ơn bài viết của tác giả🙂

  3. trandinh0013 May 31, 2013 at 3:48 pm Reply

    Mình thích tư tưởng của bạn.🙂 cảm ơn vì đã chia sẻ

  4. huy June 25, 2013 at 2:02 pm Reply

    cảm ơn bạn đã viết bàu này.Rất cần những người như bạn.

  5. duy July 7, 2013 at 7:57 pm Reply

    bài viết rất hay, mình rất thích cách nói chuyện thẳng thắng của bạn, bài viết của bạn giúp mình hiểu rõ hơn những điều mình đang nghĩ trong đầu. Mình rất đam mê và ham học hỏi về lập trình, nhưng việc không có căn bản và mất phương hướng thế nào gọi là lập trình khiến cho mình ko dám nghĩ tới nó. Cảm ơn bạn về bài viết

  6. Jing Ngô'k July 8, 2014 at 4:34 pm Reply

    Cảm ơn bạn đã chia sẻ, bài viết rất là bổ ích, mình đang có ý định học lập trình IOS, bạn có thể làm 1 series các bài post lập trình IOS hoặc làm video hướng dẫn được ko bạn ????

  7. minhnqps02382 September 15, 2014 at 5:45 am Reply

    Bạn rất đúng, mình là người thích đi thử nghiệm và mình đã lầm khi cài đặt máy ảo Mac, mình đang học lập trình android mà lại thích nhảy qua IOS chỉ để thử sức với game bắt chữ. Mong các bạn khác đừng phạm sai lầm này vì mình tốn mất 1 tuần mà chẳng làm được cái gì.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: