Một số nhận xét về iPhone và MAC sau khi thử viết phần mềm

Lần đầu tiên tôi download và thử dùng bộ công cụ phát triển của Apple. Cũng thú vị, nhưng phát hiện ra rằng việc học thêm một ngôn ngữ, môi trường mới đối với người làm IT là điều thường xuyên, nhưng phải nói là chúng ta cũng quá lười! :smiley:

Nội dung bài này xin chia sẻ với mọi người về một chút nhận xét cá nhân của tôi khi viết thử phần mềm cho iPhone.

  • Cocoa là một ngôn ngữ lai, hướng đối tượng rất cao, cấu trúc và câu lệnh hơi lạ đối với các ngôn ngữ lập trình truyền thống.
  • Darwin nói chung được phát triển trên mã nguồn mở của Apple, có nhiều điểm mạnh, lợi thế này theo cá nhân tôi cho rằng không phải do chính kiến trúc của hệ điều hành (về phần này Apple thua xa MS, thậm chí có thể nói không thể so sánh được), nhưng phần lớn là do chính ngôn ngữ hướng đối tượng mà Apple sử dụng.
  • Có một số nhận xét trước đây về MAC nói chung: an toàn, ổn định… tôi cho rằng không đúng. Sau khi thử một vài thứ… thì thấy rằng MAC nói chung rất dễ nhiễm virus, nguy hiểm hơn Windows rất nhiều!
  • Cấu hình của một chiếc máy tính chạy MAC nếu so với Windows thì thực sự khó tưởng tượng. Đơn cử một chiếc PC của tôi đang dùng, cấu hình không cao nhưng có thể chạy Windows và làm việc hết sức nhanh. Trong khi đó, cài MAC thì chạy rất chậm. Có lẽ các bạn cũng có thể so sánh cấu hình của 1 chiếc MAC PRO và 1 chiếc IBM T61 thì rõ về sức mạnh và chi phí.

Đó chỉ là một số nghịch lý chung, riêng với iPhone lại khác. Cái khác ở đây không phải là các nội dung đã nêu ở trên. Mà là chính bản thân iPhone. Cấu hình của 1 chiếc iPhone nếu so sánh với các dòng được gọi là SMARTPHONE khác thì đến thời điểm này iPhone vẫn là vô địch về cấu hình và sức mạnh. Chiến thuật của Apple quả là tuyệt vời khi giới thiệu một chiếc SMARTPHONE có cấu hình giữ vị trí độc tôn trong vòng 1-2 năm. Mà đặc biệt hơn nữa là giá cả cho một nhà vô địch lại rất là hợp lý! Tuy nó có hệ điều hành chưa hoàn chỉnh, nhưng có thể nâng cấp qua các phiên bản cập nhật tiếp theo và liên tục. Đặc biệt hơn nữa, tuy hệ điều hành còn chưa hoàn thiện, nhưng lại đánh đúng và đánh trúng vào những điểm yếu nhất hiện nay của các dòng SMARTPHONE khác… nói ra thì còn nhiều lắm, để các bạn tự nghĩ thêm!

Tuy nhiên, việc phát triển phần mềm cho iPhone thì phải nói rằng “CHUỐI”. Mặc dù hãng cũng phát hành SDK, tuy nhiên đến thời điểm này chưa có nhiều phần mềm lắm dành cho iPhone. Môi trường lập trình không thân thiện, học ngôn ngữ mới, tìm hiểu kiến trúc mới… là các thách thức đối với các lập trình viên độc lập hiện nay. Vì vậy, trong tương lai phần mềm của iPhone sẽ vẫn còn nhiều hạn chế, chỉ mới có thể các hãng lớn mới đủ sức phát triển các phần mềm có giá trị. Trong khi đó với Microsoft và Symbian thì ngược lại!

Cá nhân tôi cũng thử download tất cả các thứ… để cài đặt và làm việc thử. Tôi e rằng với các bạn đang học lập trình hiện nay thì con số phần mềm viết cho iPhone sẽ cực kỳ hiếm và khó tìm.

