如今的前端(分享給團隊后端)

前端語言的歷史

以下為html,css,js的歷史簡略概要狱意。

HTML

為了使歐洲各國的核物理學家能通過計算機網(wǎng)絡(luò)及時溝通傳遞信息進行合作研究,Tim Berners-Lee博士開發(fā)出了第一臺web服務(wù)器和web客戶端盈厘,并命名為 WWW(World Wide web,萬維網(wǎng))
在發(fā)明萬維網(wǎng)的同時么鹤,他也創(chuàng)建了 HTML(Hyper Text Markup Language案狠,超文本標記語言),并推薦了將近20個用來編寫網(wǎng)頁的元素卷雕,就是我們現(xiàn)在說的標簽节猿。
W3C(World Wide web Consortinm,萬維網(wǎng)聯(lián)盟)成為了 HTML 后續(xù)標準的制定者漫雕。
W3C 希望 web 完全建立在 XML 規(guī)則上滨嘱,著手開發(fā) XHTML 2.0,這個版本與之前差別更加巨大浸间,導致與現(xiàn)有的網(wǎng)頁都不兼容太雨,甚至與以前版本的 HTML 也不兼容。

HTML5

一股反抗勢力在 W3C 組織內(nèi)壯大魁蒜,他們希望那些支持創(chuàng)建 web 應(yīng)用的特性能得到更多的關(guān)注囊扳,并以這個目標來擴展 HTML吩翻,2004年他們建立了自己的組織:WHATWG(web Hypertext Application Technology Working Group,web超文本應(yīng)用技術(shù)工作組)宪拥,這是官網(wǎng)* WHATWG 的大部分工作被分為:web Form 2.0web Apps 1.0仿野,都是基于 HTML 規(guī)范擴展的,這兩個規(guī)范被合并之后她君,簡單的稱為 HTML5 規(guī)范

CSS

CSS(Cascading Style Sheets脚作,層疊樣式表)的發(fā)展史比較簡單,這門語言的主要作用就是為文檔中的標簽添加大小缔刹、顏色球涛、定位等特性⌒8洌“層疊”的意思是可以多次寫一個標簽的樣式亿扁,但是以一定的規(guī)則順序來決定應(yīng)用哪一句樣式語言。

CSS3

CSS3是CSS(層疊樣式表)技術(shù)的升級版本鸟廓,于1999年開始制訂从祝,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型引谜、列表模塊牍陌、超鏈接方式、語言模塊员咽、背景和邊框毒涧、文字特效、多欄布局等模塊贝室。

JavaScript

JavaScript(簡稱“JS”) 是一種具有函數(shù)優(yōu)先的輕量級契讲,解釋型或即時編譯型的編程語言。雖然它是作為開發(fā)Web頁面的腳本語言而出名的滑频,但是它也被用到了很多非瀏覽器環(huán)境中捡偏,JavaScript 基于原型編程、多范式的動態(tài)腳本語言误趴,并且支持面向?qū)ο?/a>霹琼、命令式和聲明式(如函數(shù)式編程)風格。

ES6

JavaScript的標準是ECMAScript 凉当。截至 2012 年枣申,所有瀏覽器都完整的支持ECMAScript 5.1,舊版本的瀏覽器至少支持ECMAScript 3 標準看杭。2015年6月17日忠藤,ECMA國際組織發(fā)布了ECMAScript 的第六版,該版本正式名稱為 ECMAScript 2015楼雹,但通常被稱為ECMAScript 6 或者ES6模孩。

瀏覽器

早期網(wǎng)景和微軟的瀏覽器戰(zhàn)爭尖阔,以微軟用 windows 操作系統(tǒng)捆綁 IE 的形式取得勝利而告終。而兩家公司置 W3C 文檔標準于不顧榨咐,互相不兼容對方瀏覽器介却,造成了如今網(wǎng)頁開發(fā)需要處理棘手的兼容性問題,并讓 IE 遺臭萬年块茁,甚至現(xiàn)代瀏覽器也存在不同的差異性齿坷。

