Sailfish OS

Kiến trúc phần mềm

Sailfish OS và Sailfish software development kit (SDK) được dựa trên Linux kernel và Mer. Sailfish OS bao gồm một vỏ đồ họa đa tác vụ được gọi là "Lipstick" được xây dựng bởi Jolla trên giao thức máy chủ hiển thị Wayland. Jolla sử dụng trình điều khiển thiết bị đồ họa tự do nguồn mở nhưng thư viện Hybris cho phép sử dụng trình điều khiển độc quyền cho Android. Mục tiêu đã nêu của Jolla là cuối cùng để sailfish trở thành nguồn mở.
Sailfish OS có thể chạy các ứng dụng Android thông qua lớp tương thích độc quyền.

Các lớp thiết bị được nhắm mục tiêu

Sailfish thường được biết là nhắm vào các thiết bị di động, nhưng vì nó được thừa hưởng khoảng 80% mã MeeGo, nên sailfish có thể được sử dụng như một hệ điều hành Linux đa năng hoàn chỉnh trên các thiết bị từ thông tin giải trí phương tiện (IVI), điều hướng, TV thông minh, máy tính để bàn và máy tính xách tay, du thuyền, ô tô, thương mại điện tử, thiết bị gia dụng, thiết bị đo lường và điều khiển, thiết bị xây dựng thông minh, v.v. Xem các trường hợp sử dụng của MeeGo ban đầu để so sánh và phần Thiết bị cho các thiết bị chạy sailfish OS.

Sailfish OS SDK

The Sailfish OS SDK đã được công bố tại hội nghị Slush Helsinki năm 2012 và bản alpha được xuất bản vào tháng 2 năm 2013. SDK, hướng dẫn cài đặt và mã hóa có sẵn để tải xuống miễn phí từ trang web của sailfish OS mặc dù giấy phép tổng thể không phải là nguồn mở.
Sailfish SDK dùng Qt với VirtualBox cho phát triển, biên dịch và giả lập, Kỹ thuật này cho phép biên dịch trên Sailfish OS và kiểm tra toàn bộ phần mềm đã phát triển trong máy ảo, emulating - không phải simulating – toàn bộ Sailfish OS. Điều này cũng tách biệt các hoạt động phát triển và tác dụng phụ với mọi thứ khác chạy trên máy chủ, khiến nó không bị xáo trộn phát triển và thử nghiệm. Theo Jolla, phát triển với sailfish SDK là phát triển trên chính  Sailfish OS; không có sự khác biệt giữa sự xuất hiện và hành vi của phần mềm được phát triển trong SDK và trên một thiết bị chạy Sailfish OS.
Tính khả dụng của mã nguồn cho SDK cho phép định hình và xây dựng lại các nhu cầu cụ thể của công ty hoặc nhà phát triển, tạo ra một môi trường cụ thể theo ngữ cảnh được đặt một lần và không cần chuẩn bị khi thiết bị được khởi động. SDK chạy trên các hệ điều hành Android, các phiên bản Linux 32 và 64 bit, các phiên bản OS X 64bits, và Microsoft Windows. Nó có thể được sử dụng để biên dịch phần mềm cho các thiết bị hệ điều hành sailfish từ các nguồn Linux. Chế độ console/terminal của nó tuân theo một tiêu chuẩn thường được sử dụng. Các nhị phân hoặc thư viện tương thích cũng có thể được sử dụng.

Giao diện lập trình ứng dụng

Sailfish OS sử dụng API Qt nguồn mở (Qt 5, QtQuick 2 etc.) và sailfish Silica nguồn đóng cho UI. API Linux tiêu chuẩn được cung cấp bởi Mer Core.
Sailfish, Ubuntu và Plasma Active đã hợp tác để chia sẻ các API phổ biến. Khi thành công, điều này sẽ làm cho các nền tảng tương thích ở cấp độ API.

Các ngôn ngữ được hỗ trợ UI