Một điều hơi lạ nữa, đó là: các hãng nước ngoài hầu như chỉ có đại diện tại Việt Nam, còn HQ khu vực thường đặt tại Singapore. Apple thì ngược lại, nếu không nhầm thì trung tâm nghiên cứu và phát triển của khu vực đặt tại HCMC, Vietnam. Tuy nhiên, không có bất cứ một thông tin nào khác…

Một vài thông tin chia sẻ! :slight_smile:

…Nhầm rồi. Đặt ở Singapore.

Một vài điểm thú vị ở bài review của bác.

Bổ sung:

  • Cocoa không phải là ngôn ngữ, nó là framework dành cho việc phát triển các ứng dụng native trên nền OS X (các bác lưu ý trên OS X có rất nhiều dạng ứng dụng được phát triển từ nền khác nhau: Java, Carbon, ứng dụng của OS 9 chạy giả lập, ứng dụng phát triển trên nền X Windows, ứng dụng phát triển nhờ WTK)
  • Ngôn ngữ mà bác dùng để code như mô tả ở trên theo em đoán chắc là Objective C.
  • Về nhận xét của bác về cấu trúc hệ điều hành với so sánh máy tính thì em không dám bàn, chỉ biết ngồi nghe…

hi anh Quỳnh,

Có lẽ phải đến 2-3 năm nay rồi chưa ghé lại vào đây. Hôm nay lang thang google tình cờ đọc được bài này của anh.

“về phần này Apple thua xa MS, thậm chí có thể nói không thể so sánh được” Ý anh ở đây là kiến trúc OS của Apple thua MS? Nếu đúng thế thì anh có thể cho em 1 vài ví dụ chi tiết hơn?

Anh có thể đưa ra 1 vài dẫn chứng cho điều này?

Cái tính dễ nhiễm virus thì cũng chưa biết được, có thể do người dùng cá nhân Linux còn ít nên những h a c k e r s chưa đưa ra nhiều các sản phẩm virrus cho thị trường này. Tuy nhiên 1 điều mà em thấy là rõ ràng Linux mang tính bảo mật cao hơn windows, ví dụ như 1 số ứng dụng chạy can thiệp đến các file hệ thống thì cần quyền cao hơn mới thực thi được chứ ko phải như windows, rất dễ can thiệp vào hệ thống. Nhìn chung, hệ thống phân quyền của Linux rõ ràng hơn Windows.
Còn về tính ổn định thì: Em chạy Linux 1-2 năm vẫn ngon, còn chạy Windows vài tháng, update 1-2 lần là muốn cài lại máy rồi :slight_smile:

Đúng là MAC khá đắt đỏ. Nhưng tại sao thị trường PC ko đưa ra lựa chọn cho người dùng? hay là ko thể làm được như thế? vd như anh là 1 người giàu có, do nhu cầu làm việc, anh cũng cần có 1 máy PC với cấu hình cao chứ :slight_smile:

(P/S: bộ gõ tiếng Việt cho forrum hoạt động hơi chậm, gõ 1 lúc dấu mới hiện lên, hơi ức chế :slight_smile: )

Hơ, hình như em gõ nhầm GTK → WTK mất rồi, login mà không sửa bài được, đành post bài này tạm, anh em thông cảm.

:slight_smile: Cảm ơn bạn abcslayer đã comment lại về cocoa. Đọc sách về cocoa và sau đó đọc sách về objective-c, thấy gần nhưng hai cái này là 1. Dễ gây nhầm lẫn quá! Dù sao cũng sai cơ bản về cocoa, vì đã đánh đồng nó với ngôn ngữ!

@DellAximX5: hẹn sau triển lãm nhé! Mấy hôm nay hơi bận để chuẩn bị mấy thứ…