2008年 Google Chrome 谷歌瀏覽器的推出,第二次瀏覽器大戰(zhàn)開始数焊,緊接著網(wǎng)景的后代 Firefox 火狐瀏覽器推出永淌,IE 被圍殺,又加上高速增長的移動互聯(lián)網(wǎng)佩耳,IE 正在被徹底邊緣化遂蛀。

后端眼中的前端

每一個程序員應(yīng)該都聽說過程序員鄙視鏈,做c的看不起做c++的干厚,做c++看不起做java的李滴,做java看不起做.net的,這些所有都看不起搞前端的蛮瞄,可以說悬嗓,前端程序員應(yīng)該處于程序員鄙視鏈的底端。


image.png

前端在行業(yè)中裕坊,之所以被鄙視的原因,完全是因為燕酷,入門簡單籍凝,早期的前端俗稱美工、切圖仔苗缩,每天的工作就是切圖饵蒂、寫寫html、寫寫css酱讶,在java亦或者c語言開發(fā)者眼中退盯,就是渲染一下網(wǎng)頁,沒多大難度泻肯。
大部分后端還停留在jsp,php等前后端沒分離的思想渊迁,覺得前端只要改改樣式展示數(shù)據(jù),沒啥難度灶挟。隨口就來句:"這個你改下琉朽,很難嗎?" ??
就算是有過對前端了解的后端,也不會特別深入稚铣,只是知道不再是以前寫jquery的時代了箱叁,對于前端的全貌并不了解墅垮。

前端的今天

自從2009年node的出現(xiàn),前端的發(fā)展出現(xiàn)了爆炸式飛躍耕漱,進入了大前端時代算色。

前端工程化、自動化

隨著前端開發(fā)復(fù)雜度的日益增加螟够,各種優(yōu)秀的組件框架也遍地開花灾梦。同時,我們面臨業(yè)務(wù)規(guī)模的快速發(fā)展和工程師團隊的不斷擴張齐鲤。目前來說斥废,Web業(yè)務(wù)日益復(fù)雜化和多元化,現(xiàn)在隨便找個前端項目给郊,都已經(jīng)不是過去的拼個頁面+搞幾個jQuery插件就能完成的了牡肉。工程復(fù)雜了就會產(chǎn)生許多問題,我們希望能在日常開發(fā)中制訂一個規(guī)范化的前端工作流淆九,很好地規(guī)范統(tǒng)一項目的模塊化開發(fā)和前端資源统锤,讓代碼的維護和互相協(xié)作更加容易更加方便,令前端開發(fā)自動化成為一種習慣炭庙。

構(gòu)建前端項目的幾個階段

第一階段:庫/框架選型

基本上現(xiàn)在沒有人完全從0開始做網(wǎng)站饲窿,三大框架:React/Vue/Angular等框架橫空出世,解放了不少生產(chǎn)力焕蹄,合理的技術(shù)選型可以為項目節(jié)省許多工程量這點毋庸置疑逾雄。
除了主流框架,還有許多UI框架來提高開發(fā)效率腻脏,如:bootstrap鸦泳、antd、element UI永品,ionic等做鹰。


image.png
第二階段:構(gòu)建、管理工具

選型之后基本上就可以開始敲碼了鼎姐,不過光解決開發(fā)效率還不夠钾麸。復(fù)雜的項目往往需要有大量的項目包/庫的依賴、多人的協(xié)作炕桨,各類環(huán)境的調(diào)試饭尝。對代碼進行壓縮、校驗谋作、管理芋肠,之后再以頁面為單位進行簡單的資源合并(ps:以上排序不分排名先后)。
npm遵蚜、yarn對項目依賴進行管理帖池;
git對代碼進行版本控制奈惑;
gulp、grunt優(yōu)化項目構(gòu)建流睡汹。


image.png
第三階段:JS/CSS模塊化開發(fā)

