NO IMAGE

    我的第二本書《Qt Quick 核心程式設計》上市了,各個網站的預售連結已經上線:

淘寶驚喜價

china-pub

京東

亞馬遜

    本書的前言:

    今年(2014年)4月份,我開始寫作《Qt on Android核心程式設計》,該書主要講述Qt on Android的核心技術,比如訊號與槽、元物件系統、Qt與Android的銜接、Android相關的開發主題等,對於介面開發,還是基於Qt傳統的Widgets。

    在寫作的過程中,不斷有技術同仁向我諮詢Qt Quick的問題,有諸如物件如何宣告、怎樣定義函式等入門級的問題,也有QML與C 如何互動、如何定製ListView等進階問題……於是我想,為什麼大家關注Qt Quick與QML?結論很簡單,正如Qt Quick的名字一樣,用它來開發介面,真是飛一般的感覺;更讓人快感迭起的是,Qt Quick裡的絕大多數介面元素,都可以定製,都是任人裝扮的小姑娘,甚至還可以從頭開始快速構建專屬於你的介面元件;還有頂頂重要的是,QML與Qt C 的完美結合為開發者帶來了無與倫比的靈活性。

    但是限於篇幅,這些精彩不能夠在《Qt on Android核心程式設計》一書中介紹。於是我決定另寫一本專門講述Qt Quick的書籍,而且定位在入門層面,因為我本人也才入門而已。

    Qt 5之後,Qt Quick與Qt Widgets並駕齊驅,成為Qt介面技術的雙飛翼。而介紹Qt Quick本身的技術資料、書籍卻少之又少。搜遍網際網路,也很難找到系統介紹Qt Quick的文章,多數是開發者使用某個主題後的片段記錄與日誌。即使這些寶貴的經驗片段,也因為Qt Quick版本的問題而不一定能夠正常使用。更可惜的是,Qt Quick適用於Android等移動平臺,而這方面的資料和實踐,卻更加芳蹤難覓。所有這一切,既給我的學習增加了困難,也堅定了我寫一本Qt Quick入門書籍的決心。

    做出這個決定的過程也頗為艱難,因為寫作《Qt on Android核心程式設計》給我和家人的生活帶來了非常大的影響。獨自完成一本書是一項非常浩大的工程,工作量不說,所花心思是極多極難量化的:你會擔心選取的主題、角度是否合適,你提供的示例不僅要在語法和執行層面上正確,還要思量它是否能恰到好處地演示你講解的主題……而在你念茲在茲、廢寢忘食、心無旁騖、形容枯槁地琢磨著寫作時,你也忽略掉了身邊的老婆、孩子、親友,你整天都在飄啊,挺奇怪的感覺,幹什麼事兒都是人在心不在,這樣的你,對身邊親友的影響可想而知。我剛剛從這種狀態中出來,還未及好好地放鬆幾天,就又決定重開爐灶,鍛鑄新兵,對於我的老婆、孩子,都是很難啟口之事。可是我又擔心一旦放下當前火熱的念頭,哪天想重新來過時,卻激情不再冷灰難燃。於是我偷偷地開始了這項工作,直到進行了將近一半時,才告訴老婆,相信她能理解,而她也確實理解並支援我,她是我最該感謝的人。

    寫作本書的過程,也是我學習的過程,書中多數章節都來源於我在自學時記錄的筆記和完成的示例。對於我遇到的困惑,對於那些讓我輾轉反覆難以理解的主題,我特意將這個主題本身、它牽涉到的其他主題、它需要的基礎知識都一一記錄下來,能放在一起講解的儘量放在一起,需要獨立成章的,也費盡心思安排前後順序。可以說,這本書是我在Qt Quick這條路上練級打怪的備忘錄。

    每當完成一個章節、一個示例時,我都感到由衷的高興,可也感到莫名的失落:就快要結束了……當初《Qt on Android核心程式設計》完稿時,我就對這種愛女遠飛、空虛、落寞、失去憑藉與寄託的感覺很不適應。而現在我再次經歷著這一切,我其實希望這是一場沒有終點的旅行,但,它不是。

    我把這一切記錄在這裡,我想說,愛過,寫過,失落過,高興過,低徊過,迷惘過,不管怎樣,我從未對那些流過的汗水、付出的精力後悔過,如果還有機會,我還願意再這樣走上一遭。