Chính thức Jolla tuyên bố hỗ trợ 14 ngôn ngữ sau cho giao diện người dùng:
Đan mạch, Tiếng Đức, Tiếng Anh(UK), Tây Ban Nha, Pháp, Ý, Na Uy, Ba Lan, Bồ Đào Nha, Phần Lan, Thụy Điển, Nga, Trung Quốc (Đại lục) và Trung Quốc (Hồng Kông). Đối với mỗi ngôn ngữ Sailfish có một bàn phím chuyên dụng. Có một vài ngôn ngữ được hỗ trợ không chính thức bởi các dịch giả tự do trong cộng đồng không thuộc quyền kiểm soát của Jolla, do đó tổng cộng hơn 20 ngôn ngữ được hỗ trợ. Các ngôn ngữ bổ sung có thể được cài đặt bởi người dùng có kỹ năng do kiến trúc Linux.

Sử dụng phần mềm Android chạy trên Sailfish OS

Ngoài các ứng dụng gốc của nó, Sailfish có thể chạy hầu hết các ứng dụng Android bằng cách cài đặt chúng từ cửa hàng ứng dụng hoặc trực tiếp thông qua file APK. Các vấn đề có thể phát sinh, nếu các ứng dụng này được xây dựng mà không tuân theo các tiêu chuẩn của Android về các điều khiển, có thể không hiển thị chính xác và do đó trở nên không sử dụng được. Alien Dalvik tích hợp đóng vai trò của lớp tương thích Android. Nó không mô phỏng, mà thay vào đó thực hiện API hệ điều hành Android; một cách tiếp cận tương tự Wine. Do đó, phần mềm Android có thể thực hiện các lời gọi chức năng mà họ yêu cầu và chạy ở tốc độ gốc mà không bị chậm hiệu năng. Tính năng đa nhiệm của sailfish luôn được kích hoạt bởi bản chất của Linux và điều này cho phép chạy đồng thời cả phần mềm Sailfish và Android, trong khi người dùng có thể chuyển đổi giữa chúng một cách nhanh chóng.

Ưu điểm của tiêu chuẩn Mer

Sailfish OS có thể được sử dụng trên mọi phần cứng có hỗ trợ Linux kernel và tương thích với phần mềm trung gian sử dụng Mer core. Những người đam mê cộng đồng đã port Sailfish OS sang một số thiết bị theo cách này. Thay vì chỉ định cho một nền tảng phần cứng tham chiếu cụ thể, việc triển khai VirtualBox với Sailfish OS SDK có sẵn để phát triển trên các hệ điều hành Linux, OS X và Windows. Việc triển khai máy ảo này chứa toàn bộ Sailfish OS được phân lập từ tài nguyên cục bộ và hệ điều hành cục bộ để cho phép đánh giá thuận tiện về hành vi và hiệu suất của phần mềm được mã hóa hoặc port trước khi triển khai trên thiết bị thực

Tình trạng phát triển hệ điều hành