分而治之是軟件工程中的重要思想肴甸,是復(fù)雜系統(tǒng)開發(fā)和維護的基石,這點放在前端開發(fā)中同樣適用囚巴。在解決了基本開發(fā)效率運行效率問題之后原在,前端團隊開始思考維護效率,模塊化是目前前端最流行的分治手段彤叉。
JS模塊化方案很多庶柿,AMD/CommonJS/UMD/ES6 Module等,對應(yīng)的框架和工具也一大堆秽浇,如:webpack浮庐、Parcel;
CSS模塊化開發(fā)基本都是在less柬焕、sass审残、stylus等預(yù)處理器的import/mixin特性支持下實現(xiàn)的。


image.png
第四階段:規(guī)范化

模塊化和組件化確定了開發(fā)模型斑举,而這些東西的實現(xiàn)就需要規(guī)范去落實搅轿。規(guī)范化其實是工程化中很重要的一個部分,項目初期規(guī)范制定的好壞會直接影響到后期的開發(fā)質(zhì)量:

目錄結(jié)構(gòu)的制定
編碼規(guī)范
前后端接口規(guī)范
前端輸入輸出數(shù)據(jù)文檔
文檔規(guī)范
組件管理
Git分支管理
Commit描述規(guī)范
定期CodeReview
視覺圖標規(guī)范


image.png
JavaScript 為什么需要 lint

JavaScript 本身設(shè)計上存在許多缺陷[3]富玷,代碼不嚴謹也可能就會觸發(fā)神奇的錯誤璧坟。例如 == 和 === 的混用,可能會產(chǎn)生類型不一致引起的 Bug赎懦,經(jīng)驗不足的開發(fā)者很難察覺出異常沸柔。
因此我們需要通過jsLint、esLint铲敛、tsLint等代碼規(guī)范。

前端還能做到什么

上面講述了前端開發(fā)需要構(gòu)建一個前端工程所需要的一些知識会钝,那么下面再來看下前端還能做些什么伐蒋。

服務(wù)端

上面提到有部分后端同學,覺得服務(wù)端業(yè)務(wù)邏輯是復(fù)雜的迁酸,所以比前端難先鱼。
但實際上我們有node,同樣可以作為服務(wù)端語言奸鬓。(當然沒有哪個好的說法焙畔,完全看業(yè)務(wù)場景進行最優(yōu)的選型)
常用的node框架有:express、koa
可能不少人對nodejs做服務(wù)端表示質(zhì)疑串远,這是知乎中阿里node大佬的一篇文章宏多,也許可以多少改變一下你們的看法儿惫。
https://www.zhihu.com/question/37379084

image.png

移動端開發(fā)

移動應(yīng)用開發(fā)的方式,目前主要有三種:

Native App: 本地應(yīng)用程序(原生App)
Web App:網(wǎng)頁應(yīng)用程序(移動web)
Hybrid App:混合應(yīng)用程序(混合App)


image.png

我們可以通過react native伸但、flutter等框架開發(fā)原生App肾请,而不是必須用Android/Swift。
可以通過h5直接實現(xiàn)web app
可以通過WeX5更胖、PhoneGap铛铁、Cordova等來實現(xiàn)hybrid App

微信小程序

我們可以用mpVue、Taro等框架來寫小程序却妨。

桌面應(yīng)用

桌面應(yīng)用的開發(fā)如今的前端也能占有一席


image.png

Electron 基于 Chromium 和 Node.js, 讓你可以使用 HTML, CSS 和 JavaScript 構(gòu)建應(yīng)用饵逐。
Electron 兼容 Mac、Windows 和 Linux彪标,可以構(gòu)建出三個平臺的應(yīng)用程序倍权。
ps:代表桌面應(yīng)用如vsCode,為微軟基于typescript和electron開發(fā)捐下。

TypeScript

