嵌入式开发基础?
《嵌入式系统开发基础》主要内容包括:嵌入式系统基础知识、嵌入式交叉编译环境与嵌入式开发环境的搭建、基于linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。
《嵌入式系统开发基础》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作循序渐进地帮助读者完成各个章节内容的学习,引领初学者顺利进入嵌入式世界。
嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。
除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。
一般常用的系统有WinCE,ucos,vxworks,Linux,android等。
嵌入式开发是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等均是由嵌入式处理器控制的。
想学各个平台的gui编程,该从何入手?
如果从实用的角度来说,最好是选择一个跨平台的套件,而不要分别在各个平台上挑选一款不同的。这样做的好处是“一次编写,到处运行”,其中所节省的人力物力是不可估量的。另外,也可以保证各个平台上呈现出来的效果最大限度的统一(注意,并不是完全相同)。
在这里,Qt是一个不错的选择。目前,Qt已经进化到了Qt 5.10,并且将焦点聚集在 QML 开发上。这对程序员构建跨平台的 GUI 应用无疑是一大福音。
相比传统的 Qt Widgets 编程,QML 开发效果更高,自由度更大,也能够更加优美地实现界面与逻辑的分离。举个例子来说吧。以前我用 windows API 开发一款软件时,在绘制界面时常常会有很多限制。比如说,要想自己实现诸如 Office 2016 的扁平化菜单,那是非常困难的。它布局菜单的方式有点类似于选项卡,而选项页内又可容纳各种不同的组件,不像以前那种传统的弹出式菜单(联想一下 Word 2003)。
但是,后来我转用 Qt 开发以后,这个问题实现起来就容易多了。下图是我仿照Word 2016 界面写的一款记事本,窗口边缘的阴影和选项卡菜单都可以完美实现:
另外,要想添加点自己的特色也是很方便实现的,比如换肤:
几乎可以这么说,只要你想得到,Qt可以开发出任何样式的你想要的界面出来,并且可以很方便地实现各种特效。此外,如果想在其他平台运行,重新编译一次即可,也不需要更改什么。
从看书敲代码开始入手。GUI编程是一项很有意思的开发活动,你可以亲眼见证自己的代码由字母数字变为各种[_a***_]的神奇过程。每个平台都有自己的专属GUI开发语言及工具,下面就通过几本经典教材来介绍下几个平台该如何开发。
Windows.Windows下的GUI编程包括传统的Win32开发,以及现在流行的UWP程序开发。Windows下的GUI编程语言主要为C++以及C#(当然也有其他语言,这里主要介绍微软官方主推的两种)。这里推荐两本书—《MFC程序设计》和《Windows程序设计》。这两本书分别介绍了C++(MFC程序的编程语言)和C#(开发winform及UWP程序)的GUI编程。
Android.安卓下的GUI编程语言由java和Kotlin两种,目前仍以Java为主。这里介绍一本书《第一行Android》,这本书先介绍了JAVA的一些基本语法,安卓系统的一个基本框架。后面又系统讲解了安卓app开发的方方面面,从多媒体到网络通信,可以说是面面俱到,适合作为安卓开发的入门级教材。
IOS.IOS的开发语言有object-c和swift。由于苹果的软硬件都由自己把控开发,这两门语言作为苹果的官方编程语言,都能够最大限度的发挥苹果的系统和软件优势。下面介绍的这本《精通IOS开发》系统讲解了IOS编程。特别适合零基础的入门读者,每个章节都有大量的示例代码及注释,相信把这本书上的代码过一遍,会对IOS开发有一个全面的认识。
这里只是粗略的介绍了这三个平台GUI编程的一些入门级教材,欢迎大家关注太科罗技并积极参与留言讨论。
想转安卓前端开发,该怎么入行?
我觉得想在UI上下功夫可以在自定义组件和交互设计等方面入手。提高技术的话。自己可以去尝试实现各种界面效果。自定义组件首先要把android事件传递机制弄通,结合源码,这样一通会百通,各种***冲突的解决也能游刃有余。UI包括不光包括GUI(图形界面),交互也是很重要的。做产品的话就要去在交互下功夫。让用户用最少的步骤和最直观的交互去实现功能。当然布局什么的也是很重要的。细节决定成败。比如文字排版,界面的配色,字体大小对应数据展示的优先级。这是我自己的一些理解。大神轻喷、、、希望能帮到你
开发跨平台的桌面应用,用什么编程语言比较好?
这个看具体项目和个人而异,我这里介绍4种跨平台的语言(框架),分别是Qt(C++),j***a,NW.js和python,主要介绍如下:
1.Qt:应该大部分人都听过或者知道,这个一个基于C++的应用程序开发框架,本身自带了Qt Designer这个设计工具,可以直接拖拽控件,类似C#拖拽控件一样,很快就能布置好桌面程序界面,同时也支持部分嵌入式开发,是一个很不错的选择。一次编写,处处编译,目前支持各个主流系统(windows,linux,mac)和安卓android等,你要是熟悉C++编程,可以考虑一下:
2.j***a:这个就不多说了,大部分人都听说或接触过这门语言,j***a跨平台的基础就是基于虚拟机,在主流的操作系统上都可运行,目前也有对应的GUI开发包awt,swing等,也有相关拖拽控件的插件,像WindowBuilder等,开发起来界面也很快捷,如果熟悉这门语言,也是一个不错的选择:
3.NW.js:这个我前面已经介绍过了,一个基于web的创建本地应用程序的框架,你可以使用html5,css,j***ascript进行程序开发,然后使用这个工具打包成一个本地应用,像web浏览器一样运行你的应用,如果你对前端的知识比较熟悉的话,可以使用这个工具你的程序:
4.Python:这个不用多说,简单,跨平台,易学易用,对于没有编程基础的人来说,认真的学几天,也会掌握不少,目前,也有许多GUI开的包可供使用,像Tkinter,wxPython,PyQt等,使用起来都挺简单的,你要是对python熟悉,也有一定基础,很快也能开发出本地应用程序:
至此,4种跨平台的语言(框架)介绍完毕,至于你喜欢哪个,看具体项目和个人的熟练程度而定,希望以上分享的内容能对你有所帮助吧。