Có một số nhận xét trước đây về MAC nói chung: an toàn, ổn định… tôi cho rằng không đúng. Sau khi thử một vài thứ… thì thấy rằng MAC nói chung rất dễ nhiễm virus, nguy hiểm hơn Windows rất nhiều!
Tôi không cho rằng Mac nguy hiểm hơn Windows. Thực tế cũng rất khó kiểm chứng. Nhưng từ khi tiếp xúc với Mac, cũng giống như bác, ấn tượng của nó đã giảm đi rất nhiều. Nhìn từ góc độ một developer, MacOS thực sự là rất chuối, cực chuối. Không như vẻ hào nhoáng bên ngoài của nó, chỉ cần là dân trong nghề nhìn vào cái API của MacOS thì có thể tự nói với mình, “Microsoft có những Architecture thực sự tài năng.” Bản thân tôi thì mới tèm nhèm Cocoa để thử trên iPhone còn trước giờ vẫn chiến Carbon, toàn viết bằng C.

Còn về tính ổn định thì: Em chạy Linux 1-2 năm vẫn ngon, còn chạy Windows vài tháng, update 1-2 lần là muốn cài lại máy rồi
Máy Windows của tôi chuyên dùng để viết chương trình, chạy hơn một năm rồi chẳng có vấn đề gì, tốc độ vẫn y như lúc vừa setup. Còn Linux ngoài việc code, compile, test ra chẳng biết để làm gì nên Maridva 2006 chạy 2 năm rồi vẫn còn như gái mới về nhà chồng, he he. Nói chung là ổn định hay không là tùy người sử dụng.

Đúng là MAC khá đắt đỏ. Nhưng tại sao thị trường PC ko đưa ra lựa chọn cho người dùng? hay là ko thể làm được như thế? vd như anh là 1 người giàu có, do nhu cầu làm việc, anh cũng cần có 1 máy PC với cấu hình cao chứ
PC đắt tiền vẫn có ấy chứ, quan trọng là người ta vẫn thích chi ít tiền. Còn Mac thì bạn không sự lựa chọn nào khác là phải chi nhiều tiền.

Hi, mình đang lang thang tìm hiểu mấy con pda thì thấy diễn đàn này, vào đọc chơi thì gặp mấy bài viết về Mac và iPhone mình muốn bổ xung một vài ý kiến từ phía cá nhân (nếu có gì sai xót mong anh em thông cảm ;:wink: )

Tuy mới tìm hiểu về hdh Mac này nhưng mình có vài cảm nhận rất khác đấy là một môi trường thông minh và thân thiện với đa phần người dùng, về design của Mac theo đánh giá của mình thì là đỉnh nhất trong các OS bây giờ, tuy nhiên cái giá của giao diện bắt mắt này là tốn tài nguyên (RAM, CPU…). Còn về kiến trúc OS thì ko thể nói cái nào hơn cái nào được vì mỗi OS có 1 kiến trúc riêng. Và Mac dễ nhiễm virus thì cũng còn tùy :smiley: vì Mac nếu đem ra so sánh với M$ thì ko thể phổ biến bằng và như vậy có nghĩa là ko có nhiều điều kiện hay mục đích cho giới hacker viếng thăm :slight_smile: về khoản này thì M$ hơn hẳn. Về độ ổn định thì M$ ko thể ổn định = *nix family được vì qua thử nghiệm rất nhiều hệ OS thì M$ tỏ ra đuối nhất về mọi mặt, như bảo mật và độ “trâu bò” của hệ thống, sức chịu đựng sau bao nhiêu lần “độ hàng” :)).

Về điểm này mình ko có ý kiến gì nhiều vì bản thân ko thích những con PDA ko có bàn phím thật và những chi tiết mang tính độc quyền của Apple (rất khó để dạy bảo “em nó” như độ phần mềm hay phần cứng). Nói chung là nghèo nàn về mặt resource.

Trên đây chỉ là một số ý kiến và nhận định riêng từ phía cá nhân muốn chia sẻ cùng ae IT. Chúc ae một buổi tối vui vẻ I-)

===== Once time you want anything can be your! =====