TypeScript是一種由微軟開發(fā)的自由和開源的編程語言账锹。它是JavaScript的一個超集,而且本質(zhì)上向這個語言添加了可選的靜態(tài)類型和基于類的面向?qū)ο蟆?br> TypeScript的設(shè)計目的是解決JavaScript的“痛點”:弱類型和沒有命名空間坷襟,導致很難模塊化奸柬,不適合開發(fā)大型程序。另外它還提供了一些語法糖來幫助大家更方便地實踐面向?qū)ο蟮木幊獭?/p>

前端也能做AI
image.png

隨著AI技術(shù)的普及婴程,前端也能插上一腳廓奕。再TensorFlow、ConvNetJS幫助下創(chuàng)建機器學習模型档叔。

webVR/webGL

在線虛擬實現(xiàn)桌粉,前端依然有所表現(xiàn)。three.js衙四,aframe等眾多優(yōu)秀技術(shù)铃肯。
aframe事例:https://aframe.io/examples/showcase/sky/

游戲

在瀏覽器中,基于HTML5技術(shù)的游戲引擎传蹈,我們可以用JS寫出各種游戲押逼。
不知道各位有沒有發(fā)現(xiàn)chrome瀏覽器里自帶的恐龍快跑小游戲呢?
chrome://dino/仔細找找,有驚喜惦界。

image.png

動畫

隨著互聯(lián)網(wǎng)普及挑格,用戶對頁面的體驗要求提高,各類動態(tài)效果的實現(xiàn)沾歪。在瀏覽器中通過css3漂彤、js實現(xiàn)動畫也不是什么難事。不在是曾經(jīng)flash的時代了,比起flash的耗性能挫望,不安全立润,適配性問題,如今的前端完全可以更好地實現(xiàn)士骤。
貼一個css3動畫例子:https://www.html5tricks.com/demo/pure-css3-horse-run/index.html

前端還需要知道什么

除了上面敘述的技術(shù)知識范删,前端還需要知道哪些?

PWA

PWA(Progressive Web App)是一種理念,使用多種技術(shù)來增強web app的功能拷肌,可以讓網(wǎng)站的體驗變得更好到旦,能夠模擬一些原生功能,比如通知推送巨缘。在移動端利用標準化框架添忘,讓網(wǎng)頁應(yīng)用呈現(xiàn)和原生應(yīng)用相似的體驗。

PWA并不是單指某一項技術(shù)若锁,你更可以把它理解成是一種思想和概念搁骑,目的就是對標原生app,將Web網(wǎng)站通過一系列的Web技術(shù)去優(yōu)化它又固,提升其安全性仲器,性能,流暢性仰冠,用戶體驗等各方面指標乏冀,最后達到用戶就像在用app一樣的感覺。

PWA中包含的核心功能及特性如下:

Web App Manifest
Service Worker
Cache API 緩存
Push&Notification 推送與通知
Background Sync 后臺同步
響應(yīng)式設(shè)計

SEO

搜索引擎優(yōu)化洋只,又稱為SEO辆沦,即Search Engine Optimization,它是一種通過分析搜索引擎的排名規(guī)律识虚,了解各種搜索引擎怎樣進行搜索肢扯、怎樣抓取互聯(lián)網(wǎng)頁面、怎樣確定特定關(guān)鍵詞的搜索結(jié)果排名的技術(shù)担锤。搜索引擎采用易于被搜索引用的手段蔚晨,對網(wǎng)站進行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名肛循,吸引更多的用戶訪問網(wǎng)站蛛株,提高網(wǎng)站的訪問量,提高網(wǎng)站的銷售能力和宣傳能力育拨,從而提升網(wǎng)站的品牌效應(yīng)。

瀏覽器兼容性

雖然如今chrome瀏覽器已經(jīng)占據(jù)了霸主地位欢摄,但是我們?nèi)匀恍枰酪恍┢渌麨g覽器的兼容性問題熬丧,需要了解這些瀏覽器使用的內(nèi)核,了解我們的前端項目在不同瀏覽器中可能出現(xiàn)的不同效果和問題怀挠。(萬惡的IE)

網(wǎng)站安全

