Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ec1b508

Browse filesBrowse files
authored
Update README.md
1 parent 3e46d5c commit ec1b508
Copy full SHA for ec1b508

File tree

1 file changed

+29
-41
lines changed
Filter options

1 file changed

+29
-41
lines changed

‎README.md

Copy file name to clipboardExpand all lines: README.md
+29-41Lines changed: 29 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -13,54 +13,46 @@
1313
<img src="https://img.shields.io/badge/made%20with-%3C3-red.svg">
1414
</p>
1515

16-
Use Vue.js to develop a cross-platform full stack application of [Objc china](https://objccn.io/)
17-
18-
16+
Use Vue.js to develop a cross-platform full stack application of [Objc china](https://objccn.io/).
17+
1918
- [x] ✅ Desktop applications, support Mac, Linux, Windows three platforms
2019
- [x] ✅ Web applications, support for desktop browsers and mobile browsers
2120
- [x] ✅ Mobile App, currently only supports the Cordova framework, support iOS、Android、Windows Phone、BlackBerry four platforms
2221
- [ ] ❌ Mobile phone native App, intended to use Weex framework, the same support for both iOS and Android platform
2322

24-
2523
<p align='center'>
2624
<img src='./image/Supported_Platforms_.png'>
2725
</p>
2826

2927
> Note: This project is purely just for fun, please support [喵神(@onevcat)](https://github.com/onevcat),support [Objc china](https://objccn.io/)
3028
31-
3229
> [中文介绍 chinese introduction](./README_CN.md)
3330
34-
# Preface
35-
36-
## 一. About me
37-
38-
I am a full-time iOS developer, non-front-end developer. Due to contact with Weex development, thereby came into contact with the Vue.js.
31+
## Preface
3932

33+
### 1. About me
4034

41-
## 二. Why write this project?
35+
I am a full-time iOS developer, non-front-end developer. Due to contact with Weex development, thereby came into contact with the `Vue.js`.
4236

37+
### 2. Why write this project?
4338

4439
1. At the beginning of this idea is from a netizen, he asked me in my blog, the Internet has not a better Weex demo? I said that [@EVAN YOU](http://evanyou.me/)’s Hacker News is the best. Later netizen say, the bloggers can write one? I did not answer at the time. In fact, this thing I have always remember in my heart.
4540

46-
2. May 19 this year, GitHub use Electron rewrite the macOS and Windows client, coupled with the recent year development of cross-platform getting hotter, for some companies, the Web and app should be needed, app Also need iOS and Android two platforms, and even those who have to develop Weixin mini programs, desktop applications(despite a few), but with the same can be developed with the Electron. I also initiation of the idea of ​​want to be eager.
41+
2. May 19 this year, GitHub use Electron rewrite the macOS and Windows client, coupled with the recent year development of cross-platform getting hotter, for some companies, the Web and app should be needed, app Also need iOS and Android two platforms, and even those who have to develop Weixin mini programs, desktop applications(despite a few), but with the same can be developed with the Electron. I also initiation of the idea of want to be eager.
4742

4843
3. As a result of the contact to the Vue.js, of course, do not want to stay in the primary, would like to advanced, [@EVAN YOU](http://evanyou.me/) especially given the recommendations, is more practice, more practice. In order to speed up the pace of progress, I own private to find the project for practicing.
4944

5045
4. As for why to choose Objc China, the reason is actually very simple, because I am an iOS developer. In iOS developers, Objc is basically well known (do not know?), [喵神(@onevcat)](https://github.com/onevcat) is basically well known, I personally worship [喵神(@onevcat)](https://github.com/onevcat), so I chose Objc China to write.
5146

5247
5. Because of love ... ...
5348

54-
55-
## 三. Why this development of cross-platform project without Weex?
56-
49+
### 3. Why this development of cross-platform project without Weex?
5750

5851
After I finished the project, found that Vue code directly converted to Weex project, can not be achieved, a lot of error. And not all of them can be repaired immediately. I believe that I use the wrong way, not Weex's problem. By the way, Weex has released a new version, and then there is time to put Weeks version of the open source again.
5952

6053
Well, into the topic, Let's introduce this project:
6154

62-
63-
# Technology stack & main framework
55+
## Technology stack & main framework
6456

6557
📦 All technology stack of Vue:vue2 + vuex + vue-router + webpack
6658
📌 ES6
@@ -73,15 +65,14 @@ Well, into the topic, Let's introduce this project:
7365
🔖 Form validation:vee-validate
7466
🏆 Cross-platform framework:Electron
7567

76-
# 🔨 How to build
68+
## 🔨 How to build
7769

7870
Due to Objc china website is directly response html data, so I want to simulate the network request to return data, should build a server, write API return data.
7971

8072
I use Express framework to build a server, set up in the 8081 port, and write routing, the request will go to 8080, open the server will automatically open the background.
8173

8274
My current development environment is node v6.11.0 ,npm v3.10.10,Vue.js v2.8.2.
8375

84-
8576
``` bash
8677

8778
# install dependencies 安装依赖
@@ -122,38 +113,39 @@ npm run build:app
122113

123114
```
124115

125-
126116
Here to talk about Cordova's packaging alone, it is slightly more than the desktop side of the special point.
127117

128-
First, make the src / main.js file on the three lines on the Coredova note open, Coredova library initialization needs to be included in the generation of Vue instance outside. After opening the comment, proceed to the next step.
118+
First, make the `src/main.js` file on the three lines on the Coredova note open, Coredova library initialization needs to be included in the generation of Vue instance outside. After opening the comment, proceed to the next step.
129119

130120
I put a Makefile in the project, you can do this according to this.
131121

132-
133122
1. First install the cordova command globally
123+
134124
> npm install -g cordova
135125
136126
2. And then enter the following command to generate the app project directory
127+
137128
> cordova create app com.vueobjccn vueobjccn
138129
139130
3. Into the app folder
131+
140132
> cd app
141133
142134
4. Add the corresponding platform
135+
143136
> cordova platform add ios
144137
> cordova platform add android
145138
146139
5. Run the project
140+
147141
> cordova run ios
148142
> cordova run android
149143
150-
151144
Cordova only generated a shell of the app, inside the specific content still read the webpage, in the corresponding application which has a www inside the folder, this folder is to load the page inside. JavaScript package will generate the www folder, just replace the content which inside the Cordova corresponding platform’s www folder.
152145

153146
Add a few words, app development to the present so mature era, if you develop a large app, with Cordova framework to do, do not use Objective-C or Swift to develop, do not do any optimization, the user experience is really not as good as the native fast. I have a special package to experience the Cordova app, did not do any optimization, packaged out on the experience, if it is critical of the user, on the current major app close to the perfect experience compared to really do not feel a little sense of satisfaction. If you really want to use front-end technology development app, to give 2 recommendations, if it is Cordova framework, we must try to optimize it, otherwise, the performance of app is not as good as the native performance. If you want to have a close to the native experience, then you can consider using React Native or Weex.
154147

155-
156-
# 🚀 Cross-platform development
148+
## 🚀 Cross-platform development
157149

158150
JavaScript cross-platform development packaged into desktop applications, mainly use the Electron framework. Here you need to install the devdependencies inside "electron", "electron-builder", "electron-packager" these three framework. Make sure the other path configuration in the webpack have configured completed.
159151

@@ -171,7 +163,6 @@ Next to show the performance of the cross-platform application on each platform:
171163

172164
First show the Web side:
173165

174-
175166
<p align='center'>
176167
<img src='./image/Screenshots/Web/Web 1.png'>
177168
</p>
@@ -197,28 +188,33 @@ And then show the effect in the mobile browser:
197188
Android platform
198189

199190
Nexus 5x Web
191+
200192
<p align='center'>
201193
<img src='./image/Screenshots/Web/Nexus 5x Web.png'>
202194
</p>
203195

204196
Nexus 6P Web
197+
205198
<p align='center'>
206199
<img src='./image/Screenshots/Web/Nexus 6P Web.png'>
207200
</p>
208201

209202
iOS platform
210203

211204
iPhone 5 Web
205+
212206
<p align='center'>
213207
<img src='./image/Screenshots/Web/iPhone 5 Web.png'>
214208
</p>
215209

216210
iPhone 7 Web
211+
217212
<p align='center'>
218213
<img src='./image/Screenshots/Web/iPhone 7 Web.png'>
219214
</p>
220215

221216
iPhone 7 Plus Web
217+
222218
<p align='center'>
223219
<img src='./image/Screenshots/Web/iPhone 7 Plus Web.png'>
224220
</p>
@@ -273,7 +269,7 @@ Finally look at Cordova's effect:
273269
<img src='./image/Screenshots/iPad/iPad 3.png'>
274270
</p>
275271

276-
# 🌈 Function display
272+
## 🌈 Function display
277273

278274
Build a Web page with Vue.js quickly.
279275

@@ -287,7 +283,6 @@ Vuex management status is very convenient. Login status saved in the state insid
287283
<img src='./image/Gifs/Web-login.gif'>
288284
</p>
289285

290-
291286
Once the user is not logged in, click on the purchase of e-books, to determine no user login will jump to the login page.
292287

293288
Another point is to say that because this is a SPA, so the routing inside are using Router-link to achieve, but did not use `<a>` tag jump, the effect is to jump and do not have to request data, jump quickly. This user experience is really cool.
@@ -306,7 +301,6 @@ When you are using the base option in HTML5 history mode, you don't need to incl
306301

307302
Log out of the page Similarly, once the user logs out, all show the user name will become a status to be logged in, the shopping cart on navigationBar also be disappeared. Manage status with Vuex, very Exciting.
308303

309-
310304
<p align='center'>
311305
<img src='./image/Gifs/Web-email.gif'>
312306
</p>
@@ -327,15 +321,12 @@ Then this is the iPhone's Safari performance, the speed is well.
327321

328322
In the cross-platform of these applications, the best experience, I think it is the application of Mac. Use satisfaction is very high.
329323

330-
331324
<p align='center'>
332325
<img src='./image/Gifs/Web-Mac.gif'>
333326
</p>
334327

335-
336328
Finally Cordova framework build the mobile phone app, experience is unsatisfactory, in short, not optimized Cordova, for picky me, I was not satisfied. See this showcase below:
337329

338-
339330
iPhone application
340331

341332
<p align='center'>
@@ -348,28 +339,25 @@ iPad application
348339
<img src='./image/Gifs/Web-iPad app.gif'>
349340
</p>
350341

351-
# 🤔 After the completion of the project, I Fall into meditation
352-
342+
## 🤔 After the completion of the project, I Fall into meditation
353343

354344
First Amway [element-ui](https://github.com/ElemeFE/element) this project, use it to build the project, really very fast, a app can be efficient development. the development of Vue.js students must have heard of this library. Saving a lot of time can put more energy on business development.
355345

356346
Everyone is saying that now is a large front-end era, mobile development and front-end integration is inevitable. But the development of the two platforms is still a lot of different, I experienced a front-end development and iOS development, thinking a lot, front-end and iOS are a lot of places to learn from each other, both have their own advantages and disadvantages. Then I intend to write a series of articles on these aspects. The engineering, component, routing, MVVM of front-end, respectively, and iOS where the advantages and disadvantages of each other, what can learn each other. (Feeling to dig a big pit)
357347

358-
359-
# 📜 Feature
348+
## 📜 Feature
360349

361350
If I have free time, I want to support Weex, take Vue.js into a complete Weex application, become native app, the performance will not be bad. So cross-platform development should be the whole platform.
362351

352+
## ❗️ Errata
363353

364-
# ❗️ Errata
365-
366-
If found in the project what is puzzled or found a bug, welcome to submit PR or issue, thank you very much🙏🙏🙏
354+
If found in the project what is puzzled or found a bug, welcome to submit PR or issue, thank you very much, 🙏🙏🙏
367355

368-
# ♥️ Thanks
356+
## ♥️ Thanks
369357

370358
If you like this project, welcome Star!
371359

372-
# 🌏 LICENSE
360+
## 🌏 LICENSE
373361

374362
![](https://www.gnu.org/graphics/gplv3-127x51.png)
375363

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.