Move showcase source data into a JSON file

Summary:
The showcase is displayed in the homepage as well as in a standalone showcase page. The source data for these two pages is embedded in each page, resulting in repetition of data across both.

This PR splits out all of the showcase data to its own file, which is then loaded into the Metadata component during website generation.

`cd website && npm start`, then verified index and showcase loaded successfully
`cd website && node server/generate.js`, confirmed script runs successfully
Closes https://github.com/facebook/react-native/pull/12626

Differential Revision: D4632036

Pulled By: hramos

fbshipit-source-id: 2d1ad890e78e457205179e36c3ef04ffec354ad9
This commit is contained in:
Hector Ramos 2017-03-01 13:26:53 -08:00 коммит произвёл Facebook Github Bot
Родитель 08dbc43fa6
Коммит 4ee7d9430c
4 изменённых файлов: 596 добавлений и 585 удалений

Просмотреть файл

@ -98,6 +98,7 @@ function execute(options) {
var DOCS_MD_DIR = '../docs/';
var BLOG_MD_DIR = '../blog/';
var CONFIG_JSON_DIR = '../';
glob.sync('src/react-native/docs/*.*').forEach(rmFile);
glob.sync('src/react-native/blog/*.*').forEach(rmFile);
@ -179,6 +180,13 @@ function execute(options) {
metadatas.config[key] = process.env[key];
});
// load showcase apps into metadata
var showcaseApps = JSON.parse(fs.readFileSync(
path.basename(CONFIG_JSON_DIR + 'showcase.json'),
{encoding: 'utf8'}
));
metadatas.showcaseApps = showcaseApps;
fs.writeFileSync(
'core/metadata.js',
'/**\n' +

514
website/showcase.json Normal file
Просмотреть файл

@ -0,0 +1,514 @@
[
{
"name": "Facebook",
"icon": "https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300",
"linkAppStore": "https://itunes.apple.com/app/facebook/id284882215",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en",
"infoLink": "https://code.facebook.com/posts/895897210527114/dive-into-react-native-performance/",
"infoTitle": "Using React Native in the Facebook App",
"defaultLink": "https://itunes.apple.com/app/facebook/id284882215",
"pinned": true
},
{
"name": "Facebook Ads Manager",
"icon": "http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png",
"linkAppStore": "https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.adsmanager",
"infoLink": "https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/",
"infoTitle": "How We Built the First Cross-Platform React Native App",
"defaultLink": "https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8",
"pinned": true
},
{
"name": "Facebook Groups",
"icon": "http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png",
"linkAppStore": "https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8",
"infoLink": "https://code.facebook.com/posts/1014532261909640/react-native-bringing-modern-web-techniques-to-mobile/",
"infoTitle": "React Native: Bringing Modern Web Techniques to Mobile",
"defaultLink": "https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8",
"pinned": true
},
{
"name": "Instagram",
"icon": "http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/app/instagram/id389801252?pt=428156&ct=igweb.unifiedHome.badge&mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.instagram.android&referrer=utm_source%3Dinstagramweb%26utm_campaign%3DunifiedHome%26utm_medium%3Dbadge",
"infoLink": "https://engineering.instagram.com/react-native-at-instagram-dd828a9a90c7#.3h4wir4zr",
"infoTitle": "React Native at Instagram",
"defaultLink": "https://www.instagram.com/",
"pinned": true
},
{
"name": "Airbnb",
"icon": "https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png",
"linkAppStore": "https://itunes.apple.com/us/app/airbnb/id401626263?mt=8&bev=1472279725_4ITWKWGX6KrmU6pT&utm_medium=web&utm_source=airbnb&_branch_match_id=307510898795870823",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.airbnb.android&hl=en&referrer=bev%3D1472279725_4ITWKWGX6KrmU6pT%26utm_medium%3Dweb%26utm_source%3Dairbnb",
"infoLink": "https://www.youtube.com/watch?v=tUfgQtmG3R0",
"infoTitle": "Hybrid React Native Apps at Airbnb",
"defaultLink": "https://www.airbnb.com/mobile",
"pinned": true
},
{
"name": "Baidu (手机百度)",
"icon": "http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png",
"linkPlayStore": "http://shouji.baidu.com/software/9896302.html",
"linkAppStore": "https://itunes.apple.com/en/app/shou-ji-bai-du-hai-liang-xin/id382201985?l=en&mt=8",
"infoLink": "http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K",
"infoTitle": "Baidu is a search engine that has 600 million users.",
"defaultLink": "http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K",
"pinned": true
},
{
"name": "Discord",
"icon": "http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8",
"infoLink": "https://discord.engineering/react-native-deep-dive-91fd5e949933#.5jnqftgof",
"infoTitle": "Using React Native: One Year Later",
"defaultLink": "https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8",
"pinned": true
},
{
"name": "Gyroscope",
"icon": "https://media.gyrosco.pe/images/magneto/180x180.png",
"linkAppStore": "https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8",
"infoLink": "https://blog.gyrosco.pe/building-the-app-1dac1a97d253",
"infoTitle": "Building a visualization experience with React Native",
"defaultLink": "https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8",
"pinned": true
},
{
"name": "li.st",
"icon": "https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300",
"linkPlayStore": "https://play.google.com/store/apps/details?id=st.li.listapp",
"infoLink": "https://www.youtube.com/watch?v=cI9bDvDEsYE",
"infoTitle": "Building li.st for Android with React Native",
"defaultLink": "https://play.google.com/store/apps/details?id=st.li.listapp",
"pinned": true
},
{
"name": "QQ",
"icon": "http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96",
"linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq",
"infoLink": "https://en.wikipedia.org/wiki/Tencent_QQ",
"infoTitle": "QQ is a Chinese messaging service with 829 million active accounts",
"defaultLink": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq",
"pinned": true
},
{
"name": "Townske",
"icon": "http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8",
"infoLink": "https://hackernoon.com/townske-app-in-react-native-6ad557de7a7c",
"infoTitle": "\"I would recommend React Native in a heartbeat.\"",
"defaultLink": "https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8",
"pinned": true
},
{
"name": "Vogue",
"icon": "http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8",
"infoLink": "http://www.vogue.com/app",
"infoTitle": "",
"defaultLink": "https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8",
"pinned": true
},
{
"name": "Walmart",
"icon": "http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg",
"linkAppStore": "https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.walmart.android&hl=en",
"infoLink": " https://medium.com/walmartlabs/react-native-at-walmartlabs-cdd140589560#.ueonqqloc",
"infoTitle": "React Native at Walmart Labs",
"defaultLink": "https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8",
"pinned": true
},
{
"name": "Qzone (QQ空间)",
"icon": "http://pp.myapp.com/ma_icon/0/icon_9959_1460036593/96",
"linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.qzone",
"infoLink": "https://en.wikipedia.org/wiki/Qzone",
"infoTitle": "Qzone is a Chinese social network with over 600 million users",
"pinned": false
},
{
"name": "QQ Music (QQ音乐)",
"icon": "http://pp.myapp.com/ma_icon/0/icon_6259_1462429453/96",
"linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.qqmusic",
"infoLink": "http://www.wsj.com/articles/tencent-customers-come-for-the-music-stay-for-the-perks-1433869369",
"infoTitle": "Internet giant tries to get people to pay for digital music",
"pinned": false
},
{
"name": "Classroom (腾讯课堂)",
"icon": "http://pp.myapp.com/ma_icon/0/icon_10927178_1479093114/96",
"linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.edu",
"linkAppStore": "https://itunes.apple.com/cn/app/teng-xun-ke-tang-zhuan-ye/id931720936?mt=8",
"infoLink": "http://baike.baidu.com/view/13030839.htm",
"infoTitle": "Classroom is an education app by Chinese Internet giant Tencent",
"pinned": false
},
{
"name": "F8",
"icon": "https://raw.githubusercontent.com/fbsamples/f8app/master/ios/F8v2/Images.xcassets/AppIcon.appiconset/AppIcon%402x.png",
"linkAppStore": "https://itunes.apple.com/us/app/f8/id853467066?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.f8",
"infoLink": "http://makeitopen.com/tutorials/building-the-f8-app/planning/",
"infoTitle": "Tutorial: Building the F8 2016 conference app",
"pinned": false
},
{
"name": "Discovery VR",
"icon": "http://a2.mzstatic.com/us/r30/Purple6/v4/d1/d5/f4/d1d5f437-9f6b-b5aa-5fe7-47bd19f934bf/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/discovery-vr/id1030815031?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.discovery.DiscoveryVR",
"infoLink": "https://medium.com/ios-os-x-development/an-ios-developer-on-react-native-1f24786c29f0",
"infoTitle": "\"I may never write an iOS app in Objective-C or Swift again.\"",
"pinned": false
},
{
"name": "Movie Trailers",
"icon": "https://lh3.googleusercontent.com/16aug4m_6tvJB7QZden9w1SOMqpZgNp7rHqDhltZNvofw1a4V_ojGGXUMPGiK0dDCqzL=w300",
"linkAppStore": "https://itunes.apple.com/us/app/movie-trailers-by-movielala/id1001416601?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.movielala.trailers",
"infoLink": "http://variety.com/2016/digital/news/movielala-1-4-million-seed-round-hollywood-angel-investors-1201678139/",
"infoTitle": "MovieLaLa Closes $1.4 Million Seed Round",
"pinned": false
},
{
"name": "Myntra",
"icon": "http://a5.mzstatic.com/us/r30/Purple6/v4/9c/78/df/9c78dfa6-0061-1af2-5026-3e1d5a073c94/icon350x350.png",
"linkAppStore": "https://itunes.apple.com/in/app/myntra-fashion-shopping-app/id907394059",
"infoLink": "https://techcrunch.com/2014/05/22/flipkart-myntra-acqusition/",
"infoTitle": "Flipkart Buys Fashion E-tailer Myntra To Fight Amazon",
"pinned": false
},
{
"name": "SoundCloud Pulse",
"icon": "https://i1.sndcdn.com/artworks-000149203716-k5je96-original.jpg",
"linkAppStore": "https://itunes.apple.com/us/app/soundcloud-pulse-for-creators/id1074278256?mt=8",
"infoLink": "https://developers.soundcloud.com/blog/react-native-at-soundcloud",
"infoTitle": "Why React Native worked well for us",
"pinned": false
},
{
"name": "Start",
"icon": "http://a1.mzstatic.com/us/r30/Purple49/v4/de/9b/6f/de9b6fe8-84ea-7a12-ba2c-0a6d6c7b10b0/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/start-medication-manager-for/id1012099928?mt=8",
"infoLink": "http://www.nytimes.com/2014/09/24/technology/to-gather-drug-information-a-health-start-up-turns-to-consumers.html?_r=0",
"infoTitle": "NYT: A Health Startup Turns to Consumers",
"pinned": false
},
{
"name": "Taxfyle",
"icon": "https://s3.amazonaws.com/taxfyle-public/images/taxfyle-icon-1024px.png",
"linkAppStore": "https://itunes.apple.com/us/app/taxfyle/id1058033104?mt=8",
"infoLink": "http://www.techinsider.io/taxfyle-wants-to-be-the-uber-for-taxes-2016-4",
"infoTitle": "Taxfyle: the Uber for filing taxes",
"pinned": false
},
{
"name": "This AM",
"icon": "http://s3.r29static.com//bin/public/efe/x/1542038/image.png",
"linkAppStore": "https://itunes.apple.com/us/app/refinery29-this-am-top-breaking/id988472315?mt=8",
"infoLink": "https://techcrunch.com/2016/02/01/refinery29-debuts-its-first-app-a-morning-news-round-up-called-refinery29-am/",
"infoTitle": "Refinery29 debuts morning news roundup app created with React Native",
"pinned": false
},
{
"name": "TRED",
"icon": "http://a1.mzstatic.com/us/r30/Purple20/v4/b0/0c/07/b00c07d2-a057-06bc-6044-9fdab97f370f/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/us/app/tred-sell-my-car-for-more!/id1070071394?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.tredmobile&hl=en",
"infoLink": "http://www.geekwire.com/2015/mobile-dealership-tred-raises-another-1m-to-help-used-car-owners-make-more-money/",
"infoTitle": "Sell your car for thousands more than Craigslist or the dealer with TRED",
"pinned": false
},
{
"name": "Bitt Wallet",
"icon": "http://a4.mzstatic.com/us/r30/Purple69/v4/5b/00/34/5b003497-cc85-a0d0-0d3e-4fb3bc6f95cd/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/us/app/bitt-wallet/id1081954916?mt=8",
"infoLink": "https://bitcoinmagazine.com/articles/overstock-invests-in-bitt-to-launch-official-digital-currencies-in-the-caribbean-islands-1459961581",
"infoTitle": "Overstock invests in Bitt to launch digital currencies",
"pinned": false
},
{
"name": "CBS Sports Franchise Football",
"icon": "http://a2.mzstatic.com/us/r30/Purple69/v4/7b/0c/a0/7b0ca007-885a-7cfc-9fa2-2ec4394c2ecc/icon175x175.png",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.cbssports.fantasy.franchisefootball2015",
"infoLink": "http://www.cbssports.com/fantasy/football/games/franchise/2015",
"infoTitle": "Award winning Fantasy Football league manager",
"pinned": false
},
{
"name": "Coiney (窓口)",
"icon": "http://a4.mzstatic.com/us/r30/Purple69/v4/c9/bc/3a/c9bc3a29-9c11-868f-b960-ca46d5fcd509/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/jp/app/coiney-chuang-kou/id1069271336?mt=8",
"infoLink": "https://www.techinasia.com/japan-startup-coiney-aims-for-ipo",
"infoTitle": "Coiney provides smarphone-based credit card processing services in Japan",
"pinned": false
},
{
"name": "Convoy Driver",
"icon": "http://a1.mzstatic.com/us/r30/Purple30/v4/5a/74/56/5a74567d-4491-a298-65cd-722c8a7211ac/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/convoy-driver/id1045368390?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.convoy.driver",
"infoLink": "http://www.theverge.com/2015/10/27/9620352/convoy-uber-for-trucking",
"infoTitle": "Convoy, a Seattle-based \"Uber for trucking\"",
"pinned": false
},
{
"name": "Fixt",
"icon": "http://a5.mzstatic.com/us/r30/Purple62/v4/7f/b3/66/7fb366c4-79fd-34e1-3037-ffc02d8a93f7/icon350x350.png",
"linkAppStore": "https://itunes.apple.com/us/app/dropbot-phone-replacement/id1000855694?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=co.fixt",
"infoLink": "http://www.phonearena.com/news/Fixt-is-an-app-that-promises-a-hassle-free-smartphone-repairy-service_id81069",
"infoTitle": "A hassle-free smartphone repair service",
"pinned": false
},
{
"name": "Leanpub",
"icon": "http://a2.mzstatic.com/us/r30/Purple6/v4/9f/4a/6f/9f4a6f8c-8951-ed89-4083-74ace23df9ef/icon350x350.jpeg",
"linkAppStore": "https://itunes.apple.com/us/app/leanpub/id913517110?ls=1&mt=8",
"infoLink": "http://techland.time.com/2011/06/23/how-to-turn-your-blog-into-an-instant-e-book/",
"infoTitle": "Leanpub: How to Turn Your Blog into an Instant E-Book",
"pinned": false
},
{
"name": "Lugg",
"icon": "https://lh3.googleusercontent.com/EV9z7kRRME2KPMBRNHnje7bBNEl_Why2CFq-MfKzBC88uSFJTYr1HO3-nPt-JuVJwKFb=w300",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.lugg",
"infoLink": "https://techcrunch.com/2015/08/26/lugg-an-app-for-on-demand-short-distance-moves-raises-3-8-million/",
"infoTitle": "Lugg, An App for Short-Distance Moves, Raises $3.8 Million",
"pinned": false
},
{
"name": "Pimmr",
"icon": "http://a2.mzstatic.com/eu/r30/Purple69/v4/99/da/0e/99da0ee6-bc87-e1a6-1d95-7027c78f50e1/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/nl/app/pimmr/id1023343303?mt=8",
"infoLink": "https://www.crunchbase.com/organization/pimmr#/entity",
"infoTitle": "Pimmr helps you find the needle in the haystack",
"pinned": false
},
{
"name": "Project September",
"icon": "http://a4.mzstatic.com/us/r30/Purple30/v4/95/51/b7/9551b72a-d80a-5b1c-5c6d-7fc77d745d31/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/project-september/id1074075331?ls=1&mt=8&_branch_match_id=273849075056044546",
"infoLink": "http://fortune.com/2016/04/14/project-september-alexis-maybank/",
"infoTitle": "Former Gilt CEO Launches New Mobile App",
"pinned": false
},
{
"name": "Samanage",
"icon": "http://a3.mzstatic.com/us/r30/Purple69/v4/ed/e9/ff/ede9ff34-a9f6-5eb6-2a23-fcb014b326f2/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/us/app/samanage/id1033018362",
"infoLink": "https://techcrunch.com/2015/05/20/samanage-raises-16m-as-asset-management-business-grows/",
"infoTitle": "Samanage raises $16M as Asset Management Expands",
"pinned": false
},
{
"name": "ShareWis",
"icon": "https://s3-ap-northeast-1.amazonaws.com/sw-misc/sharewis3_app.png",
"linkAppStore": "https://itunes.apple.com/jp/app/id585517208",
"infoLink": "https://www.crunchbase.com/organization/sharewis#/entity",
"infoTitle": "The concept is to turn learning into an adventure",
"pinned": false
},
{
"name": "sneat",
"icon": "http://a3.mzstatic.com/eu/r30/Purple49/v4/71/71/df/7171df47-6e03-8619-19a8-07f52186b0ed/icon175x175.jpeg",
"linkAppStore": "https://itunes.apple.com/fr/app/sneat-reservez-les-meilleurs/id1062510079?l=en&mt=8",
"infoLink": "http://www.internetsansfrontieres.com/sneat-application-mobile-reserver-restaurant/",
"infoTitle": "Application mobile pour réserver un restaurant",
"pinned": false
},
{
"name": "Ticketea",
"icon": "http://f.cl.ly/items/0n3g3x2t0W0a0d0b1F0C/tkt-icon.png",
"linkAppStore": "https://itunes.apple.com/es/app/entradas-teatro-y-conciertos/id1060067658?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.ticketea.geminis",
"infoLink": "https://techcrunch.com/2013/05/27/ticket-to-ride/",
"infoTitle": "Ticketea raises $4 Million to Beat Ticketmaster",
"pinned": false
},
{
"name": "uSwitch",
"icon": "https://lh3.googleusercontent.com/NpkGlwFWdj7VsK2ueVwlgdrrBrNJ-yN-4TkEHjjSjDUu7NpMcfyAp10p97f0zci0CSFQ=w300",
"linkAppStore": "https://itunes.apple.com/gb/app/uswitch-compare-switch-save/id935325621?mt=8&ct=react",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.uswitchmobileapp",
"infoLink": "https://en.wikipedia.org/wiki/USwitch",
"infoTitle": "uSwitch: a UK-based price comparison service",
"pinned": false
},
{
"name": "WEARVR",
"icon": "http://a2.mzstatic.com/eu/r30/Purple69/v4/4f/5a/28/4f5a2876-9530-ef83-e399-c5ef5b2dab80/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/gb/app/wearvr/id1066288171?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.wearvr.app",
"infoLink": "http://venturebeat.com/2015/04/07/virtual-reality-app-store-wear-vr-secures-1-5m-in-funding/",
"infoTitle": "Wear VR secures $1.5M in funding",
"pinned": false
},
{
"name": "Wego Concerts",
"icon": "http://a5.mzstatic.com/us/r30/Purple69/v4/03/91/2d/03912daa-fae7-6a25-5f11-e6b19290b3f4/icon175x175.png",
"linkAppStore": "https://itunes.apple.com/us/app/wego-concerts-follow-friends/id869478093?mt=8",
"infoLink": "http://www.nydailynews.com/life-style/wego-concerts-app-links-music-fans-article-1.2066776",
"infoTitle": "Wego Concerts: Like the love child of Tinder and StubHub",
"pinned": false
},
{
"name": "Bdsdiet",
"icon": "http://s3.ap-northeast-2.amazonaws.com/bdsdiet-bucket/media/store-icon.png",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.bdsdiet_app",
"infoLink": "https://www.crunchbase.com/organization/bds-diet#/entity",
"infoTitle": "Bdsdiet provides real estate brokerage services through web and live agents in Korea.",
"pinned": false
},
{
"name": "Crowdsource (蜂鸟众包)",
"icon": "http://img.wdjimg.com/mms/icon/v1/e/6e/687b129606504cd52632a8cc4ca816ee_256_256.png",
"linkPlayStore": "http://www.wandoujia.com/apps/me.ele.crowdsource",
"linkAppStore": "https://itunes.apple.com/cn/app/feng-niao-zhong-bao-jian-zhi/id1061034377?mt=8",
"infoLink": "https://elelogistics.github.io/about/Crowdsource-App-Write-In-React-Native.html",
"infoTitle": "Fengniao Crowdsource is the largest crowdsourced logistics platform in China.",
"pinned": false
},
{
"name": "昨日热推",
"icon": "https://frontbin.com/images/apple-touch-icon.png",
"linkAppStore": "https://itunes.apple.com/cn/app/zuo-ri-re-tui/id1137163693?l=en&mt=8",
"infoLink": "https://www.zfanw.com/blog/developing-react-native-image-viewer-library.html",
"infoTitle": "Developing the react-native-image-viewer library",
"pinned": false
},
{
"name": "Artsy",
"icon": "https://raw.githubusercontent.com/artsy/eigen/master/Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png",
"linkAppStore": "https://itunes.apple.com/us/app/artsy-collect-bid-on-fine/id703796080?mt=8",
"infoLink": "https://artsy.github.io/series/react-native-at-artsy/",
"infoTitle": "React Native at Artsy",
"pinned": false
},
{
"name": "Huiseoul (惠首尔)",
"icon": "https://cdn.huiseoul.com/icon.png",
"linkAppStore": "https://itunes.apple.com/us/app/hui-shou-er-ni-si-ren-mei/id1127150360?ls=1&mt=8",
"infoLink": "https://engineering.huiseoul.com/building-a-conversational-e-commerce-app-in-6-weeks-with-react-native-c35d46637e07",
"infoTitle": "Building a conversational E-commerce app in 6 weeks with React Native",
"pinned": false
},
{
"name": "PlaceAVote",
"icon": "https://s12.postimg.org/nr79mplq5/pav_Icon.png",
"linkAppStore": "https://itunes.apple.com/us/app/placeavote/id1120628991?ls=1&mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.placeavote.androidapp&hl=en",
"infoLink": "https://techcrunch.com/2016/05/10/placeavote-wants-to-give-voters-a-say-in-congress/",
"infoTitle": "PlaceAVote wants to give voters a say in Congress",
"pinned": false
},
{
"name": "Robin Rooms",
"icon": "http://robinpowered.s3.amazonaws.com/rooms/appicon.png",
"linkAppStore": "https://itunes.apple.com/us/app/robin-rooms/id947566115",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.robinpowered.rooms",
"infoLink": "https://techcrunch.com/2016/05/31/robin-makes-the-office-smarter-with-7-million-in-new-funding/",
"infoTitle": "Robin Rooms manages and mounts outside your conference rooms",
"pinned": false
},
{
"name": "Sleeperbot",
"icon": "https://blitzchat.net/uploads/c8425332190a4f4b852d7770ad32e602/original.png",
"linkAppStore": "https://itunes.apple.com/us/app/sleeperbot-fantasy-football/id987367543?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.sleeperbot&hl=en",
"infoLink": "https://medium.com/sleeperbot-hq/switching-to-react-native-in-production-on-ios-and-android-e6b675402712#.cug6h6qhn",
"infoTitle": "Switching to React Native in Production on iOS and Android",
"pinned": false
},
{
"name": "JD手机京东",
"icon": "https://lh3.googleusercontent.com/AIIAZsqyEG0KmCFruh1Ec374-2l7n1rfv_LG5RWjdAZOzUBCu-5MRqdLbzJfBnOdSFg=w300-rw",
"linkAppStore": "https://itunes.apple.com/cn/app/shou-ji-jing-dong-xin-ren/id414245413?mt=8",
"linkPlayStore": "https://app.jd.com/android.html",
"infoLink": "http://ir.jd.com/phoenix.zhtml?c=253315&p=irol-homeProfile",
"infoTitle": "JD.com is Chinas largest ecommerce company by revenue and a member of the Fortune Global 500.",
"pinned": false
},
{
"name": "Chop",
"icon": "https://pbs.twimg.com/profile_images/656536498951446529/6zU6BvgB.png",
"linkAppStore": "http://apple.co/2dfkYH9",
"infoLink": "https://blog.getchop.io/how-we-built-chop-bae3d8acd131#.7y8buamrq",
"infoTitle": "How we built Chop",
"pinned": false
},
{
"name": "Bloomberg",
"icon": "http://is1.mzstatic.com/image/thumb/Purple71/v4/31/24/72/312472df-3d53-0acf-fc31-8a25682e528f/source/175x175bb.jpg",
"linkAppStore": "https://itunes.apple.com/us/app/bloomberg/id281941097?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.bloomberg.android.plus&hl=en",
"infoLink": "https://www.techatbloomberg.com/blog/bloomberg-used-react-native-develop-new-consumer-app/",
"infoTitle": "How Bloomberg Used React Native to Develop its new Consumer App",
"pinned": false
},
{
"name": "Blink",
"icon": "https://lh3.googleusercontent.com/QaId7rFtOjAT-2tHVkKB4lebX_w4ujWiO7ZIDe3Hd99TfBmPmiZySbLbVJV65qs0ViM=w300-rw",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.witapp",
"infoLink": "https://hashnode.com/post/what-we-learned-after-using-react-native-for-a-year-civdr8zv6058l3853wqud7hqp",
"infoTitle": "What we learned after using React Native for a year",
"pinned": false
},
{
"name": "Delivery.com",
"icon": "https://lh3.googleusercontent.com/ZwwQHQns9Ut2-LqbMqPcmQrsWBh3YbmbIzeDthfdavw99Ziq0unJ6EHUw8bstXUIpg=w300-rw",
"linkAppStore": "https://itunes.apple.com/us/app/delivery.com-food-alcohol/id435168129?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.deliverycom&hl=en",
"infoLink": "https://medium.com/delivery-com-engineering/react-native-in-an-existing-ios-app-delivered-874ba95a3c52#.37qruw6ck",
"infoTitle": "React Native in an Existing iOS App: Getting Started",
"pinned": false
},
{
"name": "Remedy",
"icon": "https://www.remedymedical.com/static/images/AppIconPatient.png",
"linkAppStore": "https://itunes.apple.com/us/app/remedy-on-demand-intelligent/id1125877350?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.remedy.android",
"infoLink": "https://techcrunch.com/2017/01/10/doctordoctorcantyouseeimburning/",
"infoTitle": "Talk to a world-class doctor: advice, prescriptions, and care",
"pinned": false
},
{
"name": "Yeti Smart Home",
"icon": "https://res.cloudinary.com/netbeast/image/upload/v1484303676/Android_192_loykto.png",
"linkAppStore": "https://itunes.apple.com/us/app/yeti-smart-home/id1190638808?mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.netbeast.yeti",
"infoLink": "https://medium.com/@jesusdario/developing-beyond-the-screen-9af812b96724#.ozx0xy4lv",
"infoTitle": "How React Native is helping us to reinvent the wheel",
"pinned": false
},
{
"name": "Jack",
"icon": "https://s3-eu-west-1.amazonaws.com/jack-public/react-native-showcase/jack-raw-icon.png",
"linkAppStore": "https://itunes.apple.com/us/app/you-have-a-jack/id1019167559?ls=1&mt=8",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.jack45.jack",
"infoLink": "https://medium.com/@herdani/our-switch-to-react-native-f4ada19f0f3d#.ogwjzf2tw",
"infoTitle": "Our switch to React Native",
"pinned": false
},
{
"name": "Causr",
"icon": "http://is2.mzstatic.com/image/thumb/Purple111/v4/9d/14/20/9d142015-3319-f613-2886-ad889609466a/source/175x175bb.jpg",
"linkAppStore": "https://itunes.apple.com/us/app/causr-business-networking/id1129819484",
"infoLink": "https://medium.com/causr/why-we-chose-react-native-abd7d58a18b5",
"infoTitle": "Why we chose React Native",
"pinned": false
},
{
"name": "Flare",
"icon": "http://x.co/FlareIcon",
"linkAppStore": "http://x.co/Flare",
"linkPlayStore": "http://x.co/FlareAndr",
"infoLink": "http://x.co/FlareNews",
"infoTitle": "Social network that connects entrepreneurs to fellow entrepreneurs, consumers, investors and experts",
"pinned": false
}
]

73
website/src/react-native/index.js поставляемый
Просмотреть файл

@ -12,74 +12,11 @@ var Hero = require('Hero');
var Prism = require('Prism');
var React = require('React');
var Site = require('Site');
var Metadata = require('Metadata');
var apps = [
{
name: 'Facebook',
icon: 'https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300',
infoLink: 'https://itunes.apple.com/app/facebook/id284882215',
},
{
name: 'Facebook Ads Manager',
icon: 'http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png',
infoLink: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8',
},
{
name: 'Facebook Groups',
icon: 'http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png',
infoLink: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8',
},
{
name: 'Instagram',
icon: 'http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg',
infoLink: 'https://www.instagram.com/',
},
{
name: 'Airbnb',
icon: 'https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png',
infoLink: 'https://www.airbnb.com/mobile',
},
{
name: 'Baidu(手机百度)',
icon: 'http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png',
infoLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K',
},
{
name: 'Discord',
icon: 'http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg',
infoLink: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8',
},
{
name: 'Gyroscope',
icon: 'https://media.gyrosco.pe/images/magneto/180x180.png',
infoLink: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8',
},
{
name: 'li.st',
icon: 'https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300',
infoLink: 'https://play.google.com/store/apps/details?id=st.li.listapp',
},
{
name: 'QQ',
icon: 'http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96',
infoLink: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq',
},
{
name: 'Townske',
icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png',
infoLink: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8',
},
{
name: 'Vogue',
icon: 'http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg',
infoLink: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8',
},
{
name: 'Walmart',
icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg',
infoLink: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8',
},
];
const pinnedApps = Metadata.showcaseApps.filter(app => {
return app.pinned;
});
var AppList = React.createClass({
render: function() {
@ -231,7 +168,7 @@ class SomethingFast extends Component {
<p>
Thousands of apps are using React Native, from established Fortune 500 companies to hot new startups. If you're curious to see what can be accomplished with React Native, check out these apps!
</p>
<AppList apps={apps} />
<AppList apps={pinnedApps} />
<p className="footnote">
Some of these are hybrid native/React Native apps.
</p>

586
website/src/react-native/showcase.js поставляемый
Просмотреть файл

@ -10,496 +10,67 @@
var React = require('React');
var Site = require('Site');
var Metadata = require('Metadata');
/*
Thousands of applications use React Native, so we can't list all of them
in our showcase. To be useful to someone looking through the showcase,
either the app must be something that most readers would recognize, or the
makers of the application must have posted useful technical content about the
making of the app. It also must be useful considering that the majority of
readers only speak English. So, each app in the showcase should link to either:
* Thousands of applications use React Native, so we can't list all of them
* in our showcase. To be useful to someone looking through the showcase,
* either the app must be something that most readers would recognize, or the
* makers of the application must have posted useful technical content about the
* making of the app. It also must be useful considering that the majority of
* readers only speak English. So, each app in the showcase should link to
* either:
*
* 1/ An English-language news article discussing the app, built either by a
* funded startup or for a public company
* 2/ An English-language technical post on a funded startup or public company
* blog discussing React Native
*
* The app should be available for download in the App Store or Play Store.
*
* If you believe your app meets the above critera, add it to the end of the
* array in the `../../showcase.json` file in this repository and open a pull
* request. PRs that do not follow these guidelines may be closed without
* comment.
*
* Use the 'infoLink' and 'infoTitle' keys to reference the news article or
* technical post. Your app icon should be hosted on a CDN and be no smaller
* than 200px by 200px. Use the `icon` key to reference your app icon.
*
* Please use the following format when adding your app to the showcase:
*
* {
* name: 'App Name in English (Non-English name inside parenthesis, if any)',
* icon: 'CDN URL to your app icon'
* linkAppStore: 'https://itunes.apple.com/app/XXXXX'
* linkPlayStore: "https://play.google.com/store/apps/details?id=XXXXX",
* infoLink: 'Link to content that satisfies critera above',
* infoTitle: 'Short title for the infoLink',
* pinned: false,
* }
*
* Do not set 'pinned' to true as the pinned list is reserved for a small number
* of hand picked apps.
*/
const showcaseApps = Metadata.showcaseApps;
1/ An English-language news article discussing the app, built either by a funded startup or for a public company
2/ An English-language technical post on a funded startup or public company blog discussing React Native
const pinnedApps = showcaseApps.filter(app => {
return app.pinned;
});
For each app in the showcase, use infoLink and infoTitle to reference this
content.
*/
var featured = [
{
name: 'Qzone (QQ空间)',
icon: 'http://pp.myapp.com/ma_icon/0/icon_9959_1460036593/96',
linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.qzone',
infoLink: 'https://en.wikipedia.org/wiki/Qzone',
infoTitle: 'Qzone is a Chinese social network with over 600 million users',
},
{
name: 'QQ Music (QQ音乐)',
icon: 'http://pp.myapp.com/ma_icon/0/icon_6259_1462429453/96',
linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.qqmusic',
infoLink: 'http://www.wsj.com/articles/tencent-customers-come-for-the-music-stay-for-the-perks-1433869369',
infoTitle: 'Internet giant tries to get people to pay for digital music',
},
{
name: 'Classroom (腾讯课堂)',
icon: 'http://pp.myapp.com/ma_icon/0/icon_10927178_1479093114/96',
linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.edu',
linkAppStore: 'https://itunes.apple.com/cn/app/teng-xun-ke-tang-zhuan-ye/id931720936?mt=8',
infoLink: 'http://baike.baidu.com/view/13030839.htm',
infoTitle: 'Classroom is an education app by Chinese Internet giant Tencent',
},
{
name: 'F8',
icon: 'https://raw.githubusercontent.com/fbsamples/f8app/master/ios/F8v2/Images.xcassets/AppIcon.appiconset/AppIcon%402x.png',
linkAppStore: 'https://itunes.apple.com/us/app/f8/id853467066?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.f8',
infoLink: 'http://makeitopen.com/tutorials/building-the-f8-app/planning/',
infoTitle: 'Tutorial: Building the F8 2016 conference app',
},
{
name: 'Discovery VR',
icon: 'http://a2.mzstatic.com/us/r30/Purple6/v4/d1/d5/f4/d1d5f437-9f6b-b5aa-5fe7-47bd19f934bf/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/discovery-vr/id1030815031?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.discovery.DiscoveryVR',
infoLink: 'https://medium.com/ios-os-x-development/an-ios-developer-on-react-native-1f24786c29f0',
infoTitle: '"I may never write an iOS app in Objective-C or Swift again."',
},
{
name: 'Movie Trailers',
icon: 'https://lh3.googleusercontent.com/16aug4m_6tvJB7QZden9w1SOMqpZgNp7rHqDhltZNvofw1a4V_ojGGXUMPGiK0dDCqzL=w300',
linkAppStore: 'https://itunes.apple.com/us/app/movie-trailers-by-movielala/id1001416601?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.movielala.trailers',
infoLink: 'http://variety.com/2016/digital/news/movielala-1-4-million-seed-round-hollywood-angel-investors-1201678139/',
infoTitle: 'MovieLaLa Closes $1.4 Million Seed Round',
},
{
name: 'Myntra',
icon: 'http://a5.mzstatic.com/us/r30/Purple6/v4/9c/78/df/9c78dfa6-0061-1af2-5026-3e1d5a073c94/icon350x350.png',
linkAppStore: 'https://itunes.apple.com/in/app/myntra-fashion-shopping-app/id907394059',
infoLink: 'https://techcrunch.com/2014/05/22/flipkart-myntra-acqusition/',
infoTitle: 'Flipkart Buys Fashion E-tailer Myntra To Fight Amazon',
},
{
name: 'SoundCloud Pulse',
icon: 'https://i1.sndcdn.com/artworks-000149203716-k5je96-original.jpg',
linkAppStore: 'https://itunes.apple.com/us/app/soundcloud-pulse-for-creators/id1074278256?mt=8',
infoLink: 'https://developers.soundcloud.com/blog/react-native-at-soundcloud',
infoTitle: 'Why React Native worked well for us',
},
{
name: 'Start',
icon: 'http://a1.mzstatic.com/us/r30/Purple49/v4/de/9b/6f/de9b6fe8-84ea-7a12-ba2c-0a6d6c7b10b0/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/start-medication-manager-for/id1012099928?mt=8',
infoLink: 'http://www.nytimes.com/2014/09/24/technology/to-gather-drug-information-a-health-start-up-turns-to-consumers.html?_r=0',
infoTitle: 'NYT: A Health Startup Turns to Consumers',
},
{
name: 'Taxfyle',
icon: 'https://s3.amazonaws.com/taxfyle-public/images/taxfyle-icon-1024px.png',
linkAppStore: 'https://itunes.apple.com/us/app/taxfyle/id1058033104?mt=8',
infoLink: 'http://www.techinsider.io/taxfyle-wants-to-be-the-uber-for-taxes-2016-4',
infoTitle: 'Taxfyle: the Uber for filing taxes',
},
{
name: 'This AM',
icon: 'http://s3.r29static.com//bin/public/efe/x/1542038/image.png',
linkAppStore: 'https://itunes.apple.com/us/app/refinery29-this-am-top-breaking/id988472315?mt=8',
infoLink: 'https://techcrunch.com/2016/02/01/refinery29-debuts-its-first-app-a-morning-news-round-up-called-refinery29-am/',
infoTitle: 'Refinery29 debuts morning news roundup app created with React Native',
},
{
name: 'TRED',
icon: 'http://a1.mzstatic.com/us/r30/Purple20/v4/b0/0c/07/b00c07d2-a057-06bc-6044-9fdab97f370f/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/us/app/tred-sell-my-car-for-more!/id1070071394?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.tredmobile&hl=en',
infoLink: 'http://www.geekwire.com/2015/mobile-dealership-tred-raises-another-1m-to-help-used-car-owners-make-more-money/',
infoTitle: 'Sell your car for thousands more than Craigslist or the dealer with TRED',
},
{
name: 'Bitt Wallet',
icon: 'http://a4.mzstatic.com/us/r30/Purple69/v4/5b/00/34/5b003497-cc85-a0d0-0d3e-4fb3bc6f95cd/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/us/app/bitt-wallet/id1081954916?mt=8',
infoLink: 'https://bitcoinmagazine.com/articles/overstock-invests-in-bitt-to-launch-official-digital-currencies-in-the-caribbean-islands-1459961581',
infoTitle: 'Overstock invests in Bitt to launch digital currencies',
},
{
name: 'CBS Sports Franchise Football',
icon: 'http://a2.mzstatic.com/us/r30/Purple69/v4/7b/0c/a0/7b0ca007-885a-7cfc-9fa2-2ec4394c2ecc/icon175x175.png',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.cbssports.fantasy.franchisefootball2015',
infoLink: 'http://www.cbssports.com/fantasy/football/games/franchise/2015',
infoTitle: 'Award winning Fantasy Football league manager',
},
{
name: 'Coiney (窓口)',
icon: 'http://a4.mzstatic.com/us/r30/Purple69/v4/c9/bc/3a/c9bc3a29-9c11-868f-b960-ca46d5fcd509/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/jp/app/coiney-chuang-kou/id1069271336?mt=8',
infoLink: 'https://www.techinasia.com/japan-startup-coiney-aims-for-ipo',
infoTitle: 'Coiney provides smarphone-based credit card processing services in Japan',
},
{
name: 'Convoy Driver',
icon: 'http://a1.mzstatic.com/us/r30/Purple30/v4/5a/74/56/5a74567d-4491-a298-65cd-722c8a7211ac/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/convoy-driver/id1045368390?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.convoy.driver',
infoLink: 'http://www.theverge.com/2015/10/27/9620352/convoy-uber-for-trucking',
infoTitle: 'Convoy, a Seattle-based "Uber for trucking"',
},
{
name: 'Fixt',
icon: 'http://a5.mzstatic.com/us/r30/Purple62/v4/7f/b3/66/7fb366c4-79fd-34e1-3037-ffc02d8a93f7/icon350x350.png',
linkAppStore: 'https://itunes.apple.com/us/app/dropbot-phone-replacement/id1000855694?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=co.fixt',
infoLink: 'http://www.phonearena.com/news/Fixt-is-an-app-that-promises-a-hassle-free-smartphone-repairy-service_id81069',
infoTitle: 'A hassle-free smartphone repair service',
},
{
name: 'Leanpub',
icon: 'http://a2.mzstatic.com/us/r30/Purple6/v4/9f/4a/6f/9f4a6f8c-8951-ed89-4083-74ace23df9ef/icon350x350.jpeg',
linkAppStore: 'https://itunes.apple.com/us/app/leanpub/id913517110?ls=1&mt=8',
infoLink: 'http://techland.time.com/2011/06/23/how-to-turn-your-blog-into-an-instant-e-book/',
infoTitle: 'Leanpub: How to Turn Your Blog into an Instant E-Book',
},
{
name: 'Lugg',
icon: 'https://lh3.googleusercontent.com/EV9z7kRRME2KPMBRNHnje7bBNEl_Why2CFq-MfKzBC88uSFJTYr1HO3-nPt-JuVJwKFb=w300',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.lugg',
infoLink: 'https://techcrunch.com/2015/08/26/lugg-an-app-for-on-demand-short-distance-moves-raises-3-8-million/',
infoTitle: 'Lugg, An App for Short-Distance Moves, Raises $3.8 Million',
},
{
name: 'Pimmr',
icon: 'http://a2.mzstatic.com/eu/r30/Purple69/v4/99/da/0e/99da0ee6-bc87-e1a6-1d95-7027c78f50e1/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/nl/app/pimmr/id1023343303?mt=8',
infoLink: 'https://www.crunchbase.com/organization/pimmr#/entity',
infoTitle: 'Pimmr helps you find the needle in the haystack',
},
{
name: 'Project September',
icon: 'http://a4.mzstatic.com/us/r30/Purple30/v4/95/51/b7/9551b72a-d80a-5b1c-5c6d-7fc77d745d31/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/project-september/id1074075331?ls=1&mt=8&_branch_match_id=273849075056044546',
infoLink: 'http://fortune.com/2016/04/14/project-september-alexis-maybank/',
infoTitle: 'Former Gilt CEO Launches New Mobile App',
},
{
name: 'Samanage',
icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/ed/e9/ff/ede9ff34-a9f6-5eb6-2a23-fcb014b326f2/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/us/app/samanage/id1033018362',
infoLink: 'https://techcrunch.com/2015/05/20/samanage-raises-16m-as-asset-management-business-grows/',
infoTitle: 'Samanage raises $16M as Asset Management Expands',
},
{
name: 'ShareWis',
icon: 'https://s3-ap-northeast-1.amazonaws.com/sw-misc/sharewis3_app.png',
linkAppStore: 'https://itunes.apple.com/jp/app/id585517208',
infoLink: 'https://www.crunchbase.com/organization/sharewis#/entity',
infoTitle: 'The concept is to turn learning into an adventure',
},
{
name: 'sneat',
icon: 'http://a3.mzstatic.com/eu/r30/Purple49/v4/71/71/df/7171df47-6e03-8619-19a8-07f52186b0ed/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/fr/app/sneat-reservez-les-meilleurs/id1062510079?l=en&mt=8',
infoLink: 'http://www.internetsansfrontieres.com/sneat-application-mobile-reserver-restaurant/',
infoTitle: 'Application mobile pour réserver un restaurant',
},
{
name: 'Ticketea',
icon: 'http://f.cl.ly/items/0n3g3x2t0W0a0d0b1F0C/tkt-icon.png',
linkAppStore: 'https://itunes.apple.com/es/app/entradas-teatro-y-conciertos/id1060067658?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.ticketea.geminis',
infoLink: 'https://techcrunch.com/2013/05/27/ticket-to-ride/',
infoTitle: 'Ticketea raises $4 Million to Beat Ticketmaster',
},
{
name: 'uSwitch',
icon: 'https://lh3.googleusercontent.com/NpkGlwFWdj7VsK2ueVwlgdrrBrNJ-yN-4TkEHjjSjDUu7NpMcfyAp10p97f0zci0CSFQ=w300',
linkAppStore: 'https://itunes.apple.com/gb/app/uswitch-compare-switch-save/id935325621?mt=8&ct=react',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.uswitchmobileapp',
infoLink: 'https://en.wikipedia.org/wiki/USwitch',
infoTitle: 'uSwitch: a UK-based price comparison service',
},
{
name: 'WEARVR',
icon: 'http://a2.mzstatic.com/eu/r30/Purple69/v4/4f/5a/28/4f5a2876-9530-ef83-e399-c5ef5b2dab80/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/gb/app/wearvr/id1066288171?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.wearvr.app',
infoLink: 'http://venturebeat.com/2015/04/07/virtual-reality-app-store-wear-vr-secures-1-5m-in-funding/',
infoTitle: 'Wear VR secures $1.5M in funding',
},
{
name: 'Wego Concerts',
icon: 'http://a5.mzstatic.com/us/r30/Purple69/v4/03/91/2d/03912daa-fae7-6a25-5f11-e6b19290b3f4/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/wego-concerts-follow-friends/id869478093?mt=8',
infoLink: 'http://www.nydailynews.com/life-style/wego-concerts-app-links-music-fans-article-1.2066776',
infoTitle: 'Wego Concerts: Like the love child of Tinder and StubHub',
},
{
name: 'Bdsdiet',
icon: 'http://s3.ap-northeast-2.amazonaws.com/bdsdiet-bucket/media/store-icon.png',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.bdsdiet_app',
infoLink: 'https://www.crunchbase.com/organization/bds-diet#/entity',
infoTitle: 'Bdsdiet provides real estate brokerage services through web and live agents in Korea.',
},
{
name: 'Crowdsource (蜂鸟众包)',
icon: 'http://img.wdjimg.com/mms/icon/v1/e/6e/687b129606504cd52632a8cc4ca816ee_256_256.png',
linkPlayStore: 'http://www.wandoujia.com/apps/me.ele.crowdsource',
linkAppStore: 'https://itunes.apple.com/cn/app/feng-niao-zhong-bao-jian-zhi/id1061034377?mt=8',
infoLink: 'https://elelogistics.github.io/about/Crowdsource-App-Write-In-React-Native.html',
infoTitle: 'Fengniao Crowdsource is the largest crowdsourced logistics platform in China.',
},
{
name: '昨日热推',
icon: 'https://frontbin.com/images/apple-touch-icon.png',
linkAppStore: 'https://itunes.apple.com/cn/app/zuo-ri-re-tui/id1137163693?l=en&mt=8',
infoLink: 'https://www.zfanw.com/blog/developing-react-native-image-viewer-library.html',
infoTitle: 'Developing the react-native-image-viewer library',
},
{
name: 'Artsy',
icon: 'https://raw.githubusercontent.com/artsy/eigen/master/Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png',
linkAppStore: 'https://itunes.apple.com/us/app/artsy-collect-bid-on-fine/id703796080?mt=8',
infoLink: 'https://artsy.github.io/series/react-native-at-artsy/',
infoTitle: 'React Native at Artsy',
},
{
name: 'Huiseoul (惠首尔)',
icon: 'https://cdn.huiseoul.com/icon.png',
linkAppStore: 'https://itunes.apple.com/us/app/hui-shou-er-ni-si-ren-mei/id1127150360?ls=1&mt=8',
infoLink: 'https://engineering.huiseoul.com/building-a-conversational-e-commerce-app-in-6-weeks-with-react-native-c35d46637e07',
infoTitle: 'Building a conversational E-commerce app in 6 weeks with React Native',
},
{
name: 'PlaceAVote',
icon: 'https://s12.postimg.org/nr79mplq5/pav_Icon.png',
linkAppStore: 'https://itunes.apple.com/us/app/placeavote/id1120628991?ls=1&mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.placeavote.androidapp&hl=en',
infoLink: 'https://techcrunch.com/2016/05/10/placeavote-wants-to-give-voters-a-say-in-congress/',
infoTitle: 'PlaceAVote wants to give voters a say in Congress',
},
{
name: 'Robin Rooms',
icon: 'http://robinpowered.s3.amazonaws.com/rooms/appicon.png',
linkAppStore: 'https://itunes.apple.com/us/app/robin-rooms/id947566115',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.robinpowered.rooms',
infoLink: 'https://techcrunch.com/2016/05/31/robin-makes-the-office-smarter-with-7-million-in-new-funding/',
infoTitle: 'Robin Rooms manages and mounts outside your conference rooms'
},
{
name: 'Sleeperbot',
icon: 'https://blitzchat.net/uploads/c8425332190a4f4b852d7770ad32e602/original.png',
linkAppStore: 'https://itunes.apple.com/us/app/sleeperbot-fantasy-football/id987367543?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.sleeperbot&hl=en',
infoLink: 'https://medium.com/sleeperbot-hq/switching-to-react-native-in-production-on-ios-and-android-e6b675402712#.cug6h6qhn',
infoTitle: 'Switching to React Native in Production on iOS and Android',
},
{
name: 'JD手机京东',
icon: 'https://lh3.googleusercontent.com/AIIAZsqyEG0KmCFruh1Ec374-2l7n1rfv_LG5RWjdAZOzUBCu-5MRqdLbzJfBnOdSFg=w300-rw',
linkAppStore: 'https://itunes.apple.com/cn/app/shou-ji-jing-dong-xin-ren/id414245413?mt=8',
linkPlayStore: 'https://app.jd.com/android.html',
infoLink: 'http://ir.jd.com/phoenix.zhtml?c=253315&p=irol-homeProfile',
infoTitle: 'JD.com is Chinas largest ecommerce company by revenue and a member of the Fortune Global 500.',
},
{
name: 'Chop',
icon: 'https://pbs.twimg.com/profile_images/656536498951446529/6zU6BvgB.png',
linkAppStore: 'http://apple.co/2dfkYH9',
infoLink: 'https://blog.getchop.io/how-we-built-chop-bae3d8acd131#.7y8buamrq',
infoTitle: 'How we built Chop',
},
{
name: 'Bloomberg',
icon: 'http://is1.mzstatic.com/image/thumb/Purple71/v4/31/24/72/312472df-3d53-0acf-fc31-8a25682e528f/source/175x175bb.jpg',
linkAppStore: 'https://itunes.apple.com/us/app/bloomberg/id281941097?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.bloomberg.android.plus&hl=en',
infoLink: 'https://www.techatbloomberg.com/blog/bloomberg-used-react-native-develop-new-consumer-app/',
infoTitle: 'How Bloomberg Used React Native to Develop its new Consumer App',
},
{
name: 'Blink',
icon: 'https://lh3.googleusercontent.com/QaId7rFtOjAT-2tHVkKB4lebX_w4ujWiO7ZIDe3Hd99TfBmPmiZySbLbVJV65qs0ViM=w300-rw',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.witapp',
infoLink: 'https://hashnode.com/post/what-we-learned-after-using-react-native-for-a-year-civdr8zv6058l3853wqud7hqp',
infoTitle: 'What we learned after using React Native for a year',
},
{
name: 'Delivery.com',
icon: 'https://lh3.googleusercontent.com/ZwwQHQns9Ut2-LqbMqPcmQrsWBh3YbmbIzeDthfdavw99Ziq0unJ6EHUw8bstXUIpg=w300-rw',
linkAppStore: 'https://itunes.apple.com/us/app/delivery.com-food-alcohol/id435168129?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.deliverycom&hl=en',
infoLink: 'https://medium.com/delivery-com-engineering/react-native-in-an-existing-ios-app-delivered-874ba95a3c52#.37qruw6ck',
infoTitle: 'React Native in an Existing iOS App: Getting Started'
},
{
name: 'Remedy',
icon: 'https://www.remedymedical.com/static/images/AppIconPatient.png',
linkAppStore: 'https://itunes.apple.com/us/app/remedy-on-demand-intelligent/id1125877350?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.remedy.android',
infoLink: 'https://techcrunch.com/2017/01/10/doctordoctorcantyouseeimburning/',
infoTitle: 'Talk to a world-class doctor: advice, prescriptions, and care',
},
{
name: 'Yeti Smart Home',
icon: 'https://res.cloudinary.com/netbeast/image/upload/v1484303676/Android_192_loykto.png',
linkAppStore: 'https://itunes.apple.com/us/app/yeti-smart-home/id1190638808?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.netbeast.yeti',
infoLink: 'https://medium.com/@jesusdario/developing-beyond-the-screen-9af812b96724#.ozx0xy4lv',
infoTitle: 'How React Native is helping us to reinvent the wheel',
},
{
name: 'Jack',
icon: 'https://s3-eu-west-1.amazonaws.com/jack-public/react-native-showcase/jack-raw-icon.png',
linkAppStore: 'https://itunes.apple.com/us/app/you-have-a-jack/id1019167559?ls=1&mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.jack45.jack',
infoLink: 'https://medium.com/@herdani/our-switch-to-react-native-f4ada19f0f3d#.ogwjzf2tw',
infoTitle: 'Our switch to React Native',
},
{
name: 'Causr',
icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/9d/14/20/9d142015-3319-f613-2886-ad889609466a/source/175x175bb.jpg',
linkAppStore: 'https://itunes.apple.com/us/app/causr-business-networking/id1129819484',
infoLink: 'https://medium.com/causr/why-we-chose-react-native-abd7d58a18b5',
infoTitle: 'Why we chose React Native'
},
{
name: 'Flare',
icon: 'http://x.co/FlareIcon',
linkAppStore: 'http://x.co/Flare',
linkPlayStore: 'http://x.co/FlareAndr',
infoLink: 'http://x.co/FlareNews',
infoTitle: 'Social network that connects entrepreneurs to fellow entrepreneurs, consumers, investors and experts',
},
{
name: 'Prepd',
icon: 'http://is4.mzstatic.com/image/thumb/Purple111/v4/03/56/95/035695ab-77dc-4f3b-0961-3263e32e3494/source/175x175bb.jpg',
linkAppStore: 'https://itunes.apple.com/us/app/get-prepd/id1125687122?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.prepd&hl=en',
infoLink: 'https://logbook.hanno.co/prepd-pros-cons-react-native/',
infoTitle: 'How we built Prepd for iOS and Android using React Native',
},
];
/*
If you want your app to be featured in the showcase, add them to the featured
hash above this line. The pinned list is reserved for a small list of hand-picked apps.
*/
var pinned = [
{
name: 'Facebook',
icon: 'https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300',
linkAppStore: 'https://itunes.apple.com/app/facebook/id284882215',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en',
infoLink: 'https://code.facebook.com/posts/895897210527114/dive-into-react-native-performance/',
infoTitle: 'Using React Native in the Facebook App',
defaultLink: 'https://itunes.apple.com/app/facebook/id284882215',
},
{
name: 'Facebook Ads Manager',
icon: 'http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png',
linkAppStore: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.adsmanager',
infoLink: 'https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/',
infoTitle: 'How We Built the First Cross-Platform React Native App',
defaultLink: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8',
},
{
name: 'Facebook Groups',
icon: 'http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png',
linkAppStore: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8',
infoLink: 'https://code.facebook.com/posts/1014532261909640/react-native-bringing-modern-web-techniques-to-mobile/',
infoTitle: 'React Native: Bringing Modern Web Techniques to Mobile',
defaultLink: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8',
},
{
name: 'Instagram',
icon: 'http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/app/instagram/id389801252?pt=428156&ct=igweb.unifiedHome.badge&mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.instagram.android&referrer=utm_source%3Dinstagramweb%26utm_campaign%3DunifiedHome%26utm_medium%3Dbadge',
infoLink: 'https://engineering.instagram.com/react-native-at-instagram-dd828a9a90c7#.3h4wir4zr',
infoTitle: 'React Native at Instagram',
defaultLink: 'https://www.instagram.com/',
},
{
name: 'Airbnb',
icon: 'https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png',
linkAppStore: 'https://itunes.apple.com/us/app/airbnb/id401626263?mt=8&bev=1472279725_4ITWKWGX6KrmU6pT&utm_medium=web&utm_source=airbnb&_branch_match_id=307510898795870823',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.airbnb.android&hl=en&referrer=bev%3D1472279725_4ITWKWGX6KrmU6pT%26utm_medium%3Dweb%26utm_source%3Dairbnb',
infoLink: 'https://www.youtube.com/watch?v=tUfgQtmG3R0',
infoTitle: 'Hybrid React Native Apps at Airbnb',
defaultLink: 'https://www.airbnb.com/mobile',
},
{
name: 'Baidu (手机百度)',
icon: 'http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png',
linkPlayStore: 'http://shouji.baidu.com/software/9896302.html',
linkAppStore: 'https://itunes.apple.com/en/app/shou-ji-bai-du-hai-liang-xin/id382201985?l=en&mt=8',
infoLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K',
infoTitle: 'Baidu is a search engine that has 600 million users.',
defaultLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K',
},
{
name: 'Discord',
icon: 'http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8',
infoLink: 'https://discord.engineering/react-native-deep-dive-91fd5e949933#.5jnqftgof',
infoTitle: 'Using React Native: One Year Later',
defaultLink: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8',
},
{
name: 'Gyroscope',
icon: 'https://media.gyrosco.pe/images/magneto/180x180.png',
linkAppStore: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8',
infoLink: 'https://blog.gyrosco.pe/building-the-app-1dac1a97d253',
infoTitle: 'Building a visualization experience with React Native',
defaultLink: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8',
},
{
name: 'li.st',
icon: 'https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300',
linkPlayStore: 'https://play.google.com/store/apps/details?id=st.li.listapp',
infoLink: 'https://www.youtube.com/watch?v=cI9bDvDEsYE',
infoTitle: 'Building li.st for Android with React Native',
defaultLink: 'https://play.google.com/store/apps/details?id=st.li.listapp',
},
{
name: 'QQ',
icon: 'http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96',
linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq',
infoLink: 'https://en.wikipedia.org/wiki/Tencent_QQ',
infoTitle: 'QQ is a Chinese messaging service with 829 million active accounts',
defaultLink: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq',
},
{
name: 'Townske',
icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png',
linkAppStore: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8',
infoLink: 'https://hackernoon.com/townske-app-in-react-native-6ad557de7a7c',
infoTitle: '"I would recommend React Native in a heartbeat."',
defaultLink: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8',
},
{
name: 'Vogue',
icon: 'http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg',
linkAppStore: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8',
infoLink: 'http://www.vogue.com/app',
infoTitle: '',
defaultLink: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8',
},
{
name: 'Walmart',
icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg',
linkAppStore: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8',
linkPlayStore: 'https://play.google.com/store/apps/details?id=com.walmart.android&hl=en',
infoLink: ' https://medium.com/walmartlabs/react-native-at-walmartlabs-cdd140589560#.ueonqqloc',
infoTitle: 'React Native at Walmart Labs',
defaultLink: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8',
},
];
featured.sort(function(a, b) {
const featuredApps = showcaseApps.filter(app => {
return !app.pinned;
}).sort(function(a, b) {
return a.name.localeCompare(b.name);
});
var apps = pinned.concat(featured);
const apps = pinnedApps.concat(featuredApps);
var AppIcon = React.createClass({
render: function() {
return <img src={this.props.icon} alt={this.props.appName} />;
}
});
var AppList = React.createClass({
@ -512,53 +83,34 @@ var AppList = React.createClass({
},
_renderApp: function(app, i) {
var inner = (
<div>
{this._renderIcon(app)}
{this._renderTitle(app)}
{this._renderLinks(app)}
{this._renderInfo(app)}
</div>
);
if (app.linkAppStore && app.linkPlayStore) {
return (<div className="showcase" key={i}>{inner}</div>);
}
return (
<div className="showcase" key={i}>
{inner}
<div>
{this._renderAppIcon(app)}
{this._renderAppName(app)}
{this._renderLinks(app)}
{this._renderInfo(app)}
</div>
</div>
);
},
_renderIcon: function(app) {
var icon = (
<img src={app.icon} alt={app.name} />
);
return (
{icon}
);
_renderAppIcon: function(app) {
return <img src={app.icon} alt={app.name} />;
},
_renderTitle: function(app) {
var title = (
<h3>{app.name}</h3>
);
return (
{title}
);
_renderAppName: function(app) {
return <h3>{app.name}</h3>;
},
_renderInfo: function(app) {
if (!app.infoLink) {
return;
let info = null;
if (app.infoLink) {
info = <p><a href={app.infoLink} target="_blank">{app.infoTitle}</a></p>;
}
return (
<p><a href={app.infoLink} target="_blank">{app.infoTitle}</a></p>
{info}
);
},