最典型的如XSS析蝴、CSRF攻擊等害捕。

XSS攻擊通常指的是通過利用網(wǎng)頁開發(fā)時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網(wǎng)頁闷畸,使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁程序尝盼。這些惡意網(wǎng)頁程序通常是JavaScript,但實際上也可以包括Java佑菩、 VBScript盾沫、ActiveX、 Flash 或者甚至是普通的HTML殿漠。攻擊成功后赴精,攻擊者可能得到包括但不限于更高的權(quán)限(如執(zhí)行一些操作)、私密網(wǎng)頁內(nèi)容绞幌、會話和cookie等各種內(nèi)容蕾哟。

設(shè)計工具

作為前端,我們需要實現(xiàn)達到預(yù)期的頁面效果莲蜘,要能夠使用 PhotoShop谭确,Sketch 或 Figma 等設(shè)計工具,精確還原設(shè)置稿票渠。

前端與后端

image.png
環(huán)境不同

前端:代碼主要在客戶端(pc逐哈、手機、pad)運行庄新。
后端的代碼主要在服務(wù)端(某臺機房服務(wù)器等)運行鞠眉。

思考的方向是與用戶交互不同

前端的首要目的是讓用戶覺得用起來更舒服,考慮界面布局择诈、交互效果械蹋、頁面加載速度等等,主要是偏向用戶看得見的部分羞芍,客戶端(pc哗戈、手機、pad)上瀏覽web荷科。

后端更多是考慮業(yè)務(wù)邏輯唯咬、數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計、服務(wù)器配置畏浆、負載均衡胆胰、數(shù)據(jù)的存儲、跨平臺API設(shè)計等等刻获,更多的是考慮用戶看不到的部分蜀涨,保證業(yè)務(wù)邏輯處理數(shù)據(jù)的嚴謹,保證數(shù)據(jù)吞吐的性能。


image.png
穩(wěn)定性不同

前端主要怕設(shè)計稿的頻繁變更厚柳,布局樣式氧枣、交互效果的需求變更;
后端主要怕業(yè)務(wù)邏輯變更别垮,或者當使用規(guī)模增大之后的穩(wěn)定性;

語言不同

前端:html便监、css、js
后端:java碳想、php烧董、C#、python...

追求

前端:前端工程師會把精力放在html5移袍,css3解藻,jquery,ES6 7葡盗,typescript螟左,bootstrap,angularjs觅够,reactjs胶背,vuejs,webpack喘先,less/sass钳吟,gulp,nodejs窘拯,模塊化红且,組件化,設(shè)計模式涤姊,瀏覽器兼容性暇番,性能優(yōu)化等等。
后端:對于以Java工程師為代表的后臺開發(fā)思喊,基本上大部分精力會放在諸如Java基礎(chǔ)壁酬,設(shè)計模式,Jvm原理恨课,spring+springmvc原理及源碼舆乔,linux,mysql事務(wù)隔離與鎖機制剂公,mongodb希俩,http/tcp,多線程纲辽,分布式架構(gòu)颜武,彈性計算架構(gòu)贫母,微服務(wù)架構(gòu),java性能優(yōu)化盒刚,以及相關(guān)的項目管理等等。

Javascript 和 JAVA

Java是一種真正地面向?qū)ο蟮恼Z言绿贞,即使是開發(fā)簡單的程序因块,也必須設(shè)計對象。
Javascript是一種腳本語言籍铁,它可以用來制作與網(wǎng)絡(luò)無關(guān)的涡上,實現(xiàn)與用戶交互的復(fù)雜軟件。它是一種基于對象(Object Based)和事件驅(qū)動(Event Driver)的編程語言拒名。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用吩愧。

強變量和弱變量

兩種語言所采用的變量是不一樣的。
Java采用強類型變量增显,即所有變量在編譯之前必須作聲明雁佳。

String y;
x=1234;
x=4321;

JavaScript中,采用弱類型同云,即變量在位用前不需作聲明糖权,而由解釋器在運行時檢查其數(shù)據(jù)類型.