Mình chưa lập trình thử bao giờ trên Mac cả nhưng mình không nghĩ là nó quá khó khăn hay củ chuối đến thế, phải chăng cái mà mọi người thấy khó khăn giống như kiểu bắt con người bò bằng chân và tay hay bắt con mèo phải đi bằng hai chân? Có lẽ quen gì rồi thì sẽ làm thoải mái thôi. Về lập trình thì cùng dân trong nghề rồi ai chẳng biết, nguyên lý là như nhau hơn nhau ở cái đầu thôi, chẳng nên chê khi mới nhảy vào cái mới ngay như thế.

OS theo ý kiến mình thế này, bảo Windows nhanh hơn Mac là vô lý hay bảo Mac nhanh hơn Windows cũng là vô lý. Vì sao vô lý, vì ta chẳng có cái gì để dẫn chứng cái nhanh hơn đó cả. Dưới lớp vỏ mỗi hệ điều hành có hàng bao nhiêu service chạy ngầm và nổi, mỗi hệ điều hành có phương thức quản lý phân luồng phần cứng riêng. Nếu không nêu ra được điểm mạnh, điểm yếu có dẫn chứng đàng hoàng thì ai chấp nhận được. Các bác đã lập trình chắc đã học nguyên lý hệ điều hành, đã biết kernel nhưng liệu có biết nguyên lý hệ điều hành Mac không vậy? Còn cái nào nguy hiểm hơn cái nào thì lại càng không có cơ sở, cái mà bác huuquynh nói cả thế giới còn chưa ai dám khẳng định như đinh đóng cột vậy đâu.

@khaplienhoa: bác nói “Máy Windows của tôi chuyên dùng để viết chương trình, chạy hơn một năm rồi chẳng có vấn đề gì, tốc độ vẫn y như lúc vừa setup.” mà không nghĩ ngợi gì sao, cả thế giới và chính Microsoft đã từng thừa nhận rằng windows chạy một thời gian (khoảng 3, 4 tháng trở lên) là bắt đầu có hiện tượng máy chạy chậm đi. Đừng nói chuyện máy của bạn dùng để lập trình hay không, chuyện đó chẳng liên quan gì đến nhanh hay chậm đâu, cho dù chỉ dùng word suốt ngày thì cũng vậy thôi.

Tôi là người mới vào cũng xin mạn phép có vài lời.
Thứ nhất về nhận xét: “MAC chạy chậm hơn Windows”
Tôi khẳng định điều này là đúng. Bởi vì bản thân tôi là một kỹ thuật viên nên tôi có một may mắn là được tiếp xúc với nhiều hệ điều hành với những cấu trúc khác nhau. Trên cùng một ứng dụng và trên cùng một cấu trúc phần cứng Mac đã thể hiện rõ nhược điểm này, Việt Báo có đăng bài Bootcamp khiến Apple lộ bài tẩy http://vietbao.vn/Vi-tinh-Vien-thong/BootCamp-khien-Apple-lo-bai-tay/20562906/217/ đây là một dẫn chứng cụ thể mà người dùng có thể thấy được. Một điều đáng nói là Mac được phát triển từ Unix nên chậm hơn vì các ứng dụng đều nhờ nhân hệ thống xử lý dùm :smiley:
Thứ 2 về cách cấu hình cho Mac
Cấu hình cho Mac thực sự là một thách thức với một ktv vì: Rất ít bài hướng dẫn cho Mac nếu có đa phần là ngôn ngữ tiếng anh, Windows thì ngược lại. Nhưng đó không phải là một vấn đề có thể nói công bằng là chúng ta còn ít kinh nghiệm về hệ điều hành Mac mà thôi.
Thứ 3 về giá thành:
Có thể nói các nhà sản xuất thiết bị phần cứng đã dành ưu ái cho Windows nhiều hơn cho Mac, có lẽ vì Windows chiến thị phần hệ điều hành nhiều nhất trên thế giới. Có lẽ vì thế mà giá thiết bị dành cho Windows rẻ hơn. Nhưng nếu chúng ta thử so sánh vấn đề bản quyền của phần mềm coi nào? Cái nào lợi hơn ta :D. Khi lắp một máy Windows chúng ta phải mua bản quyền của hệ điều hành, bộ office,… Nhưng với Mac thì sao Mua máy tính chúng ta có đầy đủ :smiley:
Thứ 4 Về việc dễ nhiễm Virus:
Có thể nói Windows là một hệ thống yếu nhất hiện nay vì Windows là đối tượng chính của hacker :smiley: có lẽ vì sự bành trướng về thương hiệu của MS hay vì một lý do nào đó. Đối với Mac - một hệ điều hành được phát triển trên nền Unix thì chúng ta nên an tâm một điều là tất cả các yêu cầu xử lý của ứng dụng đều phải thông qua nhân hệ thống và hình như là hệ thống Unix ko cho mã ASM chạy trên nó :smiley: (Lưu ý: các virus hiện nay hầu hết là Worm - sâu chứ không đúng với tên thực tế là Virus)