Sailfish OS được thúc đẩy bởi Jolla và được hỗ trợ bởi Sailfish Alliance được thành lập vào năm 2011, một nhóm được thành lập để hợp nhất các nhà sản xuất OEM và ODM, nhà cung cấp chipset, nhà điều hành, nhà phát triển ứng dụng và nhà bán lẻ. Ngày 16 tháng 8 năm 2012, giao diện người dùng đã được thông báo là đã sẵn sàng để phát hành. Giám đốc điều hành của Jolla, Jussi Hurmola, đã tuyên bố trong một cuộc phỏng vấn của ZDNet, "... UI của chúng tôi đã sẵn sàng, chúng tôi chưa phát hành nó, chúng tôi sẽ lưu nó để ra mắt sản phẩm và nền tảng hiện đang hoạt động nên dự án trông khá đẹp".
Ngày hôm sau, Giám đốc điều hành của Jolla, Marc Dillon, nói trên trang mạng xã hội Twitter rằng công ty đã đạt được mục tiêu phát triển đầu tiên. Sailfish đã được nhóm Jolla ra mắt, bao gồm cả một luồng internet trên toàn thế giới, như là một bản demo của hệ điều hành, và UI và SDK trong sự kiện Slush ở Helsinki, Phần Lan, Ngày 21 tháng 11 năm 2012. Giai đoạn alpha của SDK Sailfish OS xuất bản cuối tháng 2 năm 2013 và được cung cấp để tải về miễn phí.
Ngày 16 tháng 9 năm 2013, Jolla tuyên bố rằnghệHđiều hành của họ đã có thể tương thích với các ứng dụng và phần cứng của Android. Điện thoại đầu tiên sử dụng nó đã được ra mắt vào ngày 27 tháng 11 năm 2013 tại một pop-up tại cửa hàng DNA Kauppa tại Helsinki. 450 điện thoại đầu tiên đã được bán tại sự kiện này, trong khi phần còn lại của các thiết bị được đặt trước được xuất xưởng ngay sau đó.
Tháng 9 năm 2015, phiên bản 1.1.9.28 "Eineheminlampi" đã được phát hành, bổ sung các yếu tố chính của giao diện người dùng Sailfish OS 2.0 được tân trang lại.
Sailfish 2.0 đã được ra mắt cùng với Jolla Tablet và các thiết bị hiện có, cả điện thoại thông minh và máy tính bảng, từ các kênh phân phối chính thức của Jolla đều được hỗ trợ nâng cấp lên Sailfish 2.0 và theo các bản cập nhật.
Vào tháng 5 năm 2016, Jolla đã công bố Sailfish Community Device Program, hỗ trợ các nhà phát triển và thành viên của cộng đồng Sailfish OS

Hợp tác và phát triển

Nhân viên của Jolla đã gặp gỡ các thành viên của cộng đồng công nghệ Nga để đột phá phần mềm mới và quảng bá Sailfish OS, như một phần của chiến lược BRICS của Jolla. Kết quả của những nỗ lực đó, vào ngày 18 tháng 5 năm 2015, Bộ trưởng truyền thông Nga Nikolai Nikiforov đã công bố kế hoạch thay thế các nền tảng Android của iOS của Apple và Android của Google bằng phần mềm mới dựa trên Sailfish. Ông dự định sẽ đáp ứng 50% nhu cầu của Nga trong lĩnh vực này trong mười năm tới, so với 95% hiện được bao phủ bởi công nghệ phương Tây Phiên bản tiếng Nga hiện đang được phát triển với thương hiệu Aurora OS. Công ty công nghệ đa quốc gia Trung Quốc Huawei có thể bắt đầu sử dụng Aurora OS để thay thế Android

Sailfish Alliance

Sailfish Alliance là một liên minh mở được thành lập vào năm 2011 bởi công ty Jolla để hỗ trợ hệ sinh thái MeeGo với các sản phẩm, dịch vụ và cơ hội kinh doanh mới xung quanh hoặc sử dụng Sailfish OS, hệ điều hành Linux kết hợp mer với các thành phần độc quyền từ Jolla và các bên khác, cho các mục đích khác nhau và thiêt bị di động. Và để tiếp tục phát triển hệ sinh thái Linux MeeGo, mà SailfishOS là một phần.
Liên minh này được coi là đối thủ cạnh tranh với các nhóm khác như Open Handset Alliance của Android.
Năm 2011, một số nhóm MeeGo làm việc tại Nokia đã rời đi,và được Nokia tài trợ mặc dù chương trình "Bridge" của họ để tài trợ cho các dự án spin-out của các nhân viên cũ. Sailfish Alliance đã tìm cách hợp tác giữa các nhà phát triển phần mềm Phần Lan và các nhà sản xuất điện thoại ở nước ngoài, một số trong đó là ở Trung Quốc. Các phương tiện truyền thông báo cáo rằng một số nhà sản xuất ở Trung Quốc và Ấn Độ muốn có một sự thay thế cho Android].
Liên minh nhằm mục đích "hợp nhất các nhà sản xuất OEM và ODM, nhà cung cấp chipset, nhà điều hành, nhà phát triển ứng dụng và nhà bán lẻ."