let x=1234;
let y="4321";

typescript的出現(xiàn)使得可以對變量進行聲明,單本質(zhì)上還是弱類型語言:

let x:string = "1234";
let y:number = 1234;
class

java的class是類。
js里沒有類的概念,js的繼承是依靠原型鏈完成的炸站,js的class本質(zhì)上還是對象星澳。ES6提供了更接近傳統(tǒng)語言的寫法,引入了Class(類)這個概念旱易,作為對象的模板禁偎。通過class關(guān)鍵字,可以定義類阀坏∪缗基本上,ES6的class可以看作只是一個語法糖全释。
JS 中沒有內(nèi)部類装处,但 JS 可以在 function(方法)中定義類。

es6類的繼承:

class Father {
    constructor(){}
    money(){
        console.log("10000塊");
    }
}
// 子類Son使用 extends 繼承父類Father
class Son extends Father {}
var ss = new Father();
ss.money();
        // 10000塊
作用域

java的作用域后端同學肯定比我熟浸船,跳過妄迁。
JavaScript作用域es5及之前,只有全局變量和局部變量李命,以函數(shù)作為作用域登淘。
es6之后有了塊級作用域{}。

箭頭函數(shù) 與 lambda表達式

在JDK8和ES6的語言發(fā)展中封字,在Java的lambda表達式和JavaScript的箭頭函數(shù)這兩者有著千絲萬縷的聯(lián)系黔州;
箭頭函數(shù)(arrow function)耍鬓,就是C#中的lambda表達式,據(jù)說Java8也把它加入了流妻。但不管怎樣牲蜀,JS正在從其它語言吸納優(yōu)秀的特性(比如yield, class, 默認參數(shù)等等),且不論這些特性好壞绅这,這件事本身就是極好的涣达。
只是Java用->箭頭,C#用的箭頭與JS一樣:=>证薇,這個箭頭叫“l(fā)ambda運算符”度苔,行話讀作”goes to”

JAVA lambda表達式簡化過程
image.png

JavaScript 箭頭函數(shù) :

const fun = function(x, y) {
    return (x + y);
}

const fun = (x, y) => x + y;

——————————————
分享結(jié)束

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市浑度,隨后出現(xiàn)的幾起案子寇窑,更是在濱河造成了極大的恐慌,老刑警劉巖箩张,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甩骏,死亡現(xiàn)場離奇詭異,居然都是意外死亡伏钠,警方通過查閱死者的電腦和手機横漏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熟掂,“玉大人缎浇,你說我怎么就攤上這事「岸牵” “怎么了素跺?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長誉券。 經(jīng)常有香客問我指厌,道長,這世上最難降的妖魔是什么踊跟? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任踩验,我火速辦了婚禮,結(jié)果婚禮上商玫,老公的妹妹穿的比我還像新娘捏浊。我一直安慰自己神妹,他們只是感情好酵使,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布钳垮。 她就那樣靜靜地躺著,像睡著了一般炬藤。 火紅的嫁衣襯著肌膚如雪御铃。 梳的紋絲不亂的頭發(fā)上碴里,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音上真,去河邊找鬼咬腋。 笑死,一個胖子當著我的面吹牛睡互,可吹牛的內(nèi)容都是我干的帝火。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼湃缎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蠢壹?” 一聲冷哼從身側(cè)響起嗓违,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎图贸,沒想到半個月后蹂季,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡疏日,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年偿洁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沟优。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡涕滋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挠阁,到底是詐尸還是另有隱情宾肺,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布侵俗,位于F島的核電站锨用,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏隘谣。R本人自食惡果不足惜增拥,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寻歧。 院中可真熱鬧掌栅,春花似錦、人聲如沸熄求。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弟晚。三九已至忘衍,卻和暖如春逾苫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枚钓。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工铅搓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搀捷。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓星掰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嫩舟。 傳聞我的和親對象是個殘疾皇子氢烘,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容