Mình cũng mới làm quen với Cocoa và objective-c 1 thời gian ngắn. Mạo muội góp 1 số ý kiến mà mình đã trải qua:

  • Mình đồng ý với bạn meoxiem là “bảo Windows nhanh hơn Mac là vô lý hay bảo Mac nhanh hơn Windows cũng là vô lý”. Hiện giờ mình đang dùng bản 10.5.3 thấy rằng tốc độ không khác gì windows lúc trước cài trên máy. Tốc độ compile hay debug rất nhanh.
  • Mình ko có nhận xét về virus hay bất cứ cái gì tương tự trên MAC vì đây ko phải là cái mà mình quan tâm.
  • Iphone OS là hệ điều hành khá close. Mình cũng đã trải qua development trên Windows Mobile hay BlackBerry thì thấy Iphone khá giới hạn. Mình có thể nêu ra 1 số điểm như sau:
  • Không thể chạy đa tác vụ. 1 thời điểm chỉ có 1 chương trình chạy. Do vậy, khi đang chạy chương trình mà có cuộc gọi đến, chương trình của mình sẽ tự close.
  • Ứng dụng không thể chạy background được.
  • Không thể trực tiếp truy cập vào hệ thông file của Iphone đươc, phải thông qua 1 số controls cung cấp sẵn như ImagePicker,…
    Với mình thật là ác mộng vì chương trình của mình yêu cầu những yếu tố này. Tất nhiên là sẽ phải có những cách để xử lý nhưng không thể vẹn toàn hết được.
    Bỏ qua những yếu tố đấy thì mình thấy rất thích tạo GUI trên Iphone, các controls của SDK khá đẹp. Ứng dụng trên Iphone bóng bẩy hơn trên WM và BB.

Đây là 1 số nhận xét của mình, do cũng mới bắt đầu nên mong các bạn chỉ thêm.

Hiện tại bạn trungduc sử dụng bản 10.5.3 à, cho minh link down và hg dẫn cài đặt với, Thanks

Okie bạn ạ. Mình ở HN. Nếu bạn ở HN liên hệ mình sẽ copy cho.

Mình cài 10.5.2 trước rồi up lên 10.5.3
Trước đây mình cũng gặp rắc rối khi cài iPhone SDK do bắt buộc phải dùng từ 10.5.3 trở lên, mất 3 ngày hì hục mới cài được do ko tìm được bộ cài thích hợp.

Hy vọng sẽ được chia sẽ kinh nghiệm khi development trên Iphone, một lĩnh vực khá mới ở VN

Thân!

Bạn có thể gửi link, hay attach torent file không?
nick yahoo của mình là cntt1900

Bạn có thể nói cụ thể bản mà bạn cài là gì ko? (Kalyway, Leopard, …)
mình sẽ down vê cài thử.

Tiếc là mình ko ở HN…

Khi bạn add nick mình nhớ nói rõ nha vì nhiều người add 1 ngày lắm :smiley: